二、OpenAI开发者快速入门


启动并运行OpenAI API

        OpenAI API 为开发者提供一个简单的接口,使其能够在他们的应用中创建一个智能层,由OpenAI最先进的模型提供支持。聊天补全端点为ChatGPT提示支持,一种简单的方法是:输入文本,使用GPT-4模型输出。 本入门教程将帮助你安装本地的开发环境,并发送第一个API请求。如果你是一个经验丰富的开发者或想深入的使用OpenAI API,GPT指南的API参考手册对你将有很大帮助。通过这个快速入门教程,你将学习到:
  • 如何安装开发环境
  • 安装最新的SDKs
  • OpenAI Api 的一些基本概念
  • 发送你的第一个API请求

1. 帐号设置

注册一个OpenAI账号,已有请登录,并创建密钥,自定义密钥的名称,妥善保存密钥,不要与他人共享。

2. 开发语言选择

Python是一门非常流行的编程语言,由于它的易用性,广泛应用在数据应用开发、web开发和其它一些编程任务。OpenAI提供了一个定制的Python开发库,使开发者能够高效、简捷的进行调用。

3. 安装Python

为了能够使用OpenAI Python 开发库,确保你已经安装了Python。一些电脑系统已经预装了Python,而有的则需要你自己进行安装。测试你的电脑是否安装了Python,打开终端或命令行工具:

  • 苹果系统:打开终端:可以在应用程序里查找或通过Spotlight进行搜索
  • windows系统:打开命令行:可以在开始菜单输入"cmd"进行搜索

在终端或命令行输入python,并回车,如果可以进入Python解释器,证明已经安装了Python,跳过此步,直接进入下一步。如果显示错误信息:“错误:Python命令没找到”,则需要安装Python,直到Python在终端或命令行可用。
可以到官方站点安装最新的Python版本,OpenAI API Python库需要Python版本至少为3.7.1或更高,如果你是首次安装Python,可参考Python官方的新手安装指南。

3.1 安装虚拟环境(可选)

一旦你成功安装了Python环境,通过虚拟环境安装OpenAI是一个很好的选择。虚拟环境提供一个干净工作空间,并可避免和其它项目环境产生冲突。如果你不想安装虚拟环境,可跳过此步。
如果安装虚拟环境,Python提供了一个内置的venv模块,为虚拟环境的安装提供了基本的支持。运行下面的命令在当前目录创建一个命名为“openai-env”的虚拟环境:

python -m venv openai-env

创建虚拟环境之后,你需要激活它:

# windows
openai-env\Scripts\activate
# Unix or MacOS
source openai-env/bin/activate

执行成功后,你会发现终端或命令行最左侧显示“openai-evn”。

3.2 安装OpenAI Python库

如果你已经安装了Python3.7.1或更高的版本的虚拟环境,执行下面命令安装OpenAI Python库:

pip install --upgrade openai

安装成功之后,可以通过pip list查看OpenAI 是否安装成功

4. 安装API key

4.1 为所有项目安装API key(推荐)

这种安装方法的好处是使你的所有项目能够自动检测访问API key,不用写任何代码。

苹果系统

  1. 打开终端:可通过应用文件夹或Spotlight查找(Command + Space)
  2. 编辑Bash Profile: 使用命令nano ~/.bash_profile 或 nano ~/.zshrc(新的MacOS版本) 打开配置文件
  3. 添加环境变量:在编辑器中加入下面的配置,替换your-api-key-here为你的API key:
    export OPENAI_API_KEY='your-api-key-here'
    
  4. 保存并退出:按Ctrl + O 保存更改,Ctrl + X 关闭编辑器
  5. 加载配置文件:使用命令:source ~/.bash_profile 或 source ~/.zshrc 加载配置
  6. 验证:在终端输入: echo $OPENAI_API_KEY,如果显示你的API key则配置成功

windows

  1. 打开命令提示行:可从开始菜单搜索"cmd"
  2. 在当前的会话临时设置环境变量:执行下面的命令设置环境变量,并把your-api-key-here替换成你自己的key
setx OPENAI_API_KEY "your-api-key-here"
  1. 永久设置环境变量:通过系统属性设置永久环境变量
    • 右击“我的电脑”选择属性
    • 选择系统高级设置
    • 点击环境变量按钮
    • 在系统变量窗口点击新建,并输入OPENAI_API_KEY 作为变量名,API key作为变量值
  2. 验证:在终端输入: echo $OPENAI_API_KEY,如果显示你的API key则配置成功

