AutoAgent 接入 Azure OpenAI 完整指南:聊天模型与 Embeddings 的零代码配置 AutoAgent 接入 Azure OpenAI 完整指南聊天模型与 Embeddings 的零代码配置【免费下载链接】AutoAgentAutoAgent: Fully-Automated and Zero-Code LLM Agent Framework项目地址: https://gitcode.com/GitHub_Trending/au/AutoAgent导读Azure OpenAI 是许多企业级用户在私有云、合规与统一身份认证场景下接入 LLM 的首选通道。本指南以 AutoAgentFully-Automated and Zero-Code LLM Agent Framework仓库中的 azure-llms.md 为骨架完整讲解如何通过环境变量将 AutoAgent 的对话模型与向量模型Embeddings同时切换到 Azure 部署并深入结合仓库源码说明配置项背后的调用链路。读完本文你将掌握如何构造azure/deployment-name模型名、如何填写 API Version / Base URL / API Key、如何为 RAG 记忆系统指定 Azure 的 embeddings 部署以及如何排查函数调用function calling兼容性问题。一、AutoAgent 如何调用 LLM一切经由 LiteLLM在动手配置 Azure 之前先理解 AutoAgent 的 LLM 接入架构这能帮你精准定位每个配置项的作用。AutoAgent 的运行时核心位于 autoagent/core.py其中直接以litellm作为统一模型网关from litellm import completion, acompletion from litellm.exceptions import APIError从源码结构可以看到所有对话补全请求都经由MetaChain.get_chat_completion中的completion(**create_params)发起autoagent/core.py。这意味着AutoAgent 支持 LiteLLM 能支持的所有提供商Azure 正是其中之一。LiteLLM 对 Azure 的模型命名约定为azure/deployment-name这也是下文 UI 配置中Custom Model必须写成azure/前缀的原因。同时AutoAgent 还通过litellm.supports_function_calling(model...)在调用前校验模型是否支持函数调用autoagent/core.py。如果部署的 Azure 模型不支持 function calling会直接触发断言失败提示你关闭该模式。这一点在配置 Azure 时尤其值得注意详见本文第五节。对话模型与 Embeddings 是两个相互独立的通道对话模型经由 LiteLLM 的completion()调用autoagent/core.pyEmbeddings向量模型用于 AutoAgent 的 RAG / 代码记忆 / 工具检索等记忆子系统默认走 OpenAI 兼容接口或 ChromaDB 的默认 embedding 函数autoagent/memory/rag_memory.py。因此接入 Azure 时这两条通道需要分别配置。二、配置前准备从 Azure 门户收集三项关键信息无论配置对话模型还是 Embeddings你都需要先在 Azure 门户Azure Portal / Azure AI Studio完成以下准备工作创建 Azure OpenAI 资源获得形如https://example-endpoint.openai.azure.com的 Endpoint即 Base URL完成模型部署Deployment为对话模型和 Embedding 模型分别创建部署并在部署页面记下Deployment Name原文档中记作deployment-name获取 API KeyAzure 门户的 Keys and Endpoint 页面确定 API Version即api-version查询参数例如对话模型常用2023-05-15Embeddings 场景示例使用2024-02-15-preview。API Version 需与你的资源所在区域、模型版本匹配具体以 Azure 官方当前支持的版本列表为准。:::note 原文档特别强调需要的是ChatGPT 部署名称Deployment Name可以在 Azure 的部署页面找到而不是模型本身的名称。后续所有azure/deployment-name中的deployment-name均指该部署名。 :::三、配置对话模型Chat Completion3.1 第一步通过docker run注入 API Version由于LLM_API_VERSION无法通过 UI 设置需要在启动命令中用-e注入。原文档给出的最小示例为LLM_API_VERSIONapi-version # 例如 2023-05-15完整的 docker run 片段docker run -it --pullalways \ -e LLM_API_VERSION2023-05-15 \ ...api-version需替换为你所选 Azure OpenAI 的 API 版本号例如2023-05-15对话模型或2024-02-15-previewEmbeddings 场景示例见第四节。该值最终会作为请求中的api-version参数传递给 Azure 网关版本不匹配会导致请求被 Azure 拒绝常见的ResourceNotFound或InvalidApiVersion错误。3.2 第二步在 AutoAgent UI 设置中填写四项参数在 AutoAgent 的 UI 设置界面中启用Advanced Options高级选项将Custom Model设置为azure/deployment-name例如azure/my-gpt4o-deployment。必须保留azure/前缀这是 LiteLLM 识别 Azure 提供商的路由标识将Base URL设置为你的 Azure API 基础 URL例如https://example-endpoint.openai.azure.com将API Key设置为你的 Azure API 密钥。完成以上两项环境变量 UI后AutoAgent 的对话请求即会路由到你的 Azure 部署。3.3 与 CLI 模式的对照COMPLETION_MODEL与API_BASE_URL原文档描述的 UI 配置路径对应 AutoAgent 的图形界面模式而在 CLI 模式auto main下同样的能力通过环境变量表达二者是等价的COMPLETION_MODEL指定要使用的 LLM 模型名需遵循 LiteLLM 的命名规则默认claude-3-5-sonnet-20241022对 Azure 场景即写为azure/deployment-name见 README.mdAPI_BASE_URLLLM 提供商的 Base URL默认 NoneAzure 场景即你的 Endpoint见 README.md。在代码中API_BASE_URL与模型名一同被送入completion(**create_params)autoagent/core.py而COMPLETION_MODEL则作为运行时默认模型写入 constant.pyCOMPLETION_MODEL os.getenv(COMPLETION_MODEL, claude-3-5-sonnet-20241022)因此无论走 UI 还是 CLI核心都是三件事模型名带azure/前缀、Base URL 指向 Azure Endpoint、提供有效 API Key 与 API Version。四、配置 Embeddings向量模型AutoAgent 的记忆子系统RAG 记忆、代码树记忆、工具检索等依赖向量检索这部分通过独立的 Embeddings 通道实现。原文档明确AutoAgent 的 embeddings 经由 llama-index 体系接入 Azure并给出以下三行环境变量同样在docker run中通过-e设置LLM_EMBEDDING_MODELazureopenai LLM_EMBEDDING_DEPLOYMENT_NAMEyour-embedding-deployment-name # 例如 TextEmbedding...etc LLM_API_VERSIONapi-version # 例如 2024-02-15-preview逐项说明环境变量含义示例值LLM_EMBEDDING_MODEL指定 embeddings 提供商为 Azure OpenAIazureopenaiLLM_EMBEDDING_DEPLOYMENT_NAME你在 Azure 上部署的 Embedding 模型部署名TextEmbedding...etc例如text-embedding-3-small对应的部署名LLM_API_VERSION该通道使用的 API 版本2024-02-15-preview注意Embeddings 通道与对话通道共用LLM_API_VERSION因此需确保该版本同时被你的对话模型部署与 Embedding 模型部署支持否则可能出现对话正常、检索报错的怪现象。4.1 与仓库记忆子系统的对应关系在 AutoAgent 仓库中向量检索实际由RAGMemory等类承担。从 autoagent/memory/rag_memory.py 可以看到其默认行为若配置了 OpenAI 相关设置则使用 OpenAI 的 embeddings 接口embedding_model默认text-embedding-3-small否则回退到 ChromaDB 的SentenceTransformerEmbeddingFunctionall-MiniLM-L6-v2。换言之默认路径是 OpenAI 兼容接口。要让 AutoAgent 的记忆检索真正走 Azure 通道就需要将 embeddings 提供商切换为azureopenai即本文第四节的三行配置此时LLM_EMBEDDING_DEPLOYMENT_NAME指定的部署名将替代默认的text-embedding-3-small完成向量化。此外代码树记忆同样依赖 embedding 客户端autoagent/memory/codetree_memory.py接入 Azure 后这些记忆组件即可统一使用 Azure 的向量模型。4.2 配置完成后建议验证接入完成后建议做一次冒烟验证先验证对话通道在 AutoAgent UI 发起一轮简单对话确认无InvalidApiVersion、AuthenticationError或 404 类错误再验证检索通道触发一次 RAG / 代码检索任务例如在 agent editor 或 deep-research 场景中搜索既有工具、代码片段观察 embeddings 请求是否成功返回若检索静默失败或返回空结果优先检查LLM_EMBEDDING_DEPLOYMENT_NAME是否与 Azure 部署页面的 Deployment Name 完全一致部署名大小写敏感。五、Azure 场景的常见坑与排查思路5.1azure/前缀缺失导致路由失败Custom Model 若漏写azure/前缀LiteLLM 会把模型当作其他提供商的模型名处理请求会被发往错误网关或直接报错。务必保证模型名形如azure/my-deployment-name。5.2 函数调用function calling兼容性校验AutoAgent 的 Agent 编排重度依赖工具调用。在 autoagent/core.py 中函数调用模式开启时会执行assert litellm.supports_function_calling(model create_model) True, \ fModel {create_model} does not support function calling, please set FN_CALLFalse ...如果所选的 Azure 部署模型不支持 function calling会直接触发断言失败。此时应按提示设置FN_CALLFalse让 AutoAgent 回退到非函数调用模式该模式要求tool_choice required见 autoagent/core.py。在 CLI 场景下可通过环境变量FN_CALL控制README.mdconstant.py中也内置了基于模型名的默认值推断逻辑constant.py。5.3 API Version 不匹配Azure 对api-version校验严格。对话与 embeddings 共用LLM_API_VERSION若版本过旧或与区域不匹配会返回版本相关错误。建议以 Azure 官方当前支持的版本为准并保持对话/检索两个通道版本一致。5.4 速率限制与自动重试Azure OpenAI 同样有速率限制429。AutoAgent 在 autoagent/core.py 中实现了should_retry_error对 API 错误、连接错误、超时等瞬时故障自动重试并支持通过环境变量LLM_NUM_RETRIES默认 8、LLM_RETRY_MIN_WAIT默认 15 秒、LLM_RETRY_MAX_WAIT默认 120 秒、LLM_RETRY_MULTIPLIER默认 2调节重试行为参见 llms.md。高频 Agent 任务若频繁触发限流可适当调大重试次数与等待时间。六、配置速查表将本指南的完整配置汇总如下可直接对照填写对话模型UI 模式配置位置参数值docker runLLM_API_VERSION例如2023-05-15UI Advanced OptionsCustom Modelazure/deployment-nameUI Advanced OptionsBase URLhttps://example-endpoint.openai.azure.comUI Advanced OptionsAPI Key你的 Azure API 密钥对话模型CLI 模式等价替代环境变量值COMPLETION_MODELazure/deployment-nameAPI_BASE_URLhttps://example-endpoint.openai.azure.comEmbeddingsdocker run 注入环境变量值LLM_EMBEDDING_MODELazureopenaiLLM_EMBEDDING_DEPLOYMENT_NAMEyour-embedding-deployment-name例如TextEmbedding...etcLLM_API_VERSION例如2024-02-15-preview可选调优重试策略环境变量默认值LLM_NUM_RETRIES8LLM_RETRY_MIN_WAIT15 秒LLM_RETRY_MAX_WAIT120 秒LLM_RETRY_MULTIPLIER2延伸阅读AutoAgent 支持的其他 LLM 提供商与全局配置说明llms.mdLiteLLM 提供商列表与 Azure 提供商的完整参数README.md模型命名遵循 LiteLLM 规则AutoAgent 的 RAG / 记忆子系统实现autoagent/memory/rag_memory.py、autoagent/memory/codetree_memory.py在真实检索任务中配置模型环境变量的示例starter-projects-agentic-rag.md【免费下载链接】AutoAgentAutoAgent: Fully-Automated and Zero-Code LLM Agent Framework项目地址: https://gitcode.com/GitHub_Trending/au/AutoAgent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考