# コードでのLLMプロバイダーの設定

> コードでのLLMプロバイダーの設定 - DataRobot Gateway、外部API、カスタムデプロイなど、エージェントワークフローのためのさまざまなLLMプロバイダーの設定方法を学びます。

This Markdown file sits beside the HTML page at the same path (with a `.md` suffix). It summarizes the topic and lists links for tools and LLM context.

Companion generated at `2026-07-15T05:55:44.564489+00:00` (UTC).

## Primary page

- [コードでのLLMプロバイダーの設定](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-llm-providers.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [DataRobot LLM Gateway](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-llm-providers.html.md#datarobot-llm-gateway): In-page section heading.
- [DataRobotがホストするLLMデプロイ](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-llm-providers.html.md#datarobot-hosted-llm-deployments): In-page section heading.
- [DataRobotのNIMデプロイ](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-llm-providers.html.md#datarobot-nim-deployments): In-page section heading.
- [OpenAI APIの設定](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-llm-providers.html.md#openai-api-configuration): In-page section heading.
- [Anthropic APIの設定](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-llm-providers.html.md#anthropic-api-configuration): In-page section heading.
- [Gemini APIの設定](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-llm-providers.html.md#gemini-api-configuration): In-page section heading.
- [他のプロバイダーに接続する](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-llm-providers.html.md#connect-to-other-providers): In-page section heading.
- [フレームワークのドキュメントを参照する](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-llm-providers.html.md#framework-documentation): In-page section heading.
- [あらゆる接続にLiteLLMを利用する](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-llm-providers.html.md#use-litellm-for-universal-connectivity): In-page section heading.

## Documentation content

LLMエージェントの重要な構成要素のひとつは、基盤となるLLMプロバイダーです。 DataRobotでは、ユーザーがエージェントワークフローのために、事実上あらゆるLLMバックエンドに接続できます。 LLM接続は、DataRobot LLM GatewayまたはDataRobotデプロイ（NIMデプロイを含む）を使用することで簡素化できます。 あるいは、OpenAI API標準をサポートする外部のLLMプロバイダーに接続することもできます。

DataRobotのエージェントテンプレートには、エージェントLLMを定義するための方法が複数用意されています。

- エージェントLLMとして DataRobot LLM Gateway を使用し、Gatewayで利用可能な任意のモデルを使用できます。
- デプロイIDを指定することで、DataRobot APIを使用して以前にデプロイされたカスタムモデルまたはNIMを使用するように接続します。
- 必要なAPI資格情報を提供することで、LLMプロバイダーのAPI（OpenAI、Anthropic、Geminiなど）に直接接続し、互換性のあるAPIをサポートするプロバイダーにアクセスできるようにします。

このドキュメントでは、 `myagent.py` ファイルにLLMインスタンスを直接手動で作成することによって、LLMプロバイダーを設定する方法について説明します。 このアプローチは、LLMの初期化をきめ細かくコントロールすることができ、以下のフレームワーク別の例で示されています。

> [!NOTE] 別の設定方法
> 環境変数とPulumi（インフラストラクチャレベルの設定）を使ってLLMプロバイダーを設定したい場合は、 [メタデータを使ってLLMプロバイダーを設定する](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-llm-providers-metadata.html.md) を参照してください。

以下のセクションでは、CrewAI、LangGraph、LlamaIndex、およびNAT（NVIDIA NeMo Agent Toolkit）フレームワークを使用してさまざまなLLMプロバイダーに接続するためのコードスニペットの例を紹介します。 これらのスニペットを出発点として使用し、特定のユースケースに合うように必要に応じて修正することができます。

## DataRobot LLM Gateway

LLM Gatewayは、DataRobot経由でプロキシされたLLMにアクセスする合理的な方法を提供します。 このGatewayは、クラウドとオンプレミスの両方のユーザーが利用できます。

以下の方法で、アカウントで利用可能なモデルのリストを取得できます。

**cURL:**
```
curl -X GET -H "Authorization: Bearer $DATAROBOT_API_TOKEN" "$DATAROBOT_ENDPOINT/genai/llmgw/catalog/" | jq '[.data[] | select(.isActive == true) | .model]' 
```

**Python SDK:**
```
from datarobot.models.genai import LLMGatewayCatalog
print("\n".join(LLMGatewayCatalog.get_available_models())) 
```


以下のコード例は、CrewAI、LangGraph、LlamaIndexフレームワークでDataRobot LLM Gatewayにプログラムで接続する方法を示しています。 これらのサンプルは、モデル、APIエンドポイント、認証の設定方法を示しています。

> [!NOTE] LLM Gatewayでのモデル形式
> DataRobot LLM Gatewayを使用する場合、モデル名の形式は `datarobot/<provider>/<model>` です（例： `datarobot/azure/gpt-5-mini-2025-08-07` ）。

**CrewAI:**
```
from crewai import LLM

def llm(self) -> LLM:
    """Returns a CrewAI LLM instance configured to use DataRobot's LLM gateway."""
    return LLM(
        model="datarobot/azure/gpt-5-mini-2025-08-07",  # Define the model name you want to use (format: datarobot/<provider>/<model>)
        # Note: The `/chat/completions` endpoint will be automatically appended by LiteLLM
        api_base="https://app.datarobot.com",  # DataRobot endpoint
        api_key=self.api_key,  # Your DataRobot API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**LangGraph:**
```
from langchain_community.chat_models import ChatLiteLLM

def llm(self) -> ChatLiteLLM:
    """Returns a ChatLiteLLM instance configured to use DataRobot's LLM gateway."""
    return ChatLiteLLM(
        model="datarobot/azure/gpt-5-mini-2025-08-07",  # Define the model name you want to use (format: datarobot/<provider>/<model>)
        # Note: The `/chat/completions` endpoint will be automatically appended by LiteLLM
        api_base="https://app.datarobot.com",  # DataRobot endpoint
        api_key=self.api_key,  # Your DataRobot API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**LlamaIndex:**
```
# DataRobotLiteLLM class is included in the `myagent.py` file

def llm(self) -> DataRobotLiteLLM:
    """Returns a DataRobotLiteLLM instance configured to use DataRobot's LLM gateway."""
    return DataRobotLiteLLM(
        model="datarobot/azure/gpt-5-mini-2025-08-07",  # Define the model name you want to use (format: datarobot/<provider>/<model>)
        # Note: The `/chat/completions` endpoint will be automatically appended by LiteLLM
        api_base="https://app.datarobot.com",  # DataRobot endpoint
        api_key=self.api_key,  # Your DataRobot API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**NAT:**
NATのテンプレートでは、LLMは `workflow.yaml` ファイルで設定されます。 DataRobot LLM Gatewayを使用するには、 `llms` セクションでLLMを定義します。

```
llms:
  datarobot_llm:
    _type: datarobot-llm-gateway
    model_name: azure/gpt-4o-mini  # Define the model name you want to use
    temperature: 0.0 
```

次に、特定のエージェントが使用するLLMを、 `functions` セクション内のそのエージェントの定義で `llm_name` によって定義します。

```
functions:
  planner:
    _type: chat_completion
    llm_name: datarobot_llm  # Reference the LLM defined below
    system_prompt: |
      You are a content planner... 
```

`llms` セクションに複数のLLMが定義されている場合、各 `functions` はタスクに合わせて異なるLLMを使用できます。

> [!TIP] NATが提供するLLMインターフェイス
> LLM Gatewayの代わりに、 [NATが提供するLLMインターフェイス](https://docs.nvidia.com/nemo/agent-toolkit/latest/workflows/llms/index.html) を利用することもできます。 NAT LLMインターフェイスを利用するには、 `api_key` や `url` などの必要な設定パラメーターやプロバイダー固有のその他の設定を `workflow.yaml` ファイルに直接追加します。


## DataRobotがホストするLLMデプロイ

エージェントのLLMプロバイダーとして、DataRobotがホストするLLMデプロイに簡単に接続できます。 そのためには、 [DataRobotのプレイグラウンドからLLMをデプロイする](https://docs.datarobot.com/ja/docs/agentic-ai/playground-tools/deploy-llm.html.md) か、 [Hugging FaceモデルをDataRobot上のLLMデプロイとしてホストする](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-workshop/nxt-open-source-textgen-template.html.md) 。 DataRobotがホストするLLMは、モデルを管理・運営するためのモデレーションやガードレールへのアクセスも提供できます。

デプロイされたカスタムモデルを使用するには、以下の例に従って、デプロイURLをエージェントコード内で `api_base=` パラメーターに対して直接手動で設定します。

> [!NOTE] デプロイID
> 以下の例では、 `DEPLOYMENT_ID` を実際のDataRobotデプロイIDに置き換える必要があります。このIDは、DataRobotプラットフォームから取得できます。

> [!TIP] モデル名の文字列構造
> DataRobotのデプロイでは、 [OpenAI互換のチャット補完エンドポイント](https://docs.litellm.ai/docs/providers/openai_compatible) を使用します。 そのため、 `model` の名前文字列は `openai/` で始まり、OpenAIクライアントを使用していることを示す必要があります。 `openai/` の後のモデル名文字列には、デプロイ内のモデルの名前を指定します。
> 
> プレイグラウンドからデプロイされたLLMの場合、
> model
> 文字列にはプロバイダー名とモデル名を含める必要があります。 以下の例では、完全なモデル名は
> azure/gpt-4o-mini
> であり、単に
> gpt-4o-mini
> ではなく、プロバイダーが含まれています。 これにより、最終的な値は
> model="openai/azure/gpt-4o-mini"
> になります。
> NIMモデルの場合、
> model
> 文字列は、NIMデプロイの
> 予測
> タブまたはNIMのドキュメントで確認できます。 NIMのデプロイは
> openai
> または
> meta_llama
> インターフェイスのどちらでも動作しますが、一貫性を保つために
> openai
> を使用することをお勧めします。

**CrewAI:**
```
from crewai import LLM

def llm(self) -> LLM:
    """Returns a CrewAI LLM instance configured to use a DataRobot Deployment."""
    return LLM(
        # Note: For DataRobot deployments, use the openai provider format
        model="openai/azure/gpt-4o-mini",  # Format: openai/<model-name>
        # Note: The `/chat/completions` endpoint will be automatically appended by LiteLLM
        api_base=f"https://app.datarobot.com/api/v2/deployments/{DEPLOYMENT_ID}/",  # Deployment URL
        api_key=self.api_key,  # Your DataRobot API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**LangGraph:**
```
from langchain_community.chat_models import ChatLiteLLM

def llm(self) -> ChatLiteLLM:
    """Returns a ChatLiteLLM instance configured to use a DataRobot Deployment."""
    return ChatLiteLLM(
        # Note: LangGraph uses datarobot provider format for deployments
        model="openai/azure/gpt-4o-mini",  # Format: openai/<model-name>
        # Note: The `/chat/completions` endpoint will be automatically appended by LiteLLM
        api_base=f"https://app.datarobot.com/api/v2/deployments/{DEPLOYMENT_ID}/",  # Deployment URL
        api_key=self.api_key,  # Your DataRobot API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**LlamaIndex:**
```
# DataRobotLiteLLM class is included in the `myagent.py` file

def llm(self) -> DataRobotLiteLLM:
    """Returns a DataRobotLiteLLM instance configured to use a DataRobot Deployment."""
    return DataRobotLiteLLM(
        # Note: For DataRobot deployments, use the openai provider format
        model="openai/azure/gpt-4o-mini",  # Format: openai/<model-name>
        # Note: The `/chat/completions` endpoint will be automatically appended by LiteLLM
        api_base=f"https://app.datarobot.com/api/v2/deployments/{DEPLOYMENT_ID}/",  # Deployment URL
        api_key=self.api_key,  # Your DataRobot API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**NAT:**
NATのテンプレートでは、LLMは `workflow.yaml` ファイルで設定されます。 DataRobotがホストするLLMデプロイを使用するには、 `llms` セクションでLLMを定義します。

```
llms:
  datarobot_deployment:
    _type: datarobot-llm-deployment
    model_name: datarobot-deployed-llm  # Optional: Define the model name to pass through to the deployment
    temperature: 0.0 
```

デプロイIDは、 `LLM_DEPLOYMENT_ID` 環境変数またはランタイムパラメーターから自動的に取得されます。

When you use the DataRobot Deployed LLM option, `USE_DATAROBOT_LLM_GATEWAY` is automatically set to `0` so inference uses your deployment rather than the LLM gateway.

このデプロイを使用するには、 `functions` セクション内のエージェント定義の `llm_name` を使用して、特定のエージェントが使用するLLMを定義します。

```
functions:
  planner:
    _type: chat_completion
    llm_name: datarobot_deployment  # Reference the LLM defined above
    system_prompt: |
      You are a content planner... 
```

`llms` セクションに複数のLLMが定義されている場合、各 `functions` はタスクに合わせて異なるLLMを使用できます。

> [!TIP] NATが提供するLLMインターフェイス
> LLM Gatewayの代わりに、 [NATが提供するLLMインターフェイス](https://docs.nvidia.com/nemo/agent-toolkit/latest/workflows/llms/index.html) を利用することもできます。 NAT LLMインターフェイスを利用するには、 `api_key` や `url` などの必要な設定パラメーターやプロバイダー固有のその他の設定を `workflow.yaml` ファイルに直接追加します。


## DataRobotのNIMデプロイ

このテンプレートは、NIMデプロイをLLMプロバイダーとして使用することをサポートしています。これにより、DataRobotでホストされている任意のNIMデプロイをエージェントのLLMプロバイダーとして使用できます。 NIMデプロイでLiteLLMを使用する場合は、 `openai` プロバイダーインターフェイスを使用します。 モデル名は具体的なデプロイによって異なり、DataRobotのデプロイの 予測 タブで確認できます。 たとえば、デプロイが `meta/llama-3.2-1b-instruct` という名前のモデルを使用する場合、モデルの文字列には `openai/meta/llama-3.2-1b-instruct` を使用します。 これにより、LiteLLMは `openai` APIアダプターとモデル名 `meta/llama-3.2-1b-instruct` を使用するよう指示されます。

新しいNIMデプロイを作成するには、 [DataRobot NIMドキュメント](https://docs.datarobot.com/ja/docs/agentic-ai/genai-integrations/genai-nvidia-integration.html.md) の指示に従います。

> [!NOTE] デプロイID
> 以下の例では、 `DEPLOYMENT_ID` を実際のDataRobotデプロイIDに置き換える必要があります。このIDは、DataRobotプラットフォームから取得できます。

> [!TIP] モデル名の文字列構造
> DataRobotのデプロイでは、 [OpenAI互換のチャット補完エンドポイント](https://docs.litellm.ai/docs/providers/openai_compatible) を使用します。 そのため、 `model` の名前文字列は `openai/` で始まり、OpenAIクライアントを使用していることを示す必要があります。 `openai/` の後のモデル名文字列には、デプロイ内のモデルの名前を指定します。
> 
> プレイグラウンドからデプロイされたLLMの場合、
> model
> 文字列にはプロバイダー名とモデル名を含める必要があります。 以下の例では、完全なモデル名は
> azure/gpt-4o-mini
> であり、単に
> gpt-4o-mini
> ではなく、プロバイダーが含まれています。 これにより、最終的な値は
> model="openai/azure/gpt-4o-mini"
> になります。
> NIMモデルの場合、
> model
> 文字列は、NIMデプロイの
> 予測
> タブまたはNIMのドキュメントで確認できます。 NIMのデプロイは
> openai
> または
> meta_llama
> インターフェイスのどちらでも動作しますが、一貫性を保つために
> openai
> を使用することをお勧めします。

**CrewAI:**
```
from crewai import LLM

def llm(self) -> LLM:
    """Returns a CrewAI LLM instance configured to use a NIM deployed on DataRobot."""
    return LLM(
        # Use the openai provider with the model name from your deployment's Predictions tab
        model="openai/meta/llama-3.2-1b-instruct",  # Format: openai/<model-name-from-deployment>
        api_base=f"https://app.datarobot.com/api/v2/deployments/{DEPLOYMENT_ID}",  # NIM Deployment URL
        api_key=self.api_key,  # Your DataRobot API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**LangGraph:**
```
from langchain_openai import ChatOpenAI

def llm(self) -> ChatOpenAI:
    """Returns a ChatOpenAI instance configured to use a NIM deployed on DataRobot."""
    return ChatOpenAI(
        # Use the model name from your deployment's Predictions tab
        model="meta/llama-3.2-1b-instruct",  # Model name from deployment's Predictions tab
        api_base=f"https://app.datarobot.com/api/v2/deployments/{DEPLOYMENT_ID}",  # NIM deployment URL
        api_key=self.api_key,  # Your DataRobot API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**LlamaIndex:**
```
from llama_index.llms.openai_like import OpenAILike

def llm(self) -> OpenAILike:
    """Returns an OpenAILike instance configured to use a NIM deployed on DataRobot."""
    return OpenAILike(
        # Use the model name from your deployment's Predictions tab
        model="meta/llama-3.2-1b-instruct",  # Model name from the deployment's Predictions tab
        api_base=f"https://app.datarobot.com/api/v2/deployments/{DEPLOYMENT_ID}/v1",  # NIM deployment URL with /v1 endpoint
        api_key=self.api_key,  # Your DataRobot API key
        timeout=self.timeout,  # Optional timeout for requests
        is_chat_model=True,  # Enable chat model mode for NIM endpoints
    ) 
```

**NAT:**
NATのテンプレートでは、LLMは `workflow.yaml` ファイルで設定されます。 DataRobotのNIMデプロイを使用するには、 `llms` セクションでLLMを定義します。

```
llms:
  datarobot_nim:
    _type: datarobot-nim
    model_name: meta/llama-3.2-1b-instruct  # Optional: Define the model name to pass through to the deployment
    temperature: 0.0 
```

デプロイIDは、 `NIM_DEPLOYMENT_ID` 環境変数またはランタイムパラメーターから自動的に取得されます。

このデプロイを使用するには、 `functions` セクション内のエージェント定義の `llm_name` を使用して、特定のエージェントが使用するLLMを定義します。

```
functions:
  planner:
    _type: chat_completion
    llm_name: datarobot_nim  # Reference the LLM defined above
    system_prompt: |
      You are a content planner... 
```

`llms` セクションに複数のLLMが定義されている場合、各 `functions` はタスクに合わせて異なるLLMを使用できます。

> [!TIP] NATが提供するLLMインターフェイス
> LLM Gatewayの代わりに、 [NATが提供するLLMインターフェイス](https://docs.nvidia.com/nemo/agent-toolkit/latest/workflows/llms/index.html) を利用することもできます。 NAT LLMインターフェイスを利用するには、 `api_key` や `url` などの必要な設定パラメーターやプロバイダー固有のその他の設定を `workflow.yaml` ファイルに直接追加します。


## OpenAI APIの設定

OpenAI自体など、OpenAI API標準をサポートする外部LLMプロバイダーを利用することが必要になる場合があります。 このテンプレートは、OpenAI互換のLLMプロバイダーへの接続をサポートしています。 CrewAIとLangGraphフレームワークを使ってOpenAIに直接接続する例を示します。

**CrewAI:**
```
from crewai import LLM

def llm(self) -> LLM:
    """Returns a CrewAI LLM instance configured to use OpenAI."""
    return LLM(
        model="gpt-4o-mini", # Define the OpenAI model name
        api_key="YOUR_OPENAI_API_KEY", # Your OpenAI API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**LangGraph:**
```
from langchain_openai import ChatOpenAI

def llm(self) -> ChatOpenAI:
    """Returns a ChatOpenAI instance configured to use OpenAI."""
    return ChatOpenAI(
        model="gpt-4o-mini", # Define the OpenAI model name
        api_key="YOUR_OPENAI_API_KEY", # Your OpenAI API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**LlamaIndex:**
```
from llama_index.llms.openai import OpenAI

def llm(self) -> OpenAI:
    """Returns an OpenAI instance configured to use OpenAI."""
    return OpenAI(
        model="gpt-4o-mini", # Define the OpenAI model name
        api_key="YOUR_OPENAI_API_KEY", # Your OpenAI API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```


## Anthropic APIの設定

Anthropic APIを使ってAnthropicのクロードモデルに接続することができます。 このテンプレートは、CrewAIとLangGraphの両方のフレームワークを介してAnthropicモデルとの接続をサポートしています。 これらのモデルを使用するには、Anthropic APIキーが必要です。

**CrewAI:**
```
from crewai import LLM

def llm(self) -> LLM:
    """Returns a CrewAI LLM instance configured to use Anthropic."""
    return LLM(
        model="claude-3-5-sonnet-20241022", # Define the Anthropic model name
        api_key="YOUR_ANTHROPIC_API_KEY", # Your Anthropic API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**LangGraph:**
```
from langchain_anthropic import ChatAnthropic

def llm(self) -> ChatAnthropic:
    """Returns a ChatAnthropic instance configured to use Anthropic."""
    return ChatAnthropic(
        model="claude-3-5-sonnet-20241022", # Define the Anthropic model name
        anthropic_api_key="YOUR_ANTHROPIC_API_KEY", # Your Anthropic API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**LlamaIndex:**
```
from llama_index.llms.anthropic import Anthropic

def llm(self) -> Anthropic:
    """Returns an Anthropic instance configured to use Anthropic."""
    return Anthropic(
        model="claude-3-5-sonnet-20241022", # Define the Anthropic model name
        api_key="YOUR_ANTHROPIC_API_KEY", # Your Anthropic API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```


## Gemini APIの設定

また、Gemini APIを使ってGoogleのGeminiモデルに接続することもできます。 このテンプレートは、CrewAIとLangGraphの両方のフレームワークを介したGeminiモデルへの接続をサポートしています。 これらのモデルを使用するには、Google AI APIキーが必要です。

**CrewAI:**
```
from crewai import LLM

def llm(self) -> LLM:
    """Returns a CrewAI LLM instance configured to use Gemini."""
    return LLM(
        model="gemini/gemini-1.5-flash", # Define the Gemini model name
        api_key="YOUR_GEMINI_API_KEY", # Your Google AI API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**LangGraph:**
```
from langchain_google_genai import ChatGoogleGenerativeAI

def llm(self) -> ChatGoogleGenerativeAI:
    """Returns a ChatGoogleGenerativeAI instance configured to use Gemini."""
    return ChatGoogleGenerativeAI(
        model="gemini-1.5-flash", # Define the Gemini model name
        google_api_key="YOUR_GEMINI_API_KEY", # Your Google AI API key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```

**LlamaIndex:**
```
from llama_index.llms.gemini import Gemini

def llm(self) -> Gemini:
    """Returns a Gemini instance configured to use Google's Gemini."""
    return Gemini(
        model="gemini-1.5-flash", # Define the Gemini model name
        api_key="YOUR_GEMINI_API_KEY", # Your Google AI api key
        timeout=self.timeout,  # Optional timeout for requests
    ) 
```


## 他のプロバイダーに接続する

上記の例で示したパターンに従えば、OpenAI API標準をサポートする他のどのLLMプロバイダーにも接続できます。 OpenAI APIフォーマットをネイティブにサポートしていないプロバイダーには、接続の橋渡しをするためのいくつかのオプションがあります。

### フレームワークのドキュメントを参照する

各フレームワークは、さまざまなLLMプロバイダーに接続するための包括的なドキュメントを提供します。

- CrewAI ：各プロバイダーへの接続の詳細な例については、 CrewAI LLMドキュメント を参照してください。
- LangGraph ：LangChain LLM integrations](https://python.langchain.com/docs/integrations/llms/){ target=_blank }をチェックして、広範なプロバイダーをサポートしてください。
- LlamaIndex ：各LLM連携については LlamaIndex LLMモジュール を参照してください。
- NAT ：workflow.yamlでのLLMの設定については、 NVIDIA NeMo Agent Toolkitのドキュメント を参照してください。

### あらゆる接続にLiteLLMを利用する

[LiteLLM](https://docs.litellm.ai/) は、100以上のLLMプロバイダーに接続するための統一インターフェイスを提供するライブラリです。 各プロバイダー固有のAPIフォーマットに合わせてリクエストを変換し、以下のようなプロバイダーへの接続を容易にします。

- Azure OpenAI
- AWS Bedrock
- Google Gemini Enterprise Agent Platform（以前のVertex AI）
- Cohere
- Hugging Face
- Ollama
- 他にもあります

LiteLLMを使用する場合、モデル文字列は複合形式（ `provider/model-name` ）を使用します。

- プロバイダー ：使用するAPIアダプター/プロバイダー（ openai 、 azure など）。
- モデル名 ：そのプロバイダーに渡すモデル名。

たとえば、デプロイが `meta/llama-3.2-1b-instruct` という名前のモデルを使用する場合、モデルの文字列には `openai/meta/llama-3.2-1b-instruct` を使用します。 これにより、LiteLLMは [openaiAPIアダプター](https://docs.litellm.ai/docs/providers/openai_compatible) とモデル名 `meta/llama-3.2-1b-instruct` を使用するよう指示されます。

この形式により、LiteLLMは適切なプロバイダーAPIへリクエストをルーティングすると同時に、そのプロバイダー用の正しいモデル識別子を使用することが可能になります。

サポートされているプロバイダーの最新リストと設定例については、 [LiteLLMのドキュメント](https://docs.litellm.ai/docs/providers) を参照してください。
