Pythonの世界は、そのシンプルさとパワフルな機能で、日々新しい地平を切り開いています。
 この記事では、Pythonを用いたLangChainとGemini APIの効果的な組み合わせを説明します。
本記事の内容
- LangChainとGemini APIについて
- LangChainからGemini APIを利用するためのシステム要件
- LangChainによるGemini APIの動作確認
それでは、上記に沿って解説していきます。
LangChainとGemini APIについて
LangChainについては、次の記事で説明しています。
Geminiについては、次の記事をご覧ください。
そして、Gemini APIについては次の記事で説明しています。
LangChainとGemini APIを連携させるためには、APIキーが必要となります。
 そのAPIキーの取得方法は、上記の記事を参考にしてください。
LangChainからGemini APIを利用するためのシステム要件
2024年12月末時点では、以下のPythonバージョンが必要となります。

その前提で、以下のライブラリが必要です。
- langchain-google-genai
- Pillow
langchain-google-genaiは、LangChainにgenerative-ai SDKを含んだモノと言えます。
 Pillowは、画像を扱うために必要となります。
これらをインストールするコマンドは、以下。
pip install langchain-google-genai pip install pillow
LangChainによるGemini APIの動作確認
サンプルコードは、公式ページに記載されています。

ここでは、それらのコードを変更したモノを紹介します。
公式のサンプルコードは、APIキーを環境変数に設定する前提です。
それだとちょっと不便な場合があります。
そのため、コード上で設定するように変更しています。
 まずは、テキストベースのチャットで動かす場合のコードです。
from langchain_google_genai import ChatGoogleGenerativeAI
GOOGLE_API_KEY = "コピーしたAPIキー"
llm = ChatGoogleGenerativeAI(model="gemini-pro", google_api_key=GOOGLE_API_KEY)
result = llm.invoke("どのプログラミング言語を学べば良いですか?最もオススメの言語を一つだけ教えてください。")
print(result.content)
上記を実行した結果は、以下となります。
Python
次に、マルチモーダルのモデルを利用したコードを紹介します。
 ここではローカルに保存された画像ファイルを指定するように変更しています。
person.jpg

from langchain_core.messages import HumanMessage
from langchain_google_genai import ChatGoogleGenerativeAI
GOOGLE_API_KEY = "コピーしたAPIキー"
img_path = "person.jpg"
llm = ChatGoogleGenerativeAI(model="gemini-pro-vision", google_api_key=GOOGLE_API_KEY)
message = HumanMessage(
    content=[
        {
            "type": "text",
            "text": "これは誰ですか?",
        },
        {"type": "image_url", "image_url": img_path},
    ]
)
result = llm.invoke([message])
print(result.content)
上記を実行した結果は、以下。
これは、織田信長です。
ただし、画像サイズが小さい場合は真田信之だと言われます。
したがって、画像はなるべく大きいサイズでアップするようにしましょう。
 
  
  
  
  




