見出し画像

LlamaIndex の Gemini統合 を試す

「LlamaIndex」の「Gemini」統合を試したので、まとめました。

・llama-index v0.10.14


1. Gemini と GeminiEmbedding

llama-index-llms-gemini」パッケージの「Gemini」と「llama-index-embeddings-gemini」パッケージの「GeminiEmbedding」を通じて、Googleの「Gemini」と「Embedding」およびその他の生成モデルにアクセスできます。

2. ドキュメントの準備

今回は、マンガペディアの「ぼっち・ざ・ろっく!」のドキュメントを用意しました。

・bocchi.txt

3. 質問応答

Colabでの実行手順は、次のとおりです。

(1) パッケージのインストール。
llama-index-llms-gemini」と「llama-index-embeddings-gemini」をインストールします。

# パッケージのインストール
!pip install llama-index==0.10.14
!pip install llama-index-llms-gemini llama-index-embeddings-gemini

(2) ログレベルの設定。

import logging
import sys

# ログレベルの設定
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG, force=True)

(3) 環境変数の準備。
左端の鍵アイコンで「GOOGLE_API_KEY」を設定してからセルを実行してください。

# 環境変数の準備 (左端の鍵アイコンでGOOGLE_API_KEYを設定)
import os
from google.colab import userdata
os.environ["GOOGLE_API_KEY"] = userdata.get("GOOGLE_API_KEY")

(4) LLMと埋め込みモデルの準備。

from llama_index.core import Settings
from llama_index.llms.gemini import Gemini
from llama_index.embeddings.gemini import GeminiEmbedding

# LLMの準備
Settings.llm = Gemini(
    model_name="models/gemini-pro",
)

# 埋め込みモデルの準備
Settings.embed_model = GeminiEmbedding(
    model_name="models/embedding-001", 
)

【注意】「models/embedding-001」は日本語の精度がよく無さそうなので、今は「OpenAI API」のEmbeddingを使ったほうが良さそうです。

(5) Colabにdataフォルダを作成してドキュメントを配置。
左端のフォルダアイコンでファイル一覧を表示し、右クリック「新しいフォルダ」でdataフォルダを作成し、ドキュメントをドラッグ&ドロップします。

(6) ドキュメントの読み込み。

from llama_index.core import SimpleDirectoryReader

# ドキュメントの読み込み
documents = SimpleDirectoryReader("data").load_data()

(7) インデックスの作成。

from llama_index.core import VectorStoreIndex

# インデックスの作成
index = VectorStoreIndex.from_documents(documents)

(8) クエリエンジンの作成。

# クエリエンジンの作成
query_engine = index.as_query_engine()

(9) 質問応答。

# 質問応答
print(query_engine.query("ぼっちちゃんの得意な楽器は?"))

ギター

関連



この記事が気に入ったらサポートをしてみませんか?