项目场景:
项目场景:我申请使用openai公司的api借口调用,其中一种方式是为所有的项目设置环境变量OPEN_API_KEY,这种方式可以自行百度,网上介绍的非常多了,另一种方式是Setup your API key for a single project。
问题描述
项目提示中使用.env文件去设置环境变量,将OPEN_API_KEY的值保存在.env文件中。
上面是OPENAI公司的设置方式,但在实际操作过程中会遇到报错:
Traceback (most recent call last):
File "D:\pyworkspace\ARATools\Utils\mutiKeys.py", line 6, in <module>
client = OpenAI(
^^^^^^^
File "D:\App\Anaconda\envs\pytorch_cpu\Lib\site-packages\openai\_client.py", line 93, in __init__
raise OpenAIError(
openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable
解决方案:
经过我多次百度和google查询,终于解决了这个问题。只需要在代码中添加Python-dotenv包即可解决。
step1
pip install python-dotenv
step2 添加如下代码
from dotenv import load_dotenv
load_dotenv('.env')
最后给出完整代码:
```python
from openai import OpenAI
import os
from dotenv import load_dotenv
load_dotenv('.env')
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY2"),
)
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a poetic assistant"},
{"role": "user", "content": "3+4"}
]
)
print(completion.choices[0].message)
这种方法可以适用于多OPENAI_API_KEY的调用方式,避免单一请求超过openai的规定请求上限。