freks blog

about

LangChainでAzure OpenAI Serviceのモデルを使う

created: 2024-04-22
おすすめ記事: 出会ってよかったプログラマー本

LangChainでAzure OpenAI Serviceのモデルを使おうとしてちょっと手こずったのでメモ

LangChainを触ってみようとして
Quickstart | 🦜️🔗 LangChain
から初めてみて、OpenAI版とかはあるのですが、Azure版は書かれてないです

AzureChatOpenAI | 🦜️🔗 LangChain
を見てまず、Chatのサンプルを動かしてみました

import os

os.environ["AZURE_OPENAI_API_KEY"] = "..."
os.environ["AZURE_OPENAI_ENDPOINT"] = "https://<your-endpoint>.openai.azure.com/"
os.environ["AZURE_OPENAI_API_VERSION"] = "2023-06-01-preview"
os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"] = "chat"

AZURE_OPENAI_API_KEYとAZURE_OPENAI_ENDPOINT: Azure OpenAI の Keys and Endpointで確認

AZURE_OPENAI_API_VERSION: Azure OpenAI Service の REST API リファレンス - Azure OpenAI | Microsoft Learn にサポートされているバージョン

AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: LLMのモデルをデプロイするとき自分が指定したデプロイ名

from langchain_core.messages import HumanMessage
from langchain_openai import AzureChatOpenAI

model = AzureChatOpenAI(
    azure_deployment=os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"],
    api_version=os.environ["AZURE_OPENAI_API_VERSION"],
)

ドキュメントでは openai_api_version でしたが、api_version が正しそうです

message = HumanMessage(content="Tell me a joke")
print(model.invoke([message]).content)

これでLLMの返答が確認できます

まとめ

チュートリアルやるかで動かないと時間がとられますね
公式ドキュメントが古いのか確認してPR送ったりしたいところです

PR

Pythonプログラミングパーフェクトマスター

Pythonプログラミングパーフェクトマスター

このリンクは、アフィリエイトリンクです


Amazonのアソシエイトとして、blog.freks.jp は適格販売により収入を得ています。
This site is managed by freks