大模型开发(五):实现Jupyter本地调用OpenAI API

全文共3000余字,预计阅读时间约15分钟 | 满满干货,建议收藏!

大模型开发(五):实现Jupyter本地调用OpenAI API_第1张图片

大模型开发(五):实现Jupyter本地调用OpenAI API

OpenAI作为本轮大语言模型技术进步的先驱,其系列大型模型在效果上一直保持着领先。其推出的各类模型如文本模型、对话模型、嵌入模型、编码模型、图文模型及语音模型,构建了全面而丰富的模型生态圈。

另外,OpenAI的大语言模型能够在线进行推理和微调的模型,与那些需要在本地部署的开源模型相比,其在硬件需求、操作难度以及维护成本上都有明显优势。在许多实际开发情景中,OpenAI的在线大模型成为了首选方案。

本文先从如何实现本地调用OpneAI API流程开始!

一、 官网结构组成

OpenAI官网一定是最权威的帮助文档。给出了各类模型详细的参数解释、应用范例,而且还提供了在线调用和测试模型参数的页面。

同时由于需要根据实际调用API情况进行计费,因此查阅调用API计费规则、查阅账户余额以及及时充值,也是很有必要的!

OpenAI API官网地址

1.1 Documentation

大模型开发(五):实现Jupyter本地调用OpenAI API_第2张图片

其中要重点关注:

对于大模型来说多轮对话的累积输入文本的最大数量是有限的,超出这个限制就会导致之前的文本被逐渐遗忘。在Documentation页面,需要清楚了解每个模型的MAX TOKENS,表示输入的最大文本限制。

大模型开发(五):实现Jupyter本地调用OpenAI API_第3张图片

绝大多数模型的MAX TOKENS都是4096tokens,这类模型被称为4k模型,部分模型的MAX TOKENS都是16384tokens,这是一类最新更新的模型(6月13号更新的模型),且尾缀带有16k标志。

一个大概估算的规则是:4K个tokens约等于8000个单词,约4-5页PDF。

1.2 API reference

这个页面中详细讲解了各模型API的参数解释,是开发人员必不可少的说明手册

大模型开发(五):实现Jupyter本地调用OpenAI API_第4张图片

1.3 Playground

Playground页面相当于是网页端的大模型调用应用,可以在这里直接选择不同类型模型、选择不同的参数、输入不同的提示测试模型输出结果,并且这个页面还可以查看网页端操作对应的代码,整体操作流程非常便捷,也非常适合初学者进行零代码的大模型功能测试。

大模型开发(五):实现Jupyter本地调用OpenAI API_第5张图片

1.4 计费规则

OpenAI的在线大模型是通过个人API-Key在线验证的方式向OpenAI线上模型提交计算申请,并实时获取返回结果。因此,在实际调用OpenAI在线大模型会根据调用的不同模型、调用次数及输入输出文本数量进行计费,因此在使用时需要时刻关注费用支出情况。具体计费规则可以在Pricing页面查看

大模型开发(五):实现Jupyter本地调用OpenAI API_第6张图片

大模型开发(五):实现Jupyter本地调用OpenAI API_第7张图片

其中4K Model就表示MAX TOKENS=4096 tokens的模型,而16K模型则表示MAX TOKENS=16384 tokens的模型。

16K模型的费用是4K模型费用的两倍,其实也是因为16K模型需要有相比4K模型更大的“隐藏空间”容量,模型更加复杂,调用所需费用也更高。因此建议若非进行超大规模的多轮对话,应当尽量选择4K模型。

1.5 调用限制

在实际调用API的过程中,出于对计算资源的保护,OpenAI还限制了各模型API的每分钟请求最大次数(RPM:requests-per-minute)和每分钟Token通信量最大值(TPM:tokens-per-minute),这些限制可以在个人中心的Rate limits页面中进行查看

大模型开发(五):实现Jupyter本地调用OpenAI API_第8张图片

如果希望放宽限制,则可以填写申请表格,向官方申请提高限制上限。

申请地址

1.6 账户余额

需要时刻关注账户余额及目前使用金额。可以在个人中心的Usage页面查看当前账户余额,以及过去一段时间的账户消费情况

