今天我們來使用 LangChain 來調用昨天建立的 Azure OpenAI 模型,並實作與模型的基本對話。
現在 LangChain 官方主推的依頼項管理工具變成 uv 了,之前還是 poetry。uv 是Python 套件與環境管理工具。uv 能像 pip 一樣安裝套件,也能鎖定版本,還可以解析套件依賴。
uv 的安裝可以參考這個網址。 https://docs.astral.sh/uv/getting-started/installation/
生成式 AI 的年代,強烈建議一定要用 uv 或是 poetry 這類的套件依賴管理工具。因為這個新興產業的套件更動速度太快了,沒有用這類的工具的話,真的會解依賴項的 bug 解到哭出來。
我們先用 uv init
來初始化專案,接著用 add 指令來安裝指定版本的套件。 uv add langchain==1.0.0a5 langchain-openai==0.3.33
這裡我們兩個 langchain 的套件都指定用上周最新的版本哦!
然後我們接著在 main.py 裡複製貼上下面的程式碼,記得要把 key 和 url 抽換成自己的。
import os
from langchain_openai import AzureChatOpenAI
# 設定 Azure OpenAI 認證資訊
AZURE_OPENAI_API_KEY = "xx" # 輸入昨天拿到的 Azure OpenAI 金鑰
AZURE_OPENAI_ENDPOINT = "https://chatgpteastus.openai.azure.com/" # 輸入昨天拿到 AOAI 的端點 URL
# 初始化 AzureChatOpenAI 模型物件
model = AzureChatOpenAI(
azure_deployment="gpt-4.1",# 輸入部署名稱
openai_api_version="2024-12-01-preview", # Azure OpenAI API 版本
api_key=AZURE_OPENAI_API_KEY,
azure_endpoint=AZURE_OPENAI_ENDPOINT,
)
# 對話訊息列表,包含系統提示和使用者訊息
messages = [
("system", "你是一個友善的中英雙語助手。"),
("human", "Hello, how are you?")
]
# 用 invoke 跑起來,其實這裡已經是一個 prompt + model 的 langchain 的 chain 了哦
assistant_message = model.invoke(messages)
print("AI 回覆:", assistant_message.content)
接著使用指令 uv run python main.py
跑起來,就會看到如下圖的結果了!
使用 LangChain 來打造 AI 應用是不是很簡單呢!