在学习 langchain 教程时遇到 GoogleAuthError

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

我正在尝试遵循

"official"
langchain 教程 如何使用 llm model = gemini-1.5-flash
 通过 CSV 进行问答,但我的代码无论如何都失败了。   我正在 Jupyter 笔记本中编写/运行代码。

在执行代码之前,我转到我的 Google Cloud 帐户并创建了一个 API 密钥并将其命名为“GOOGLE_API_KEY”,如下所示,因为教程代码需要它。

enter image description here

我使用 Jupyter Notebook 运行教程中的代码没有任何问题,直到执行 getpass() 逻辑时卡住了。我通过使用

getpass

 替换 
load_dotenv()
 做了解决方法,如下所示。

from dotenv import load_dotenv # import getpass import os load_dotenv() os.environ["GOOGLE_API_KEY"]
我创建了一个 

.env

 文件,其中包含 dotenv_load_env() 能够成功读取的 
GOOGLE_API_KEY=<value>
 行。

但是不幸的是,我在执行llm赋值语句时遇到了错误。

from langchain_google_vertexai import ChatVertexAI llm = ChatVertexAI(model="gemini-1.5-flash")
这是我收到的错误:

enter image description here

错误显示

GoogleAuthError

exceptions.DefaultCredentialsError(_CLOUD_SDK_MISSING_CREDENTIALS)
。  但langchain教程代码不需要它。

非常感谢经验丰富的 stackoverflowers 提供的有用意见。

python large-language-model google-cloud-vertex-ai
1个回答
0
投票
我检查了 LangChain 的 google_vertex_ai

文档,发现我应该在项目下的服务帐户下创建一个 credentials json

 - 只需按照此 
Youtube 链接 进行设置即可。 我没有新的服务帐户,因此我在我创建 CGP 帐户来探索 LLM 时 GCP 为我创建的默认项目“我的第一个项目”下添加了一个。

YouTube 说明自动将凭证 json 保存到您的本地驱动器 - 我将 json 文件移至与我的 LLM 模块相同的 python 文件夹,然后我将

set up GCP credentials

 代码块更新为以下内容:

# SET UP GCP Credentials # Create two credentials to access the llm model USING Google Cloud console: # a. GOOGLE_API_KEY # b. GOOGLE_APPLICATION_CREDENTIALS (set this up under a service account) from dotenv import load_dotenv # import getpass import os # run load_dotenv() to get the GOOGLE_API_KEY value from the .env file load_dotenv() os.getenv("GOOGLE_API_KEY") # copy the downloaded credentials json to the same folder as this python module and run the following os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "./my_account_credentials.json"
    
© www.soinside.com 2019 - 2024. All rights reserved.