> ## Documentation Index
> Fetch the complete documentation index at: https://developer.box.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ask、text_gen、extract、extract_structuredの各モードについて、現在のデフォルトのエージェント構成を取得します。

# AIエージェントのデフォルト構成を取得する

export const MultiRelatedLinks = ({sections = []}) => {
  if (!sections || sections.length === 0) {
    return null;
  }
  return <div className="space-y-8">
      {sections.map((section, index) => <RelatedLinks key={index} title={section.title} items={section.items} />)}
    </div>;
};

export const RelatedLinks = ({title, items = []}) => {
  const getBadgeClass = badge => {
    if (!badge) return "badge-default";
    const badgeType = badge.toLowerCase().replace(/\s+/g, "-");
    return `badge-${badge === "ガイド" ? "guide" : badgeType}`;
  };
  if (!items || items.length === 0) {
    return null;
  }
  return <div className="my-8">
      {}
      <h3 className="text-sm font-bold uppercase tracking-wider mb-4">{title}</h3>

      {}
      <div className="flex flex-col gap-3">
        {items.map((item, index) => <a key={index} href={item.href} className="py-2 px-3 rounded related_link hover:bg-[#f2f2f2] dark:hover:bg-[#111827] flex items-center gap-3 group no-underline hover:no-underline border-b-0">
            {}
            <span className={`px-2 py-1 rounded-full text-xs font-semibold uppercase tracking-wide flex-shrink-0 ${getBadgeClass(item.badge)}`}>
              {item.badge}
            </span>

            {}
            <span className="text-base">{item.label}</span>
          </a>)}
      </div>
    </div>;
};

export const Link = ({href, children, className, ...props}) => {
  const localizedHref = localizeLink(href);
  return <a href={localizedHref} className={className} {...props}>
      {children}
    </a>;
};

`GET /2.0/ai_agent_default`エンドポイントを使用すると、AIサービスのデフォルト構成を取得できます。構成の詳細を取得したら、<Link href="/guides/box-ai/ai-agents/ai-agent-overrides">`ai_agent`</Link>パラメータを使用して構成を上書きできます。

## リクエストの送信

リクエストを送信するには、`GET /2.0/ai_agent_default`エンドポイントを使用します。

アプリを承認するための開発者トークンを生成済みであることを確認します。詳細については、<Link href="/guides/box-ai/ai-tutorials/prerequisites">Box AIの使い方</Link>を参照してください。

<CodeGroup>
  ```sh cURL theme={null}
  curl -L GET "https://api.box.com/2.0/ai_agent_default?mode=text_gen" \
       -H 'Authorization: Bearer <ACCESS_TOKEN>'
  ```

  ```typescript Node/TypeScript v10 theme={null}
  await client.ai.getAiAgentDefaultConfig({
    mode: 'ask' as GetAiAgentDefaultConfigQueryParamsModeField,
    language: 'en-US',
  } satisfies GetAiAgentDefaultConfigQueryParams);
  ```

  ```python Python v10 theme={null}
  client.ai.get_ai_agent_default_config(GetAiAgentDefaultConfigMode.ASK, language="en-US")
  ```

  ```cs .NET v10 theme={null}
  await client.Ai.GetAiAgentDefaultConfigAsync(queryParams: new GetAiAgentDefaultConfigQueryParams(mode: GetAiAgentDefaultConfigQueryParamsModeField.Ask) { Language = "en-US" });
  ```

  ```swift Swift v10 theme={null}
  try await client.ai.getAiAgentDefaultConfig(queryParams: GetAiAgentDefaultConfigQueryParams(mode: GetAiAgentDefaultConfigQueryParamsModeField.ask, language: "en-US"))
  ```

  ```java Java v10 theme={null}
  client.getAi().getAiAgentDefaultConfig(new GetAiAgentDefaultConfigQueryParams.Builder(GetAiAgentDefaultConfigQueryParamsModeField.ASK).language("en-US").build())
  ```

  ```java Java v5 theme={null}
  BoxAIAgentConfig config = BoxAI.getAiAgentDefaultConfig(
      api,
      BoxAIAgent.Mode.ASK,
      "en",
      "openai__gpt_3_5_turbo"
  );
  ```

  ```python Python v4 theme={null}
  config = client.get_ai_agent_default_config(
      mode='text_gen',
      language='en',
      model='openai__gpt_3_5_turbo'
  )
  print(config)
  ```

  ```javascript Node v4 theme={null}
  client.ai.getAiAgentDefaultConfig({
      mode: 'ask',
      language: 'en',
      model:'openai__gpt_3_5_turbo'
  }).then(response => {
      /* response -> {
          "type": "ai_agent_ask",
          "basic_text": {
              "llm_endpoint_params": {
              "type": "openai_params",
              "frequency_penalty": 1.5,
              "presence_penalty": 1.5,
              "stop": "<|im_end|>",
              "temperature": 0,
              "top_p": 1
              },
              "model": "openai__gpt_3_5_turbo",
              "num_tokens_for_completion": 8400,
              "prompt_template": "It is `{current_date}`, and I have $8000 and want to spend a week in the Azores. What should I see?",
              "system_message": "You are a helpful travel assistant specialized in budget travel"
          },
          ...
      } */
  });
  ```
