创建聊天客户端
AI 应用中的一个常见场景是连接到一个生成式 AI 模型,并使用提示与之进行基于聊天的对话。
虽然可以使用 Azure OpenAI SDK,但可以使用基于密钥或Microsoft Entra ID 身份验证将“直接”连接到模型;在 Azure AI Foundry 项目中部署模型时,还可以使用 Azure AI Foundry SDK 检索项目客户端,然后可以从中获取在项目 Azure AI Foundry 资源中部署的任何模型的经过身份验证的 OpenAI 聊天客户端。 使用此方法可以轻松编写使用项目中部署的模型的代码,并通过更改模型部署名称参数在它们之间轻松切换。
小窍门
可以使用 Azure AI Foundry 项目提供的 OpenAI 聊天客户端与关联 Azure AI Foundry 资源中部署的任何模型(甚至非 OpenAI 模型)聊天,例如 Microsoft Phi 模型。
以下 Python 代码示例使用 get_openai_client() 方法获取 OpenAI 客户端,该客户端与项目“Azure AI Foundry”资源中部署的模型聊天。
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from openai import AzureOpenAI
try:
# connect to the project
project_endpoint = "https://......"
project_client = AIProjectClient(
credential=DefaultAzureCredential(),
endpoint=project_endpoint,
)
# Get a chat client
chat_client = project_client.get_openai_client(api_version="2024-10-21")
# Get a chat completion based on a user-provided prompt
user_prompt = input("Enter a question:")
response = chat_client.chat.completions.create(
model=your_model_deployment_name,
messages=[
{"role": "system", "content": "You are a helpful AI assistant."},
{"role": "user", "content": user_prompt}
]
)
print(response.choices[0].message.content)
except Exception as ex:
print(ex)
注意
除了前面讨论的 azure-ai-projects 和 azure-identity 包之外,此处显示的示例代码还假定 openai 包已安装:
pip install openai