python-3.x 来自Langchain的OpenAI需要“openai_API_key”,即使它已加载

9udxz4iz  于 2024-01-10  发布在  Python
关注(0)|答案(7)|浏览(852)

这是我的代码:

  1. import os
  2. from dotenv import load_dotenv,find_dotenv
  3. load_dotenv(find_dotenv())
  4. print(os.environ.get("OPEN_AI_KEY"))
  5. from langchain.llms import OpenAI
  6. llm=OpenAI(model_name="text-davinci-003",temperature=0.7,max_tokens=512)
  7. print(llm)

字符串
当我执行上面的代码时,我得到这个错误

  1. ValidationError: 1 validation error for OpenAI
  2. __root__
  3. Did not find openai_api_key, please add an environment variable `OPENAI_API_KEY` which contains it, or pass `openai_api_key` as a named parameter. (type=value_error)


医生说
如果你不想设置环境变量,你可以在初始化OpenAI LLM类时直接通过openai_API_key命名参数传入密钥:
但是已经设置好了,打印正确


的数据
当我通过传入命名参数来设置llm时:

  1. llm=OpenAI(openai_api_key="PASSINGCORRECTKEY", model_name="text-davinci-003",temperature=0.7,max_tokens=512)
  2. llm("Tell me a joke")


然后我得到这个错误:

  1. raise ValueError(
  2. "Argument `prompt` is expected to be a string. Instead found "
  3. f"{type(prompt)}. If you want to run the LLM on multiple prompts, use "
  4. "`generate` instead."
  5. )

更新

env变量最初被设置为OPEN_AI_KEY,因为我从调用chat/completions API的其他项目中复制和粘贴。我将env更改为OPENAI_API_KEY,而不是我得到这个错误:

  1. AuthenticationError: Incorrect API key provided: org-Wz3J****************2XK6. You can find your API key at https://platform.openai.com/account/api-keys.


但是当我调用"https://api.openai.com/v1/chat/completions"端点时,相同的API键起作用

ewm0tg9j

ewm0tg9j1#

您可能需要存储OpenAI令牌,然后将其传递给您在这里拥有的llm变量,或者将您的环境变量重命名为openai_api_key
直接传递密钥的一个可能的例子是:

  1. import os
  2. from dotenv import load_dotenv,find_dotenv
  3. load_dotenv(find_dotenv())
  4. prompt = "Your Prompt Here"
  5. OpenAI_key = os.environ.get("OPEN_AI_KEY")
  6. print(OpenAI_token)
  7. from langchain.llms import OpenAI
  8. llm=openai.Completion.create(model_name="text-davinci-003",temperature=0.7,max_tokens=512,openai_api_key=OpenAI_key, prompt=prompt, stop=None)
  9. print(llm)

字符串
现在应该能用了

展开查看全部
azpvetkf

azpvetkf2#

你应该添加一个.env文件并在其中添加open_API_key

  1. open_api_key="xxxx"

字符串

zxlwwiss

zxlwwiss3#

您的env变量必须具有键名称OPENAI_API_KEY这应该可以解决您的问题:
OPEN_AI_KEY => OPENAI_API_KEY

cidc1ykv

cidc1ykv4#

我得到了错误在Yutter笔记本

  • 未找到openai_API_key,请添加一个包含它的环境变量OPENAI_API_KEY,或将openai_api_key作为命名参数传递。(type=value_error)*

对于使用笔记本电脑的人:

  1. %env OPENAI_API_KEY="sk-XXXXXXXXX"

字符串
帮我解决了问题。

aor9mmx1

aor9mmx15#

我得到了类似的错误,但传递openai_API_key作为一个参数解决了这个问题。

  1. api_key= 'sk-xxxxxxxxxxxx'
  2. chat = ChatOpenAI(temperature=0, model=llm_model,openai_api_key=api_key")

字符串

ffdz8vbo

ffdz8vbo6#

添加OPENAI API KEY的最佳方法是将其放在系统环境中。

  • 转到系统环境变量
  • 单击环境变量(右下角)
  • 在用户变量中为用户生成新的系统环境变量
  • 添加OPENAI_API_KEY作为变量名
  • 在变量值中添加'Your_API_key'
  • 现在重新启动IDE。
svmlkihl

svmlkihl7#

对于使用google colab的人,如果%env不适合你,试试:

  1. import os
  2. os.environ['OPENAI_API_KEY'] = 'sk-XXXXXXXXX'

字符串

相关问题