📖
LangChainでAzureChatOpenAIを扱えるようにしてみる
概要
Azure Open AI Service の Chat APIを組み込んで、langchain動かしたいなと思ったので、以下ページを参考に設定してみました。
やったことは以下ドキュメントの通りであり、この記事は備忘録です。
前提
Azure Open AI Service の Chat APIにリクエストできること
実際のコード
index.py
from langchain_openai import AzureChatOpenAI
import config
import os
os.environ["AZURE_OPENAI_API_KEY"] = {APIキー}
os.environ["AZURE_OPENAI_ENDPOINT"] = "https://xxxxxx.openai.azure.com"
os.environ["AZURE_OPENAI_API_VERSION"] = "2023-05-15"
os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"] = "gpt-4o"
model = AzureChatOpenAI(
azure_deployment=os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"],
api_version=os.environ["AZURE_OPENAI_API_VERSION"],
)
message = "人生とは何か?100文字以内でこの質問に答えてください。"
res = model.invoke(message)
print(res.content)
出力結果
人生とは、個々の経験や感情、学びや成長を通じて自己を理解し、他者と関わりながら意味や目的を見出す旅路である。
callback処理もやってみる
実際のコード
index.py
from langchain_openai import AzureChatOpenAI
from langchain_community.callbacks import get_openai_callback
import config
import os
os.environ["AZURE_OPENAI_API_KEY"] = {APIキー}
os.environ["AZURE_OPENAI_ENDPOINT"] = "https://xxxxxx.openai.azure.com"
os.environ["AZURE_OPENAI_API_VERSION"] = "2023-05-15"
os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"] = "gpt-4o"
model = AzureChatOpenAI(
azure_deployment=os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"],
api_version=os.environ["AZURE_OPENAI_API_VERSION"],
)
message = "人生とは何か?100文字以内でこの質問に答えてください。"
with get_openai_callback() as cb:
res = model.invoke([message])
print(res.content)
print(
f"Total Cost (USD): ${format(cb.total_cost, '.6f')}"
)
出力結果
この回答はコスト以上に効果がありそうな気がする。
人生とは、個々の経験、成長、喜び、悲しみを通じて自分自身と他者との関係を深める旅であり、意味や目的を見つける過程です。それは一度きりの貴重な機会です。
Total Cost (USD): $0.001075
環境
パッケージはlangchain系のみ抜粋
$ python --version
Python 3.12.5
$ pip list
langchain 0.2.14
langchain-community 0.2.12
langchain-core 0.2.33
langchain-openai 0.1.21
langchain-text-splitters 0.2.2
langsmith 0.1.98
Discussion