大模型开发(五):实现Jupyter本地调用OpenAI API_第9张图片

对于每个注册的新账户,系统会默认赠送5刀的使用额度,并保留4个月左右的使用期限。

如果是 商用开发的话,可以在Billing–>Usage limits页面设置每个月最大消费总金额,默认为120刀,若当月API使用金额超过该金额限制,则OpenAI会停止对该API Key调用的响应。该设置可以有效防止由于API滥用导致费用超支

大模型开发(五):实现Jupyter本地调用OpenAI API_第10张图片

大模型开发(五):实现Jupyter本地调用OpenAI API_第11张图片

其中soft limit指的是当API使用支出超过某个预设金额时,会发送邮件进行提醒。

1.7 账户充值

OpenAI账户充值方法和ChatGPT升级PLUS时的充值方法类似,都是先绑定银行卡然后再进行扣费。在Billing–>Payment methods页面绑定可以用于支付的银行卡即可。OpenAI会根据每个月使用消费金额进行扣费,如果不知道如何付费的,看文末内容

大模型开发(五):实现Jupyter本地调用OpenAI API_第12张图片

二、在Jupyter中本地调用OpenAI API

2.1 环境配置

先配置环境变量,前一篇文章已经讲过了,看这篇文章的前三节:

在Jupyter中调用OpenAI API方法

保存重启电脑,使环境变量生效后,即可启动Jupyter测试能否在Jupyter环境下调用OpenAI大模型API。

对于国内用户,是无法直接访问OpenAI的,需要让Jupyter在代理环境下启动,即需要令Jupyter可以通过代理来访问网络。具体设置方法如下:

Step 1:启动魔法并设置全局代理模型

以我自己用的魔法举例,代理端口如下:

大模型开发(五):实现Jupyter本地调用OpenAI API_第13张图片

大多数代理都是借助本地回环进行代理,即127.0.0.1,因此当前魔法的代理地址和端口为:127.0.0.1:15732。

Step 2: 配置Jupyter代理

让Jupyter通过代理方式访问网络,最简单的方法就是利用cmd命令行启动jupyter

大模型开发(五):实现Jupyter本地调用OpenAI API_第14张图片

然后在命令行中启动Jupyter,并且每次启动前输入代理环境设置,即按照如下命令顺序启动Jupyter:

大模型开发(五):实现Jupyter本地调用OpenAI API_第15张图片

如果报错:

image-20230717173008620

解决办法:

新版Anaconda安装时并不会自动添加环境变量,打开环境变量配置页面,然后点击系统变量内的Path并点击编辑:

大模型开发(五):实现Jupyter本地调用OpenAI API_第16张图片

然后添加C:\ProgramData\anaconda3\condabin和C:\ProgramData\anaconda3\Scripts两个变量(这两个变量的地址需要是自己安装Anaconda时的安装位置)

大模型开发(五):实现Jupyter本地调用OpenAI API_第17张图片

再次测试:

大模型开发(五):实现Jupyter本地调用OpenAI API_第18张图片

  

2.2 调用测试

顺利启动Jupyter之后,即可测试能否顺利调用OpenAI大模型,测试代码如下:

import os
import openai

openai.api_key = os.getenv("OPENAI_API_KEY")

openai.Completion.create(
  model="text-davinci-003",
  prompt="Say this is a test",
  max_tokens=7,
  temperature=0
)

结果如下:成功

大模型开发(五):实现Jupyter本地调用OpenAI API_第19张图片

好了,完成,快动手试一试吧!下一篇继续!

最后,感谢您阅读这篇文章!如果您觉得有所收获,别忘了点赞、收藏并关注我,这是我持续创作的动力。您有任何问题或建议,都可以在评论区留言,我会尽力回答并接受您的反馈。如果您希望了解某个特定主题,也欢迎告诉我,我会乐于创作与之相关的文章。谢谢您的支持,期待与您共同成长!

最后,给大家送上干货!建议大家点赞&收藏,Mark住别丢了。有高质量资料免费送!

1. 关于魔法,你需要知道的

2. 超全流程!OpenAI账户注册看这里!

3. ChatGPT Plus 升级指南

你可能感兴趣的:(jupyter,AIGC,gpt,AI编程,prompt)