</CodeGroup>

### パラメータ

コールを実行するには、以下のパラメータを渡す必要があります。必須のパラメータは**太字**で示されています。

| パラメータ      | 説明                                                                                                        | 例                    |
| ---------- | --------------------------------------------------------------------------------------------------------- | -------------------- |
| `language` | 返されるエージェントの構成の言語コード。その言語がサポートされていない場合は、デフォルト構成が返されます。                                                     | `ja-JP`              |
| **`mode`** | エージェントの構成にフィルタをかけるためのモード。値は、取得したい結果に応じて、`ask`、`text_gen`、`extract`、または`extract_structured`にします。           | `ask`                |
| `model`    | 構成を取得する対象となるモデル。選択したモデルがサポートされていることを確認するには、<Link href="/guides/box-ai/ai-models">モデルのリスト</Link>を参照してください。 | `openai__gpt_5_mini` |

## レスポンス

コールに対するレスポンスは、選択した`mode`パラメータ値によって異なる場合があります。

<Tabs>
  <Tab title="質問">
    `mode`パラメータを`ask`に設定すると、レスポンスは次のようになります。

    ```sh theme={null}
    {
         "type": "ai_agent_ask",
         "basic_text": {
              "model": "openai__gpt_5_mini",
              "system_message": "",
              "prompt_template": "prompt_template": "{user_question}Write it in an informal way.{content}"
            },
              "num_tokens_for_completion": 6000,
              "llm_endpoint_params": {
                   "temperature": 0,
                   "top_p": 1,
                   "frequency_penalty": 0,
                   "presence_penalty": 1.5,
                   "stop": "<|im_end|>",
                   "type": "openai_params"
              }
         },
         "long_text": {
              "model": "openai__gpt_5_mini",
              "system_message": "",
              "prompt_template": "prompt_template": "{user_question}Write it in an informal way.{content}"
            },
              "num_tokens_for_completion": 6000,
              "llm_endpoint_params": {
                   "temperature": 0,
                   "top_p": 1,
                   "frequency_penalty": 0,
                   "presence_penalty": 1.5,
                   "stop": "<|im_end|>",
                   "type": "openai_params"
              },
              "embeddings": {
                   "model": "azure__openai__text_embedding_ada_002",
                   "strategy": {
                        "id": "basic",
                        "num_tokens_per_chunk": 64
                   }
              }
         },
         "basic_text_multi": {
              "model": "openai__gpt_5_mini",
              "system_message": "",
              "prompt_template": "Current date: {current_date}\n\nTEXT FROM DOCUMENTS STARTS\n{content}\nTEXT FROM DOCUMENTS ENDS\n\nHere is how I need help from you: {user_question}\n.",
              "num_tokens_for_completion": 6000,
              "llm_endpoint_params": {
                   "temperature": 0,
                   "top_p": 1,
                   "frequency_penalty": 0,
                   "presence_penalty": 1.5,
                   "stop": "<|im_end|>",
                   "type": "openai_params"
              }
         },
         "long_text_multi": {
              "model": "openai__gpt_5_mini",
              "system_message": "Role and Goal: You are an assistant designed to analyze and answer a question based on provided snippets from multiple documents, which can include business-oriented documents like docs, presentations, PDFs, etc. The assistant will respond concisely, using only the information from the provided documents.\n\nConstraints: The assistant should avoid engaging in chatty or extensive conversational interactions and focus on providing direct answers. It should also avoid making assumptions or inferences not supported by the provided document snippets.\n\nGuidelines: When answering, the assistant should consider the file's name and path to assess relevance to the question. In cases of conflicting information from multiple documents, it should list the different answers with citations. For summarization or comparison tasks, it should concisely answer with the key points. It should also consider the current date to be the date given.\n\nPersonalization: The assistant's tone should be formal and to-the-point, suitable for handling business-related documents and queries.\n",
              "prompt_template": "Current date: {current_date}\n\nTEXT FROM DOCUMENTS STARTS\n{content}\nTEXT FROM DOCUMENTS ENDS\n\nHere is how I need help from you: {user_question}\n.",
              "num_tokens_for_completion": 6000,
              "llm_endpoint_params": {
                   "temperature": 0,
                   "top_p": 1,
                   "frequency_penalty": 0,
                   "presence_penalty": 1.5,
                   "stop": "<|im_end|>",
                   "type": "openai_params"
              },
              "embeddings": {
                   "model": "azure__openai__text_embedding_ada_002",
                   "strategy": {
                        "id": "basic",
                        "num_tokens_per_chunk": 64
                   }
              }
         }
    }
    ```
  </Tab>

  <Tab title="テキスト生成">
    `mode`パラメータを`text_gen`に設定すると、レスポンスは次のようになります。

    ``````sh theme={null}
    {
         "type": "ai_agent_text_gen",
         "basic_gen": {
              "model": "openai__gpt_5_mini",
              "system_message": "\nIf you need to know today's date to respond, it is {current_date}.\nThe user is working in a collaborative document creation editor called Box Notes.\nAssume that you are helping a business user create documents or to help the user revise existing text.\nYou can help the user in creating templates to be reused or update existing documents, you can respond with text that the user can use to place in the document that the user is editing.\nIf the user simply asks to \"improve\" the text, then simplify the language and remove jargon, unless the user specifies otherwise.\nDo not open with a preamble to the response, just respond.\n",
              "prompt_template": "{user_question}",
              "num_tokens_for_completion": 12000,
              "llm_endpoint_params": {
                   "temperature": 0.1,
                   "top_p": 1,
                   "frequency_penalty": 0.75,
                   "presence_penalty": 0.75,
                   "stop": "<|im_end|>",
                   "type": "openai_params"
              },
              "embeddings": {
                   "model": "azure__openai__text_embedding_ada_002",
                   "strategy": {
                        "id": "basic",
                        "num_tokens_per_chunk": 64
                   }
              },
              "content_template": "`````{content}`````"
         }
    }
    ``````
  </Tab>

  <Tab title="抽出">
    `mode`パラメータを`extract`に設定すると、レスポンスは次のようになります。

    `````sh theme={null}
    {
         "type": "ai_agent_extract",
         "basic_text": {
              "model": "google__gemini_1_5_flash_001",
              "system_message": "Respond only in valid json. You are extracting metadata that is name, value pairs from a document. Only output the metadata in valid json form, as {\"name1\":\"value1\",\"name2\":\"value2\"} and nothing else. You will be given the document data and the schema for the metadata, that defines the name, description and type of each of the fields you will be extracting. Schema is of the form {\"fields\": [{\"key\": \"key_name\", \"displayName\": \"key display name\", \"type\": \"string\", \"description\": \"key description\"}]}. Leverage key description and key display name to identify where the key and value pairs are in the document. In certain cases, key description can also indicate the instructions to perform on the document to obtain the value. Prompt will be in the form of Schema is ``schema`` \n document is ````document````",
              "prompt_template": "If you need to know today's date to respond, it is {current_date}. Schema is ``{user_question}`` \n document is ````{content}````",
              "num_tokens_for_completion": 4096,
              "llm_endpoint_params": {
                   "temperature": 0,
                   "top_p": 1,
                   "top_k": null,
                   "type": "google_params"
              }
         },
         "long_text": {
              "model": "google__gemini_1_5_flash_001",
              "system_message": "Respond only in valid json. You are extracting metadata that is name, value pairs from a document. Only output the metadata in valid json form, as {\"name1\":\"value1\",\"name2\":\"value2\"} and nothing else. You will be given the document data and the schema for the metadata, that defines the name, description and type of each of the fields you will be extracting. Schema is of the form {\"fields\": [{\"key\": \"key_name\", \"displayName\": \"key display name\", \"type\": \"string\", \"description\": \"key description\"}]}. Leverage key description and key display name to identify where the key and value pairs are in the document. In certain cases, key description can also indicate the instructions to perform on the document to obtain the value. Prompt will be in the form of Schema is ``schema`` \n document is ````document````",
              "prompt_template": "If you need to know today's date to respond, it is {current_date}. Schema is ``{user_question}`` \n document is ````{content}````",
              "num_tokens_for_completion": 4096,
              "llm_endpoint_params": {
                   "temperature": 0,
                   "top_p": 1,
                   "top_k": null,
                   "type": "google_params"
              },
              "embeddings": {
                   "model": "azure__openai__text_embedding_ada_002",
                   "strategy": {
                        "id": "basic",
                        "num_tokens_per_chunk": 64
                   }
              }
         }
    }
    `````
  </Tab>

  <Tab title="抽出 (構造化)">
    `mode`パラメータを`extract_structured`に設定すると、レスポンスは次のようになります。

    `````sh theme={null}
    {
         "type": "ai_agent_extract_structured",
         "basic_text": {
              "model": "google__gemini_1_5_flash_001",
              "system_message": "Respond only in valid json. You are extracting metadata that is name, value pairs from a document. Only output the metadata in valid json form, as {\"name1\":\"value1\",\"name2\":\"value2\"} and nothing else. You will be given the document data and the schema for the metadata, that defines the name, description and type of each of the fields you will be extracting. Schema is of the form {\"fields\": [{\"key\": \"key_name\", \"prompt\": \"prompt to extract the value\", \"type\": \"date\"}]}. Leverage prompt for each key to identify where the key and value pairs are in the document. In certain cases, prompt can also indicate the instructions to perform on the document to obtain the value. Prompt will be in the form of Schema is ``schema`` \n document is ````document````",
              "prompt_template": "If you need to know today's date to respond, it is {current_date}. Schema is ``{user_question}`` \n document is ````{content}````",
              "num_tokens_for_completion": 4096,
              "llm_endpoint_params": {
                   "temperature": 0,
                   "top_p": 1,
                   "top_k": null,
                   "type": "google_params"
              }
           },
         "long_text": {
              "model": "google__gemini_1_5_flash_001",
              "system_message": "Respond only in valid json. You are extracting metadata that is name, value pairs from a document. Only output the metadata in valid json form, as {\"name1\":\"value1\",\"name2\":\"value2\"} and nothing else. You will be given the document data and the schema for the metadata, that defines the name, description and type of each of the fields you will be extracting. Schema is of the form {\"fields\": [{\"key\": \"key_name\", \"prompt\": \"prompt to extract the value\", \"type\": \"date\"}]}. Leverage prompt for each key to identify where the key and value pairs are in the document. In certain cases, prompt can also indicate the instructions to perform on the document to obtain the value. Prompt will be in the form of Schema is ``schema`` \n document is ````document````",
              "prompt_template": "If you need to know today's date to respond, it is {current_date}. Schema is ``{user_question}`` \n document is ````{content}````",
              "num_tokens_for_completion": 4096,
              "llm_endpoint_params": {
                   "temperature": 0,
                   "top_p": 1,
                   "top_k": null,
                   "type": "google_params"
                 },
              "embeddings": {
                   "model": "google__textembedding_gecko_003",
                   "strategy": {
                        "id": "basic",
                        "num_tokens_per_chunk": 64
                   }
              }
         }
    }
    `````
  </Tab>
