使用langchain调用hug模型报的错
·
1、代码如下:
# from basic import os
import os
from langchain_huggingface import HuggingFaceEndpoint, ChatHuggingFace
from dotenv import load_dotenv
load_dotenv()
ENDPOINT_URL = "Qwen/Qwen3-8B"
# ENDPOINT_URL = "deepseek-ai/DeepSeek-R1"
HF_TOKEN = os.getenv('HF_TOKEN')
llm = HuggingFaceEndpoint(
endpoint_url=ENDPOINT_URL,
huggingfacehub_api_token=HF_TOKEN
)
# 生成key时需要把权限都点上
chat_model = ChatHuggingFace(llm=llm)
resp = chat_model.invoke("解释 prompt 是什么?")
print(resp)
2、执行报错

报错内容如下:
C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Scripts\python.exe C:\Users\lenovo\PycharmProjects\PythonProject\rag\day03\13-调用hug模型.py
C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langchain_core\utils\pydantic.py:41: UserWarning: Core Pydantic V1 functionality isn't compatible with Python 3.14 or greater.
from pydantic.v1 import BaseModel as BaseModelV1
Traceback (most recent call last):
File "C:\Users\lenovo\PycharmProjects\PythonProject\rag\day03\13-调用hug模型.py", line 17, in <module>
resp = chat_model.invoke("解释 prompt 是什么?")
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langchain_core\language_models\chat_models.py", line 474, in invoke
self.generate_prompt(
~~~~~~~~~~~~~~~~~~~~^
[self._convert_input(input)],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<6 lines>...
**kwargs,
^^^^^^^^^
).generations[0][0],
^
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langchain_core\language_models\chat_models.py", line 1847, in generate_prompt
return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langchain_core\language_models\chat_models.py", line 1654, in generate
self._generate_with_cache(
~~~~~~~~~~~~~~~~~~~~~~~~~^
m,
^^
...<2 lines>...
**kwargs,
^^^^^^^^^
)
^
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langchain_core\language_models\chat_models.py", line 1994, in _generate_with_cache
result = self._generate(
messages, stop=stop, run_manager=run_manager, **kwargs
)
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langchain_huggingface\chat_models\huggingface.py", line 748, in _generate
answer = self.llm.client.chat_completion(messages=message_dicts, **params)
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\huggingface_hub\inference\_client.py", line 923, in chat_completion
request_parameters = provider_helper.prepare_request(
inputs=messages,
...<3 lines>...
api_key=self.token,
)
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\huggingface_hub\inference\_providers\_common.py", line 94, in prepare_request
api_key = self._prepare_api_key(api_key)
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\huggingface_hub\inference\_providers\_common.py", line 149, in _prepare_api_key
raise ValueError(
f"You must provide an api_key to work with {self.provider} API or log in with `hf auth login`."
)
ValueError: You must provide an api_key to work with auto API or log in with `hf auth login`.
Process finished with exit code 1
后面,我在https://huggingface.co/settings/tokens
这里新建了一个令牌

把对应的令牌也放到环境变量里面了。再次执行,还是报错


报错内容如下:
C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Scripts\python.exe C:\Users\lenovo\PycharmProjects\PythonProject\rag\day03\13-调用hug模型.py
C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langchain_core\utils\pydantic.py:41: UserWarning: Core Pydantic V1 functionality isn't compatible with Python 3.14 or greater.
from pydantic.v1 import BaseModel as BaseModelV1
Traceback (most recent call last):
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\huggingface_hub\utils\_http.py", line 761, in hf_raise_for_status
response.raise_for_status()
~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\httpx\_models.py", line 829, in raise_for_status
raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '403 Forbidden' for url 'https://router.huggingface.co/v1/chat/completions'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\lenovo\PycharmProjects\PythonProject\rag\day03\13-调用hug模型.py", line 17, in <module>
resp = chat_model.invoke("解释 prompt 是什么?")
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langchain_core\language_models\chat_models.py", line 474, in invoke
self.generate_prompt(
~~~~~~~~~~~~~~~~~~~~^
[self._convert_input(input)],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<6 lines>...
**kwargs,
^^^^^^^^^
).generations[0][0],
^
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langchain_core\language_models\chat_models.py", line 1847, in generate_prompt
return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langchain_core\language_models\chat_models.py", line 1654, in generate
self._generate_with_cache(
~~~~~~~~~~~~~~~~~~~~~~~~~^
m,
^^
...<2 lines>...
**kwargs,
^^^^^^^^^
)
^
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langchain_core\language_models\chat_models.py", line 1994, in _generate_with_cache
result = self._generate(
messages, stop=stop, run_manager=run_manager, **kwargs
)
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langchain_huggingface\chat_models\huggingface.py", line 748, in _generate
answer = self.llm.client.chat_completion(messages=message_dicts, **params)
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\huggingface_hub\inference\_client.py", line 930, in chat_completion
data = self._inner_post(request_parameters, stream=stream)
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\huggingface_hub\inference\_client.py", line 283, in _inner_post
hf_raise_for_status(response)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\huggingface_hub\utils\_http.py", line 849, in hf_raise_for_status
raise _format(HfHubHTTPError, message, response) from e
huggingface_hub.errors.HfHubHTTPError: (Request ID: Root=1-6a365df8-5a2f89fe0a9f36771bdb9311;e1e76bc4-06ca-4020-bbef-f4fcf835913d)
403 Forbidden: This authentication method does not have sufficient permissions to call Inference Providers on behalf of user veminhe.
Cannot access content at: https://router.huggingface.co/v1/chat/completions.
Make sure your token has the correct permissions.
Process finished with exit code 1
问了大佬后,大佬给的建议是勾选所有能勾选的选项,然后我参考做了,再次执行代码,调用成功,截图如下:

更多推荐

所有评论(0)