你当前正在访问 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 SDKAzure 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 中心和一个代理项目。

如果你是第一次使用该服务,请从快速入门指南开始。

  1. 可以使用所需的资源创建 AI 中心和项目。
  2. 创建项目后,可以部署兼容的模型,例如 GPT-4o。
  3. 如果已部署模型,还可以使用 SDK 开始对服务进行 API 调用。

后续步骤

详细了解支持代理的模型