news 2026/1/27 23:26:45

Python LangChain 开发问题:TypeError: “Could not resolve authentication method. Expected either api_key

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python LangChain 开发问题:TypeError: “Could not resolve authentication method. Expected either api_key
fromlangchain.agentsimportcreate_agentdefget_weather(city:str)->str:"""获取指定城市的天气"""returnf"{city}天气总是晴朗!"agent=create_agent(model="anthropic:claude-sonnet-4-5",tools=[get_weather],system_prompt="你是一个乐于助人的助手",)# 执行代理agent.invoke({"messages":[{"role":"user","content":"旧金山天气如何?"}]})
  • 在 Python 开发中,使用 LangChain 时,执行上述代码时,出现如下错误信息
D:\PythonCode\LangChainTest\.venv\Scripts\python.exe D:\PythonCode\LangChainTest\main.py D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langchain_core\_api\deprecation.py:26: UserWarning: Core Pydantic V1 functionality isn't compatible with Python 3.14 or greater. from pydantic.v1.fields import FieldInfo as FieldInfoV1 Traceback (most recent call last): File "D:\PythonCode\LangChainTest\main.py", line 14, in <module> agent.invoke( ~~~~~~~~~~~~^ {"messages": [{"role": "user", "content": "旧金山天气如何?"}]} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langgraph\pregel\main.py", line 3068, in invoke for chunk in self.stream( ~~~~~~~~~~~^ input, ^^^^^^ ...<10 lines>... **kwargs, ^^^^^^^^^ ): ^ File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langgraph\pregel\main.py", line 2643, in stream for _ in runner.tick( ~~~~~~~~~~~^ [t for t in loop.tasks.values() if not t.writes], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... schedule_task=loop.accept_push, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ): ^ File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langgraph\pregel\_runner.py", line 167, in tick run_with_retry( ~~~~~~~~~~~~~~^ t, ^^ ...<10 lines>... }, ^^ ) ^ File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langgraph\pregel\_retry.py", line 42, in run_with_retry return task.proc.invoke(task.input, config) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langgraph\_internal\_runnable.py", line 656, in invoke input = context.run(step.invoke, input, config, **kwargs) File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langgraph\_internal\_runnable.py", line 400, in invoke ret = self.func(*args, **kwargs) File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langchain\agents\factory.py", line 1131, in model_node response = _execute_model_sync(request) File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langchain\agents\factory.py", line 1102, in _execute_model_sync output = model_.invoke(messages) File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langchain_core\runnables\base.py", line 5548, in invoke return self.bound.invoke( ~~~~~~~~~~~~~~~~~^ input, ^^^^^^ self._merge_configs(config), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **{**self.kwargs, **kwargs}, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langchain_core\language_models\chat_models.py", line 398, in invoke self.generate_prompt( ~~~~~~~~~~~~~~~~~~~~^ [self._convert_input(input)], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<6 lines>... **kwargs, ^^^^^^^^^ ).generations[0][0], ^ File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langchain_core\language_models\chat_models.py", line 1117, in generate_prompt return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langchain_core\language_models\chat_models.py", line 927, in generate self._generate_with_cache( ~~~~~~~~~~~~~~~~~~~~~~~~~^ m, ^^ ...<2 lines>... **kwargs, ^^^^^^^^^ ) ^ File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langchain_core\language_models\chat_models.py", line 1221, in _generate_with_cache result = self._generate( messages, stop=stop, run_manager=run_manager, **kwargs ) File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langchain_anthropic\chat_models.py", line 1915, in _generate data = self._create(payload) File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\langchain_anthropic\chat_models.py", line 1777, in _create return self._client.messages.create(**payload) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\anthropic\_utils\_utils.py", line 282, in wrapper return func(*args, **kwargs) File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\anthropic\resources\messages\messages.py", line 930, in create return self._post( ~~~~~~~~~~^ "/v1/messages", ^^^^^^^^^^^^^^^ ...<26 lines>... stream_cls=Stream[RawMessageStreamEvent], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\anthropic\_base_client.py", line 1326, in post return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\anthropic\_base_client.py", line 1035, in request request = self._build_request(options, retries_taken=retries_taken) File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\anthropic\_base_client.py", line 506, in _build_request headers = self._build_headers(options, retries_taken=retries_taken) File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\anthropic\_base_client.py", line 447, in _build_headers self._validate_headers(headers_dict, custom_headers) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\PythonCode\LangChainTest\.venv\Lib\site-packages\anthropic\_client.py", line 200, in _validate_headers raise TypeError( '"Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"' ) TypeError: "Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted" During task with name 'model' and id '9c34258b-c90f-d21b-f23b-504e5fe2b3f1' Process finished with exit code 1
问题原因
  • 需要设置一个 Claude(Anthropic)账户并获取 API 密钥
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/27 21:25:15

KeyCastr终极指南:快速掌握macOS按键可视化技巧

KeyCastr终极指南&#xff1a;快速掌握macOS按键可视化技巧 【免费下载链接】keycastr KeyCastr, an open-source keystroke visualizer 项目地址: https://gitcode.com/gh_mirrors/ke/keycastr 在屏幕录制、技术演示或在线教学场景中&#xff0c;你是否曾苦恼观众无法看…

作者头像 李华
网站建设 2026/1/10 1:55:05

VideoSrt终极指南:15分钟从零掌握智能字幕制作全流程

VideoSrt终极指南&#xff1a;15分钟从零掌握智能字幕制作全流程 【免费下载链接】video-srt-windows 这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows-GUI 软件工具。 项目地址: https://gitcode.com/gh_mirrors/vi/video-srt-windows 你是否曾经为了给视频…

作者头像 李华
网站建设 2026/1/27 15:08:51

这行转网安,月薪翻倍+不用加班,我后悔没早转!

目录 1.前言2.开发的痛&#xff0c;谁懂&#xff1f; ① 需求变更多&#xff0c;代码改到吐② 加班没完没了&#xff0c;身体扛不住③ 技术更新太快&#xff0c;学不过来 3.转行网安所需技能 ①.代码能力&#xff0c;天然就是安全优势② 技能高度重叠&#xff0c;转型几乎零成…

作者头像 李华
网站建设 2026/1/22 5:56:59

Tabby终端工具:Windows系统下高效命令行操作解决方案

Tabby终端工具&#xff1a;Windows系统下高效命令行操作解决方案 【免费下载链接】Tabby终端工具64位安装包 Tabby是一款功能强大的终端工具&#xff0c;专为开发者设计&#xff0c;集成了多种终端仿真功能&#xff0c;提供便捷高效的命令行操作体验。此版本为Windows 64位系统…

作者头像 李华
网站建设 2026/1/11 13:33:31

Kubernetes网络性能瓶颈如何突破?Cilium路由架构选型实战

Kubernetes网络性能瓶颈如何突破&#xff1f;Cilium路由架构选型实战 【免费下载链接】cilium Cilium 是一个开源的网络和存储编排工具&#xff0c;用于容器网络、负载均衡和网络安全。 * 用于容器网络、负载均衡和网络安全、支持多种编程语言和框架、容器网络。 * 有什么特点&…

作者头像 李华
网站建设 2026/1/25 18:20:02

springboot项目中与接口文档有关的注解

在 Spring Boot 项目中&#xff0c;Swagger&#xff08;主流分为 Swagger 2/Springfox 和 OpenAPI 3/SpringDoc&#xff09; 是接口文档生成的核心框架&#xff0c;而 Knife4j 是基于 Swagger 的增强版&#xff08;完全兼容 Swagger 注解&#xff0c;同时新增少量专属增强注解&…

作者头像 李华