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

9udxz4iz  于 4个月前  发布在  Python
关注(0)|答案(7)|浏览(653)

这是我的代码:

import os
from dotenv import load_dotenv,find_dotenv
load_dotenv(find_dotenv())

print(os.environ.get("OPEN_AI_KEY"))

from langchain.llms import OpenAI
llm=OpenAI(model_name="text-davinci-003",temperature=0.7,max_tokens=512)
print(llm)

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

ValidationError: 1 validation error for OpenAI
__root__
  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时:

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


然后我得到这个错误:

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

更新

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

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
直接传递密钥的一个可能的例子是:

import os
from dotenv import load_dotenv,find_dotenv
load_dotenv(find_dotenv())

prompt = "Your Prompt Here"
OpenAI_key = os.environ.get("OPEN_AI_KEY")
print(OpenAI_token)

from langchain.llms import OpenAI
llm=openai.Completion.create(model_name="text-davinci-003",temperature=0.7,max_tokens=512,openai_api_key=OpenAI_key, prompt=prompt, stop=None)
print(llm)

字符串
现在应该能用了

azpvetkf

azpvetkf2#

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

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)*

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

%env OPENAI_API_KEY="sk-XXXXXXXXX"

字符串
帮我解决了问题。

aor9mmx1

aor9mmx15#

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

api_key= 'sk-xxxxxxxxxxxx'
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不适合你,试试:

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

字符串

相关问题