4.2 为单独项目安装API key

如果你只想让单独的项目访问API key,你可以创建一个本地的文件.env,并写入你的API key,使用Python代码显示的调用,步骤如下:
在你的项目根目录创建.env文件,并写入如下内容:

# 替换为你的key
OPENAI_API_KEY=abc123

下面的代码可引入key

from openai import OpenAIclient = OpenAI()
# 默认会通过 os.environ.get("OPENAI_API_KEY")获得key
# 如果你设置的变量名不同,可通过下面代码获得
# client = OpenAI(
#   api_key=os.environ.get("CUSTOM_ENV_NAME"),
# )

5. 发送第一个API请求

当Python安装和API key配置成功后,现在就可调用OpenAI API,创建一个openai-test.py文件,写入下面代码:

from openai import OpenAI
client = OpenAI()completion = client.chat.completions.create(model="gpt-3.5-turbo",messages=[{"role": "system", "content": "你是一个诗人,你能创作很多的诗"},{"role": "user", "content": "请创作一首关于2024年春节的七言诗."}]
)print(completion.choices[0].message)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2778087.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Boot3统一结果封装

⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途。 目录 前置条件 封装目的 常用格式 定义返回结果枚举类 定义返回结果封装类 对返回结果封装 测试封装 前置条件 已…

【Linux】Linux下的基本指令

Linux下的基本指令 Linux 的操作特点:纯命令行ls 指令文件 pwd命令Linux的目录结构绝对路径 / 相对路径,我该怎么选择? cd指令touch指令mkdir指令(重要)rmdir指令rm 指令(重要)man指令&#xff…

C语言分钟计算

一.题目描述 给你同一天的两个时间(24小时制),求这两个时间内有多少分钟,保证第一个时间在第二个时间之前. 二.输入描述 输入两行,每行包括两个整数表示小时和分钟. 三.输出描述 输出分钟数. 四.示例 输入 10 10 11 05 输出 55 五.代码

烟火可禁却难禁,灵境难及终将及

现实痛点 2024年1月30日,贵阳市发生了一件令人痛心的事,有人在小区内放烟花导致失火,一男子具备足够的消防安全知识,知道如何使用消防栓却因设施不合格接不上消防栓,接上了又没水,消防员来也束手无策&…

【Django】Django中间件

Django中间件 1 中间件的定义 中间件是Django请求/响应处理的钩子框架。它是一个轻量级的、低级的“插件”系统,用于全局改变Django的输入或输出。 中间件以类的形式体现。 每个中间件组件负责做一些特定的功能。例如,Django包含一个中间件组件Authen…

Redis -- 渐进式遍历

家,是心的方向。不论走多远,总有一盏灯为你留着。桌上的碗筷多了几双,笑声也多了几分温暖。家人团聚,是最美的风景线。时间:2024年 2月 8日 12:51:20 目录 前言 语法 示例 前言 试想一个场景,那就是在key非常多的…

前端vue学习

1.创建vue项目 2.绑定html属性值 3.v-bind : 4.v-if 5.v-for 6.更改html内容 7.e.preventDefault()阻止默认事件 8.事件修饰符号,使用.prevent可以达到和上面一样的效果 9.阻止事件冒泡 10.计算属性缓存与方法,计算属性存在缓存,…

Bean 的作用域

Bean 的作用域种类 在 Spring 中⽀持 6 种作⽤域,后 4 种在 Spring MVC 环境才⽣效 1. singleton:单例作⽤域 2. prototype:原型作⽤域(多例作⽤域) 3. request:请求作⽤域 4. session:会话作⽤…

Android:内存泄漏检查内存优化

3.17Android优化 手机移动设备的内存是有限的,需要避免内存泄漏,优化内存使用。 1.java中四种引用类型 强引用、软引用、弱引用、虚引用。 强引用:使用类构造方法,创建对象,当内存超出了,也不会释放对象所占内存空间; String str = new String(‘1223’); 切断引用str=…

Python pandas中read_csv函数的io参数

