LangChain を使った Google Gemini 1.5 Flash モデルのチャットボット構築

LLMTech

LangChain を使った Google Gemini 1.5 Flash モデルのチャットボット構築

LangChain を使用して Google Gemini 1.5 Flash モデルを利用したチャットボット構築のためのプロセスを実施しました。この記事では、使用したライブラリとコードの最終形を共有します。


使用したライブラリ

  1. langchain-google-genai
    • Google Gemini モデルを統合するためのライブラリ。
    • インストール:
      pip install langchain-google-genai
  2. langchain.schema
    • メッセージの定義に使用するライブラリ。
  3. Python 環境
    • 必須モジュール:
      • os: 環境変数の管理に利用。
      • langchain_google_genai: Gemini モデルのインターフェースを提供。

初期設定と課題

  1. LangChain の非推奨化メソッドの対応
    • langchain.chat_models モジュールからのインポートが非推奨化されたため、invoke メソッドを利用するコードに変更しました。
  2. 環境変数の設定
    • APIキーを安全に管理するために、環境変数 GOOGLE_API_KEY を使用しました。
  3. Gemini モデルの統合
    • langchain-google-genai を使用して Google Gemini 1.5 Flash モデルを統合。

最終的なコード

以下は、最終的に完成したコードです。このコードを実行することで、Google Gemini 1.5 Flash モデルを使用したチャットボットが動作します。

import os
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain.schema import HumanMessage, AIMessage

# 環境変数からAPIキーを取得
api_key = os.getenv("GOOGLE_API_KEY")

if not api_key:
    raise ValueError("環境変数 'GOOGLE_API_KEY' が設定されていません。APIキーを設定してください。")

# Chatモデルのインスタンスを作成 (Gemini 1.5 Flash モデルを指定)
chat = ChatGoogleGenerativeAI(model="gemini-1.5-flash", google_api_key=api_key)

# 初回のメッセージを準備
messages = [
    HumanMessage(content="こんにちは!あなたはLangChainを使用したGemini 1.5 Flashモデルです。簡単な会話をしましょう。")
]

# モデルにメッセージを送信し、応答を取得
response = chat.invoke(messages)
print("AI:", response.content)

# 会話を続けるループ
while True:
    user_input = input("You: ")
    if user_input.lower() in ["exit", "quit", "終了"]:
        print("AI: 会話を終了します。さようなら!")
        break

    # 会話履歴を更新
    messages.append(HumanMessage(content=user_input))

    # 応答を取得
    response = chat.invoke(messages)
    print("AI:", response.content)

    # 応答を履歴に追加
    messages.append(AIMessage(content=response.content))

まとめ

このコードをベースに、より高度なチャットボットやアプリケーションを構築することができます。

飲んだ? カウンター
  • 飲んだ! (0)
 

コメント

タイトルとURLをコピーしました