我正在尝试遵循
"official"
langchain 教程 如何使用 llm model = gemini-1.5-flash
通过 CSV 进行问答,但我的代码无论如何都失败了。 我正在 Jupyter 笔记本中编写/运行代码。在执行代码之前,我转到我的 Google Cloud 帐户并创建了一个 API 密钥并将其命名为“GOOGLE_API_KEY”,如下所示,因为教程代码需要它。
我使用 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")
这是我收到的错误:错误显示
GoogleAuthError
和
exceptions.DefaultCredentialsError(_CLOUD_SDK_MISSING_CREDENTIALS)
。 但langchain教程代码不需要它。非常感谢经验丰富的 stackoverflowers 提供的有用意见。
文档,发现我应该在项目下的服务帐户下创建一个 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"