AzureAIChatCompletionsModel
这将帮助您开始使用 AzureAIChatCompletionsModel 聊天模型。有关所有 AzureAIChatCompletionsModel 功能和配置的详细文档,请参阅 API 参考
AzureAIChatCompletionsModel 类使用 Azure AI Foundry SDK。AI Foundry 有多种聊天模型,包括 AzureOpenAI、Cohere、Llama、Phi-3/4 和 DeepSeek-R1 等。可以在 Azure 文档中找到有关其最新模型及其成本、上下文窗口和支持的输入类型的信息。
概述
集成详细信息
| 类 | 包 | 本地化 | 序列 化 | JS 支持 | 软件包下载 | 最新包装 |
|---|---|---|---|---|---|---|
| AzureAIChatCompletionsModel | langchain-azure-ai | ❌ | ✅ | ✅ |
模型特点
| 工具调用 | 结构化输出 | JSON 模式 | 图像输入 | 音频输入 | 视频输入 | 令牌级流式处理 | 本机异步 | Token 使用情况 | 日志 |
|---|---|---|---|---|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
设置
要访问 AzureAIChatCompletionsModel 模型,您需要创建一个 Azure 帐户,获取 API 密钥,并安装langchain-azure-ai集成包。
凭据
前往 Azure 文档,了解如何创建部署并生成 API 密钥。部署模型后,单击 AI Foundry 中的“获取端点”按钮。这将显示您的终端节点和 api 密钥。完成此作后,设置 AZURE_INFERENCE_CREDENTIAL 和 AZURE_INFERENCE_ENDPOINT 环境变量:
import getpass
import os
if not os.getenv("AZURE_INFERENCE_CREDENTIAL"):
os.environ["AZURE_INFERENCE_CREDENTIAL"] = getpass.getpass(
"Enter your AzureAIChatCompletionsModel API key: "
)
if not os.getenv("AZURE_INFERENCE_ENDPOINT"):
os.environ["AZURE_INFERENCE_ENDPOINT"] = getpass.getpass(
"Enter your model endpoint: "
)
如果您想自动跟踪模型调用,您还可以通过取消下面的注释来设置您的 LangSmith API 密钥:
# os.environ["LANGSMITH_TRACING"] = "true"
# os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
安装
LangChain AzureAIChatCompletionsModel 集成位于langchain-azure-ai包:
%pip install -qU langchain-azure-ai
实例
现在我们可以实例化我们的 Model 对象并生成聊天补全:
from langchain_azure_ai.chat_models import AzureAIChatCompletionsModel
llm = AzureAIChatCompletionsModel(
model_name="gpt-4",
temperature=0,
max_tokens=None,
timeout=None,
max_retries=2,
)
调用
messages = [
(
"system",
"You are a helpful assistant that translates English to French. Translate the user sentence.",
),
("human", "I love programming."),
]
ai_msg = llm.invoke(messages)
ai_msg
AIMessage(content="J'adore programmer.", additional_kwargs={}, response_metadata={'model': 'gpt-4o-2024-05-13', 'token_usage': {'input_tokens': 31, 'output_tokens': 4, 'total_tokens': 35}, 'finish_reason': 'stop'}, id='run-c082dffd-b1de-4b3f-943f-863836663ddb-0', usage_metadata={'input_tokens': 31, 'output_tokens': 4, 'total_tokens': 35})
print(ai_msg.content)
J'adore programmer.
链接
我们可以用 prompt 模板链接我们的模型,如下所示:
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate(
[
(
"system",
"You are a helpful assistant that translates {input_language} to {output_language}.",
),
("human", "{input}"),
]
)
chain = prompt | llm
chain.invoke(
{
"input_language": "English",
"output_language": "German",
"input": "I love programming.",
}
)
AIMessage(content='Ich liebe Programmieren.', additional_kwargs={}, response_metadata={'model': 'gpt-4o-2024-05-13', 'token_usage': {'input_tokens': 26, 'output_tokens': 5, 'total_tokens': 31}, 'finish_reason': 'stop'}, id='run-01ba6587-6ff4-4554-8039-13204a7d95db-0', usage_metadata={'input_tokens': 26, 'output_tokens': 5, 'total_tokens': 31})
API 参考
有关所有 AzureAIChatCompletionsModel 功能和配置的详细文档,请参阅 API 参考:https://python.langchain.com/api_reference/azure_ai/chat_models/langchain_azure_ai.chat_models.AzureAIChatCompletionsModel.html