记录openai官网关于Setup your API key for a single project(为单个项目设置API 可以)的错误(2023/11/24)

简介: 记录openai官网关于Setup your API key for a single project(为单个项目设置API 可以)的错误(2023/11/24)

项目场景:

项目场景:我申请使用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的规定请求上限。

https://platform.openai.com/docs/quickstart?context=python


目录
相关文章
|
1月前
|
存储 JSON API
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)
45 7
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)
|
1月前
|
JSON API 数据格式
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(2)
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(2)
51 0
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(2)
|
1月前
|
前端开发 JavaScript API
惊呆了!学会AJAX与Fetch API,你的Python Web项目瞬间高大上!
在Web开发领域,AJAX与Fetch API是提升交互体验的关键技术。AJAX(Asynchronous JavaScript and XML)作为异步通信的先驱,通过XMLHttpRequest对象实现了局部页面更新,提升了应用流畅度。Fetch API则以更现代、简洁的方式处理HTTP请求,基于Promises提供了丰富的功能。当与Python Web框架(如Django、Flask)结合时,这两者能显著增强应用的响应速度和用户体验,使项目更加高效、高大上。
50 2
|
2月前
|
人工智能 Serverless API
一键服务化:从魔搭开源模型到OpenAI API服务
在多样化大模型的背后,OpenAI得益于在领域的先发优势,其API接口今天也成为了业界的一个事实标准。
一键服务化:从魔搭开源模型到OpenAI API服务
|
3月前
|
数据可视化 机器人 API
Openai的API相关全部概论汇总(通用版)
本文是2024年Openai API的全面概论汇总,涵盖了Openai平台概览、相关项目推荐(如ChatGPT-Next-Web和chatgpt-on-wechat)、账户分级制度与速率限制、费用详情以及如何快速开始使用Openai的API,为有兴趣使用Openai服务的开发者提供了详细的入门指南和资源链接。
Openai的API相关全部概论汇总(通用版)
|
1月前
|
前端开发 JavaScript API
告别繁琐!AJAX与Fetch API,让你的前后端沟通畅通无阻,项目效率飙升!
在Web开发中,前后端的顺畅沟通至关重要。传统方法常需频繁刷新页面,影响体验与效率。AJAX和Fetch API的出现简化了这一过程。AJAX利用XMLHttpRequest实现局部页面更新,提升用户体验;Fetch API则以更简洁的语法和强大的功能,进一步优化异步请求处理。两者均能显著提高开发效率,简化代码结构,让项目迭代更快速。拥抱这些技术,让Web开发之路更加顺畅。
26 0
|
3月前
|
开发框架 JSON .NET
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
|
3月前
|
API 网络架构 开发者
【Azure 环境】调用Azure RunCommand 的REST API 设置虚拟机的环境变量(SetEnvironmentVariable)
【Azure 环境】调用Azure RunCommand 的REST API 设置虚拟机的环境变量(SetEnvironmentVariable)
|
3月前
|
JSON Java API
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?
|
3月前
|
存储 API 开发工具
【Azure API 管理】API Management如何有效且快速更新呢?如对APIs/Policy等设置内容
【Azure API 管理】API Management如何有效且快速更新呢?如对APIs/Policy等设置内容