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

问了大佬后,大佬给的建议是勾选所有能勾选的选项,然后我参考做了,再次执行代码,调用成功,截图如下:

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