首页app软件api接口数据采集到本地 本地api接口

api接口数据采集到本地 本地api接口

圆圆2025-08-06 00:00:17次浏览条评论

autogen 本地 llm 配置指南:解决 api_type 错误本文旨在解决用户在使用 AutoGen 框架与本地大型语言模型(LLM)集成时,遇到的 TypeError: create() got an意外关键字参数 'api_type' 错误。该错误是由于 AutoGen 库近期更新,删除了 config_list 中 api_type 参数的支持,以更好地兼容 OpenAI API 标准。通过删除配置中的 api_type 字段,用户可以顺利连接并使用本地 LLM服务。错误现象分析

当用户尝试使用 AutoGen 库配置本地 LLM 服务(例如通过 LM Studio 启动的 Llama 2 模型),并在 config_list 中指定 api_type: "open_ai" 时,程序会抛出 TypeError: create() got an意外关键字参数 'api_type' 异常。以下典型的错误代码示例:from autogen import AssistantAgent, UserProxyAgentconfig_list = [ { quot;api_typequot;: quot;open_aiquot;, # 导致错误的原因 quot;api_base";: quot;http://localhost:1234/v1quot;, quot;api_keyquot;: quot;NULLquot; }]llm_config = {'config_list': config_list}assistant = AssistantAgent( name=quot;assistantquot;, llm_config = llm_config)user_proxy = UserProxyAgent( name=quot;user_proxyquot;, human_input_mode=quot;NEVERquot;, max_consecutive_auto_reply=100,)task = quot;quot;quot;写一个 python 方法,输出数字 1 到 100quot;quot;quot;user_proxy.initiate_chat(assistant, message=task)登录后

运行复制上述代码将产生类似以下的错误堆栈信息:TypeError: create() got an意外的关键字参数'api_type'登录后复制

此错误明确指出create()方法不接受 api_type 参数。在 AutoGen 的早期版本或某些示例中可能存在此参数,但为了与 OpenAI 官方 API 保持一致性,AutoGen 核心库已删除对 api_type 的显着式支持。尽管现在,只要 api_base 指向一个兼容 OpenAI 存在 API 规范的端点(例如 /v1 路径),AutoGen 就会自动将其视为 OpenAI 兼容服务。

解决方案

解决此问题的方法非常直接:从 config_list 中的配置字典中删除 api_type 字段即可。AutoGen 会根据 api_base 的格式自动识别服务类型。

以下是修改后的代码示例:from autogen import AssistantAgent, UserProxyAgent# 修改后的 config_list,移除了 quot;api_typequot;字段config_list = [ { quot;api_basequot;: quot;http://localhost:1234/v1quot;,#确保指向本地LLM服务的V1兼容API端点 quot;api_keyquot;: quot;NULLquot; # 对于本地LLM,通常设置为quot;NULLquot;或任意字符串 }]llm_config = {'config_list': config_list}assistant = AssistantAgent( name=quot;assistantquot;, llm_config = llm_config)user_proxy = UserProxyAgent( name=quot;user_proxyquot;, human_input_mode=quot;NEVERquot;, max_consecutive_auto_reply=100,)task = quot;quot;quot;写一个python方法,输出数字1到100quot;quot;quot;user_proxy.initiate_chat(assistant, message=task)登录后复制

关键修改点:移去了config_list中字典内的"api_type":"open_ai"行。注意事项与最佳实践 api_base 的格式:确保 api_base 指向的本地 LLM 服务端点是符合 OpenAI API 规范的,通常这意味着 URL 应该以 /v1 结尾(例如 http://localhost:1234/v1)。LM Studio、Ollama 等工具通常会提供这样的兼容接口。api_key 的处理:对于本地 LLM 服务,api_key 字段通常不是简单的,但 AutoGen 的 OpenAI客户端可能仍要求其存在。在这种情况下,可以将其设置为“NULL”、“sk-xxxx” 或任何非空字符串作为占位符。版本兼容性:AutoGen 库的更新迭代较快,API 可能会发生变化。在遇到类似 TypeError 或配置问题时,建议查阅 AutoGen 的官方文档或 GitHub 仓库(尤其是 CHANGELOG 或 Roadmap 部分),以获取最新的配置要求和 API 规范。调试本地 LLM 服务:在运行 AutoGen 之前,请确保您的本地 LLM 服务(如 LM) Studio)启动正确,并且其监听已的端口与 api_base 中指定的端口一致。

可以通过在浏览器中访问 api_base 地址(如 http://localhost:1234/v1/models)来验证服务是否运行。总结

TypeError:create() got an Unexpected keywords argument 'api_type' 错误是由于 AutoGen 库为保持与 OpenAI API 的兼容性而移除了 api_type 参数完成。用户只需从 config_list 中正常移除此参数,并确保 api_base 正确指向本地 LLM服务的OpenAI兼容端点,即可顺利使用AutoGen与本地LLM进行交互。定期查阅官方文档是保持代码与库最新版本兼容的重要习惯。

以上就是AutoGen本地LLM配置指南:解决api_type错误的详细内容,更多关注乐哥常识网其他相关文章!

AutoGen 本地
wordpress表单提交 不使用插件 wordpress表单提交到数据库
相关内容
发表评论

游客 回复需填写必要信息