</Tabs>

[override-tutorials]: /guides/box-ai/ai-agents/ai-agent-overrides

<RelatedLinks
  title="関連するAPI"
  items={[
{ label: translate("Get AI agent default configuration"), href: "/reference/get-ai-agent-default", badge: "GET" },
{ label: translate("Generate text"), href: "/reference/post-ai-text-gen", badge: "POST" },
{ label: translate("Ask question"), href: "/reference/post-ai-ask", badge: "POST" }
]}
/>

<RelatedLinks
  title="関連するガイド"
  items={[
{ label: translate("Get started with Box AI"), href: "/guides/box-ai/ai-tutorials/prerequisites", badge: "GUIDE" },
{ label: translate("Ask questions to Box AI"), href: "/guides/box-ai/ai-tutorials/ask-questions", badge: "GUIDE" },
{ label: translate("Generate text with Box AI"), href: "/guides/box-ai/ai-tutorials/generate-text", badge: "GUIDE" },
{ label: translate("Extract metadata from file (freeform)"), href: "/guides/box-ai/ai-tutorials/extract-metadata", badge: "GUIDE" },
{ label: translate("Extract metadata from file (structured)"), href: "/guides/box-ai/ai-tutorials/extract-metadata-structured", badge: "GUIDE" }
]}
/>
