内容
PythonでLangchainからGoogle Geminiに問い合わせを行う
背景
- Langchain、試すぞい。
- OpenAIのAPIトークンを発行したが、429エラーだ。
- この記事と同じ状況だ...API使えない。ChatGPT-API Error Code 429の解決方法 #ChatGPT - Qiita
- では、Google GeminiのAPIを試すか。
環境
- Ubuntu 22.04.3 LTS (WSL on Windows 11 home)
- Python 3.10.12
- VScode
準備
仮想環境はvenv派です。
python3 -m venv .venv
Pythonの環境をVScode側で指定
ctrl + shift + p
Python: Create Environment
で.venv配下の環境を指定。
Python のライブラリをインストール
pip install --upgrade --quiet langchain-google-genai pillow
pip install python-dotenv
directory
.
├── .venv/
├── .env
├── hello_langchain.py
└── requirements.txt
メインの処理 hello_langchain.py
from dotenv import load_dotenv
from langchain_google_genai import ChatGoogleGenerativeAI
load_dotenv() # load environmental variable "GOOGLE_API_KEY" from .env
prompt = "what is your name? And what can you do?"
llm = ChatGoogleGenerativeAI(model="gemini-pro")
result = llm.invoke(prompt)
print(result.content)
LangchainからGeminiへの問い合わせ
主な内容は以下のLangchainによるチュートリアルそのままです。
Google AI chat models | 🦜️🔗 Langchain
APIトークンの生成もチュートリアル内に載っています。
doteenv
.env
というファイルを同一ディレクトリ内に置いて環境変数を読み込む際に便利です。
みんな、トークンをコードにベタ書きしちゃだめだぞ~
python-dotenv · PyPI
.env
の中身はこんな感じです
GOOGLE_API_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # 実際には生成したトークンを記述
Gitを使う場合、.env
をしっかり.gitignoreに入れておくことを忘れずに。
実行結果
成功!
普通にWebブラウザから問い合わせるのと同じような回答が得られました。
I am a multi-modal AI language model developed by Google. I don't have a name, as I am not a person.
I am designed to understand and generate human language, answer questions, and provide information on a wide range of topics. I can also perform many other tasks, such as:
* **Translate languages**
* **Write different kinds of creative content**
* **Summarize long pieces of text**
* **Answer your questions in a comprehensive way**
* **Help you with your research**
* **Provide you with definitions and other information**
* **Play games with you**
感想
- Langchain、簡単で便利!
- 次はRAGの構築もしてみたい。