LLM(例:OpenAI, Hugging Face)との接続設定

LlamaIndexにおける「LLM(大規模言語モデル)との接続設定」について、以下に詳しく説明します。ここでは主にOpenAIおよびHugging Faceのモデルと接続する場合を例に挙げて解説します。


1. 前提条件

LlamaIndexがLLMと連携するためには、以下の前提条件を満たす必要があります。

  • Python環境がセットアップ済みであること(推奨:Python 3.8以上)

  • LlamaIndexおよび対象LLMのAPIクライアントライブラリ(例:openai, transformers, huggingface_hub)がインストールされていること

必要なライブラリのインストール(例)

bash
pip install llama-index openai # または Hugging Face を使う場合 pip install llama-index transformers huggingface_hub

2. OpenAIとの接続設定

a. OpenAI APIキーの取得

OpenAIのアカウントからAPIキーを取得し、環境変数またはコード内で設定します。

環境変数として設定する場合

bash
export OPENAI_API_KEY="your_openai_api_key"

Pythonコードで直接設定する場合

python
import os os.environ["OPENAI_API_KEY"] = "your_openai_api_key"

b. LlamaIndexでのLLM設定(OpenAI)

python
from llama_index.llms import OpenAI llm = OpenAI(model="gpt-3.5-turbo") # 他に "gpt-4" も可

これにより、LlamaIndex内部での問い合わせ処理にOpenAIのモデルが利用されます。


3. Hugging Face Transformersとの接続設定

a. Hugging Faceアクセストークンの取得と設定

https://huggingface.co/settings/tokens からトークンを取得し、以下のように設定します。

bash
export HUGGINGFACEHUB_API_TOKEN="your_token"

またはコード内で:

python
import os os.environ["HUGGINGFACEHUB_API_TOKEN"] = "your_token"

b. LlamaIndexでのLLM設定(Hugging Face)

python
from llama_index.llms import HuggingFaceLLM llm = HuggingFaceLLM( model_name="meta-llama/Llama-2-7b-chat-hf", # モデル名は任意 tokenizer_name="meta-llama/Llama-2-7b-chat-hf", device_map="auto", # CPU/GPUの自動選択 )

※ローカル実行する場合はモデルのダウンロードが必要です。


4. LLMをLlamaIndex全体に適用する(オプション)

LlamaIndexではServiceContextを通じてLLMの設定を統一できます。

python
from llama_index import ServiceContext service_context = ServiceContext.from_defaults(llm=llm)

このservice_contextを、IndexやQueryEngineの生成時に渡すことで、すべてのコンポーネントで指定LLMを使用できます。


5. 接続確認とデバッグ

LLMの接続後は、テスト的に問い合わせを行い、エラーが発生しないかを確認してください。API制限やトークンエラーなどが起きた場合、llama_indexopenai, transformersのログを有効にして調査できます。


補足

  • LlamaIndexはllmsモジュールで複数のLLMプロバイダーを抽象化してサポートしています。

  • OpenAI以外にもAnthropic、Cohere、Replicateなどとの統合も進められています。

ChatGPT4o 生成日:2025/06/14