你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
什么是 Azure AI 代理服务?
Azure AI 代理服务是一项完全托管的服务,旨在使开发人员能够安全地生成、部署和缩放高质量且可扩展的 AI 代理,而无需去管理基础计算和存储资源。 原本需要数百行代码才能支持客户端函数调用的任务,现在使用 Azure AI 代理服务只需几行代码即可实现。
什么是 AI 代理?
在 Azure AI Foundry 中,AI 代理充当“智能”微服务,可用于回答问题 (RAG)、执行操作或完全自动化工作流。 它通过结合生成式 AI 模型的强大功能与能够访问和交互真实数据源的工具来实现这一点。
由于 Azure AI 代理服务使用与 Azure OpenAI 助手相同的通信协议,因此你可以使用 OpenAI SDK 或 Azure AI Foundry SDK,仅需几行代码即可创建并运行一个代理。 例如,使用 Azure AI Foundry SDK 创建 AI 代理时,只需定义 AI 使用的模型、完成任务的指令以及可用于访问和与其他服务交互的工具。
agent = project_client.agents.create_agent(
model="gpt-4o-mini",
name="my-agent",
instructions="You are helpful agent",
tools=code_interpreter.definitions,
tool_resources=code_interpreter.resources,
)
定义代理后,可以通过在活动线程上调用运行来开始让它执行工作。活动线程只是多个代理和用户之间的对话。
# Create a thread with messages
thread = project_client.agents.create_thread()
message = project_client.agents.create_message(
thread_id=thread.id,
role="user",
content="Could you please create a bar chart for the operating profit using the following data and provide the file to me? Company A: $1.2 million, Company B: $2.5 million, Company C: $3.0 million, Company D: $1.8 million",
)
# Ask the agent to perform work on the thread
run = project_client.agents.create_and_process_run(thread_id=thread.id, agent_id=agent.id)
# Fetch and log all messages to see the agent's response
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"Messages: {messages}")
每当调用运行操作时,Azure AI 代理服务都将为你完成整个工具调用生命周期,包括:1) 根据提供的指令运行模型,2) 在代理调用工具时执行工具调用,以及 3) 将结果返回给你。
掌握基础知识后,你可以开始将多个代理与 AutoGen 和语义内核配合使用,自动化更复杂的工作流。 由于 Azure AI Agent Service 是一项全托管服务,因此,你可以专注于构建工作流和支持它们的代理,而无需担心单个代理底层基础结构的缩放、安全性或管理问题。
为何要使用 Azure AI 代理服务?
与直接使用推理 API 开发相比,Azure AI 代理服务提供了一种更简化且更安全的方式来构建和部署 AI 代理。 这包括:
- 自动调用工具:无需分析工具调用、调用工具或处理响应;这些操作现在都由服务器端完成
- 安全托管数据:无需自行管理对话状态,你可以依靠线程存储所需的所有信息
- 开箱即用的工具:除了 Azure OpenAI 助手提供的文件检索和代码解释器工具外,Azure AI 代理服务还附带了一组可用于与数据源交互的工具,例如必应、Azure AI 搜索和 Azure Functions。
原本需要数百行代码才能完成的任务,现在通过 Azure AI 代理服务只需几行代码即可实现。
比较 Azure 代理和 Azure OpenAI 助手
这两项服务都允许你使用相同的 API 和 SDK 构建代理,但如果你有额外的企业需求,建议考虑使用 Azure AI 代理服务。 Azure AI 代理服务提供了 OpenAI 助手的所有功能,此外还包括:
灵活的模型选择:创建使用 Azure OpenAI 模型或其他模型(如 Llama 3、Mistral 和 Cohere)的代理。 选择最适合的模型以满足你的企业需求。
广泛的数据集成:利用来自各种数据源(例如 Microsoft 必应、Azure AI 搜索和其他 API)的相关、安全的企业知识来为你的 AI 代理提供基础。
企业级安全性:通过安全的数据处理、无密钥身份验证和无公开出口,确保数据隐私和合规性。
选择存储解决方案:你可以使用自己的 Azure Blob 存储,以便完全掌控和查看存储资源,或使用平台托管的存储,享受安全且便捷的使用体验。
负责任 AI
Microsoft 致力于遵照“以人为本”的原则推动 AI 的进步。 生成性模型(例如 Azure OpenAI 中提供的模型)提供显著的潜在优势,但如果不经过精心设计和采用全方位的缓解措施,此类模型有可能会生成错误甚至有害的内容。 Microsoft 在防范滥用和意外不利影响方面进行了重大投资,包括融入 Microsoft 的负责任 AI 使用原则、采用服务使用行为准则、生成内容筛选器以支持客户,以及提供客户在使用 Azure AI 代理服务时应考虑的负责任 AI 信息和指导。
开始使用 Azure AI 代理服务
要开始使用 Azure AI 代理服务,需要在 Azure 订阅中创建一个 Azure AI Foundry 中心和一个代理项目。
如果你是第一次使用该服务,请从快速入门指南开始。
- 可以使用所需的资源创建 AI 中心和项目。
- 创建项目后,可以部署兼容的模型,例如 GPT-4o。
- 如果已部署模型,还可以使用 SDK 开始对服务进行 API 调用。
后续步骤
详细了解支持代理的模型。