前言 在数据分析和处理中,经常需要读取外部数据源,例如CSV文件。Python的pandas库提供了一个强大的 read_csv() 函数,用于读取CSV文件并将其转换成DataFrame对象,方便进一步分析和处理数据。在本文中,将深入探讨 read…

Java与MySQL的精准结合:打造高效审批流程

1流程思路分析 审批流程🐱‍💻 1.串行流程 当前节点审批完成后,下一次节点才能进行操作,例如经理通过之后,总监才能审批; 2.并行流程 一个审批节点需要多人联审。一般有两种方式:会签、或签…

尚硅谷 Vue3+TypeScript 学习笔记(中)

目录 三、路由 3.1. 【对路由的理解】 3.2. 【基本切换效果】 3.3. 【两个注意点】 3.4.【路由器工作模式】 3.5. 【to的两种写法】 3.6. 【命名路由】 3.7. 【嵌套路由】 3.8. 【路由传参】 query参数 params参数 3.9. 【路由的props配置】 3.10. 【 replace属性…

C++,stl,list容器详解

目录 1.list基本概念 2.list构造函数 3.list的赋值和交换 4.list大小操作 5.list的插入的删除 6.list数据存取 7.list反转和排序 排序案例 1.list基本概念 2.list构造函数 #include<bits/stdc.h> using namespace std;void print(const list<int> &lk) …

.NET命令行(CLI)常用命令

本文用于记录了.NET软件开发全生命周期各阶段常用的一些CLI命令&#xff0c;用于开发速查。 .NET命令行&#xff08;CLI&#xff09;常用命令 项目创建&#xff08;1&#xff09;查看本机SDK&#xff08;2&#xff09;查看本机可以使用的.NET版本&#xff08;3&#xff09;生成…

【开源】SpringBoot框架开发桃花峪滑雪场租赁系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 游客服务2.2 雪场管理 三、数据库设计3.1 教练表3.2 教练聘请表3.3 押金规则表3.4 器材表3.5 滑雪场表3.7 售票表3.8 器材损坏表 四、系统展示五、核心代码5.1 查询教练5.2 教练聘请5.3 查询滑雪场5.4 滑雪场预定5.5 新…

基于完全二叉树实现线段树-- [爆竹声中一岁除,线段树下苦踌躇]

文章目录 一.完全二叉树完全二叉树的父子结点引索关系 二.线段树三.基于完全二叉树实现线段树关于线段树的结点数量问题的证明递归建树递归查询区间和递归单点修改线段树模板题 一.完全二叉树 完全二叉树的物理结构是线性表,逻辑结构是二叉树 完全二叉树的父子结点引索关系 …

【数据结构】双向链表(链表实现+测试+原码)

前言 在双向链表之前&#xff0c;如果需要查看单链表来复习一下&#xff0c;链接在这里&#xff1a; http://t.csdnimg.cn/Ib5qS 1.双向链表 1.1 链表的分类 实际中链表的结构非常多样&#xff0c;以下情况组合起来就有8种链表结构&#xff1a; 1.1.1 单向或者双向 1.1.2 …

专业135+总400+中国科学院大学859国科大信号与系统考研经验电子信息与通信,真题,大纲,参考书

今年考研专业课859信号与系统135&#xff0c;总分400上岸国科大&#xff0c;总结一下自己这一年的复习经验&#xff0c;希望对后面报考中科院大学的同学有所帮助。 专业课&#xff1a; 国科大不同研究所都是统一命题&#xff0c;859信号与系统的参考书目是郑君里的《信号与系…

C语言——oj刷题——调整数组使奇数全部都位于偶数前面

题目&#xff1a; 输入一个整数数组&#xff0c;实现一个函数&#xff0c;来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分&#xff0c;所有偶数位于数组的后半部分。 一、实现方法&#xff1a; 当我们需要对一个整数数组进行调整&#xff0c;使得奇数位于数…

[职场] 职场上该如何和同事相处呢?七种方法教你和同事友好相处 #其他#媒体

职场上该如何和同事相处呢&#xff1f;七种方法教你和同事友好相处 在职场上&#xff0c;如何和同事相处是一堂必修课。同事&#xff0c;是我们天天必须看到的人&#xff0c;只有和同事友好相处&#xff0c;我们才能生活得更好&#xff0c;工作得更好。那么&#xff0c;我们在…