Skip to main content
Open In ColabOpen on GitHub

AzureAIChatCompletionsModel

这将帮助你开始使用AzureAIChatCompletionsModel 聊天模型。要查看所有AzureAIChatCompletionsModel功能和配置的详细文档,请访问API参考

The AzureAIChatCompletionsModel 类使用了 Azure AI Foundry SDK。AI Foundry 包含多种聊天模型,包括 AzureOpenAI、Cohere、Llama、Phi-3/4 和 DeepSeek-R1 等等。您可以在 Azure 文档 中找到它们最新的模型信息以及成本、上下文窗口大小和支持的输入类型。

概览

集成细节

Class本地序列化JS支持Package downloadsPackage 最新版本
AzureAIChatCompletionsModellangchain-azure-aiPyPI - DownloadsPyPI - Version

模型特性

工具调用结构化输出JSON 模式图像输入音频输入视频输入Token级流式传输原生异步Token 使用对数概率

设置

要访问 AzureAIChatCompletionsModel 模型,您需要创建一个 Azure 账户,获取 API 密钥,并安装 langchain-azure-ai 集成包。

Credentials

前往Azure 文档查看如何创建部署并生成 API 密钥。一旦您的模型已部署,您需要在 AI Foundry 中点击 '获取端点' 按钮。这将显示您的端点和 api key。完成这些步骤后,请设置 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: ")

安装

The LangChain AzureAIChatCompletionsModel 整合位于 langchain-azure-ai 包中:

%pip install -qU langchain-azure-ai

Instantiation

现在我们就可以实例化我们的模型对象并生成聊天完成内容:

from langchain_azure_ai.chat_models import AzureAIChatCompletionsModel

llm = AzureAIChatCompletionsModel(
model_name="gpt-4",
temperature=0,
max_tokens=None,
timeout=None,
max_retries=2,
)

Invocation

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.

链式调用

我们可以通过以下方式将模型与提示模板进行链接

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