Google Gemini API 错误:“DefaultCredentialsError:未找到您的默认凭据。”

问题描述 投票:0回答:1

我想在没有默认凭据的情况下使用 Google API。还有其他方法可以直接使用 API 吗?

错误:

DefaultCredentialsError: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.
Traceback:
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 534, in _run_script
    exec(code, module.__dict__)
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/App.py", line 63, in <module>
    response=get_gemini_response(input_prompt,image_data,input)
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/App.py", line 16, in get_gemini_response
    response=model.generate_content([input,image[0],prompt])
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/generative_models.py", line 241, in generate_content
    self._client = client.get_default_generative_client()
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/client.py", line 230, in get_default_generative_client
    return _client_manager.get_default_client("generative")
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/client.py", line 161, in get_default_client
    client = self.make_client(name)
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/client.py", line 121, in make_client
    client = cls(**self.client_config)
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/ai/generativelanguage_v1beta/services/generative_service/client.py", line 433, in __init__
    self._transport = Transport(
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/ai/generativelanguage_v1beta/services/generative_service/transports/grpc.py", line 150, in __init__
    super().__init__(
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/ai/generativelanguage_v1beta/services/generative_service/transports/base.py", line 98, in __init__
    credentials, _ = google.auth.default(
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/auth/_default.py", line 691, in default
    raise exceptions.DefaultCredentialsError(_CLOUD_SDK_MISSING_CREDENTIALS)
google-cloud-platform google-api google-gemini gemini-ai
1个回答
0
投票

问题

正如错误所示,您尚未设置应用程序默认凭据(即 ADC)。

3种方式可以设置ADC

  1. GOOGLE_APPLICATION_CREDENTIALS
    环境变量
  2. 使用 Google Cloud CLI 设置用户凭据
  3. 附加的服务帐户,由元数据服务器返回

解决方案

我将解释如何使用

GOOGLE_APPLICATION_CREDENTIALS
环境变量设置 ADC。

第 1 步:点击 CREATE SERVICE ACCOUNT 为您的 Google Cloud 项目创建服务帐号

第 2 步:创建服务后单击该服务,然后转到 KEYS 选项卡

第 3 步:单击 ADD KEY 并创建一个新密钥

第 4 步:选择 JSON 并单击 CREATE

第 5 步:转到您的 Downloads 文件夹,您应该在那里看到密钥(即 JSON 文件)

第 6 步:将密钥(即 JSON 文件)设置为环境变量,因为密钥应自动从浏览器下载

Variable name: GOOGLE_APPLICATION_CREDENTIALS
Variable value: C:\Users\PATH\TO\YOUR\KEY\xxxxxxxxxxxxxxxxx.json

将密钥设置为环境变量后不要忘记重新启动计算机!


现在,ADC 将搜索

GOOGLE_APPLICATION_CREDENTIALS
环境变量并查看 JSON 文件以查看是否允许我们访问资源。

此外,我还制作了一个关于如何使用 Vertex AI Gemini Pro API 的 YouTube 教程,其中我还介绍了设置 ADC 的步骤,并在我的 GitHub 个人资料上发布了 代码

© www.soinside.com 2019 - 2024. All rights reserved.