OpenAI文档翻译——搭建第一个自己的ChatGPT应用

这篇主要是讲了重头到位创建一个基于OpenAI API的应用程序的过程,同时给出了Node.js、Python版本的实例代码。应用程序的构建总体来说是很简单的就是一个接口调用,前提是我们需要提供密匙。

如果想要获取更好的结果返回一个是可以给模型提供一些列子从而更好的帮助他理解我们想要干什么,还有一个就是调整参数,来控制生成结果的离散性。示例中给出的模型是通用模型,如果想要针对特定场景给更多的示例进行训练,则可以采用微调模型。目前国内在调用的时候可能要麻烦一些主要是网络问题以及密匙的生成。

在本篇文章中将上一篇中定义的“代币符号”改为了令牌,令牌更符合行业的一个主流称呼,代币符号则可以帮助理解它的作用于含义。

OpenAPI训练出了非常擅长理解和文本生成的语言模型,同通过API的形式给用户提供对这些模型的访问,从而来解决几乎设计任何领域的文本生成任务。

在本篇快速入门教程中你将通过构建一个简单的示例应用程序,来学习日后更复杂场景下使用API的基本概念和技术,他包括:内容生成、摘要、实体分类、情感分析、数据提取、翻译......

模型使用

提示词补全是API的核心,他通过提供一个异常灵活且强大的接口,通过你输入的一些文本或提示,来为你补全对话的上下文。如同你给他输入一个"为一家冰淇淋店写一个标语"他则会回复一个"融化你的心,一个甜蜜的口感"

你可以认为这是一个非常高级的自动补全工具——他会处理你输入的内容从而预测接下来最有可能发生的内容。

(一)一个简单的提示词

假如你想要为一个宠物起一个名字,毫无头绪从零开始的时候他将会是非常难的,而这些OpenAPI可以帮你。首先你需要给他一个提示词来明确你想要干什么。如果你给他的说的是“给我的马起一个名字”与“给我的黑马起一个名字”那么他们得到的结果将会是不一样的,而这一切仅仅是因为一个形容词的改变。设计恰当的提示词本质上就是你如何训练这个“模型”,从而让他告诉你你所想要的结果。

创建好的提示词对于获取一个好的结果是重要的,但是这往往并不能够满足我们的需求。接下来我们尝试设计一些更复杂的提示词:

给一匹超级英雄马起三个名字

这时得到的结果并不是我们想要的,他所给出我们的答案都非常的通用似乎模型并有没识别到我们模型中关于马的这部分。接下来让我们尝试一下让他提出一些更加符合预期的结果。

(二)给模型添加一些示例

在很多时候,告诉模型我们想要的是什么是非常有帮助的。例如我们可以在提示词中给出一些例子可以帮助模型识别出我们提示词中细微的差别。现在我们尝试提交一个包含一些示例的提示词:

给超级英雄的动物起三个名字

动物:猫

名字:Sharpclaw船长,Fluffball探员,不可思议的猫

动物:狗狗

名字:护国公拉夫,神奇犬,狂吠爵士

动物:马

的名字:

这样的输入我们就会容易获得一个符合我们期望的结果。就像上面说的给模型添加我们期望的输出示例,可以帮助模型提供我们正在寻找的名称类型。

(三)调整参数

通过设计合适的提示词来提升输出结果质量并不是唯一的手段,我们也可以通过设置一些相关的参数来控制模型的输入内容,其中一个重要的设置就是temperature,它的值在0到1之间。当为零的时候当我们在一个回话中多次输入相同的提示词时返回的结果也总是相同的或是相似的。但是当我们设置为1那么相同的提示词输入往往就会返回不通的结果。

在使用中应该记得OpenAPI模型主要就是根据前面的提示词来预测后面肯能跟的文本。通过调节temperature,可以控制模型在进行这些预测时的自信度,如果要是值更小甚至为0模型就会认为他前面输出的结果是符合预期的所以后面的输出还会与前面高度相似,甚至一样。当设置的值高甚至为1则重复的输入相同提示词模型会认为前面的输出结果与用户预期较远,所以就会大幅调整输出结果。

构建应用

现在你已经可以很好地构造提示词并设置关键参数,掌握了构建你自己的宠物名字生成器关键技能。这里有一些官方提供的由Node.js/Python实现的示例代码,你可以下载先来来构建自己的应用程序。

(一)Node.js版本

如果要是本地没有Node.js环境,需要先安装一下相关环境。然后从这个仓库中下载或是克隆代码

git clone https://github.com/openai/openai-quickstart-node.git

如果你不习惯用git也可以通过链接直接下载zip格式的压缩包,在程序运行之前我们需要一个API密匙,你可以通过注册账号获得一个。接下来就是解压zip文件,在项目目录下运行下面的指令进行项目初始化引入相关依赖,之后运行程序

npm install npm run dev

项目运行成功之后在你的浏览器中输入本地访问网址http://localhost:3000,你讲看到一个宠物名字生成的页面,到现在整个项目已经运行成功,接下来我们来详细分析一下代码的结构。

在openai-quickstart-node/pages/api 目录下打开generate.js的文件。在文件的底部你会看到一个生成上边我们使用过的提示词。而用户只需要输入他们自己的动物类型,程序将会动态的根据用户输入生成他们所期待的宠物名。

function generatePrompt(animal) {const capitalizedAnimal = animal[0].toUpperCase() + animal.slice(1).toLowerCase();return `Suggest three names for an animal that is a superhero.Animal: Cat
Names: Captain Sharpclaw, Agent Fluffball, The Incredible Feline
Animal: Dog
Names: Ruff the Protector, Wonder Canine, Sir Barks-a-Lot
Animal: ${capitalizedAnimal}
Names:`;
}

在genreate.js的第九行,你会看到实际发送请求的代码,如同我们在序言中讲到的在请求的信息中将参数temperature设置为了0.6

const completion = await openai.createCompletion({model: "text-davinci-003",prompt: generatePrompt(req.body.animal),temperature: 0.6,
});

到现在你对如何调用OpenAIP应该对调用OpenAI API接口实现宠物名生成器有了清楚的认识。

(二)Python版本

接下来我们看看Python代码的实现,主要是就是仓库地址以及项目启动存在差异:

git clone https://github.com/openai/openai-quickstart-python.git

代码启动运行的指令:

python -m venv venv
. venv/bin/activate
pip install -r requirements.txt
flask run

关于提示词以及temperature参数的设置与Node.js中都是相似的,也可以通过全局搜索找到相关的代码。

结束语

这些概念和技术将在很大程度上帮助我们构建自己的应用程序。宠物名生成器的示例只演示了可以实现的功能的一小部分!OpenAI API是非常灵活的,几乎可以解决任何语言处理任务,包括内容生成、摘要、语义搜索、主题标记、情感分析等等。要记住的一个限制是,对于大多数模型,在提示和完成之间,单个API请求最多只能处理2048个令牌(大约1500个单词)。

模型收费标准

OpenAI提供不同性能不通收费标准的一些列模型。在本教程中使用的是自然语言处理能力最强的模型text-davinci-003。建议在试用时使用这个模型因为它他提供的结果最为准确、贴合预期。一旦事情运转了起来,你可以关注一些其他的模型看看是否能够更低成本、更低延迟但依旧能实现满足预期的功能。

在单个请求的处理中令牌不能超过模型的最大上下文长度。同通常是2048个令牌或是1500个单词。通常都是以1000个Token为单位进行收费,详细的收费标准可以参考:收费保准

GPT-4模型的收费标准为:

对于更高级的任务,你会需要提供更多的例子或是上线文,而不是上面简单示例那样受限于最大的上线文长度。面对更高级的任务微调模型是一个很好地选择,他可以允许你提供数百甚至上千个示例,以便改模型在特定的领域内产生更好的效果。

为了获取更多的学习灵感,设计不同的任务提示,接下来可以:

  • 阅读指南
  • 探索实例库
  • 动手操作实验
  • 构建你自己的应用程序时牢记使用策略

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac如何下载Rocket.chat软件

公司使用Rocket.chat作为沟通工具, 用Mac的我软件一直安装失败 错误操作如下 使用App Store下载,下载的软件无法打开 正确操作如下 1.去github网站找安装包 https://github.com/RocketChat/Rocket.Chat.Electron/releases 2.找到自己需要的版本&#…

Hello Ai Chat for Chat GPT for mac(人工智能Chat GPT聊天工具)

Hello AI Chat for Chat GPT是一款基于GPT技术的聊天机器人应用程序,它可以通过人工智能技术理解和回复用户的问题。 Hello AI Chat for Chat GPT的一些特点: 智能回答:Hello AI Chat for Chat GPT基于GPT技术,可以理解和回答用户…

ChatGPT通过谷歌L3入职测试,拿到18万美元offer?程序员们该何去何从?

这次,ChatGPT赢麻了! 近日,关于ChatGPT的各类消息冲上热搜,在这个需要大量高水平人才补充的市场转折点上,越来越多的AI产品开始进入人们视野。从AI绘画到ChatGPT,其实用性、可操作性一次比一次完善&#xf…

chatgpt赋能python:Python并行处理文件:加快数据处理效率

Python并行处理文件:加快数据处理效率 Python作为一种高级编程语言,广泛应用于数据分析,大数据处理,机器学习等领域。在处理大量数据时,串行处理速度较慢,甚至可能耗费数小时或数天的时间。因此&#xff0…

打通同花顺问财接口!各类数据应有尽有!股票量化分析工具QTYX-V2.6.4

前言 同花顺的i问财是一个机器人智能选股问答平台,输入一些条件信息就能得到对应的选股结果。 从问财这个平台可以获得各式各样的选股数据,把这些数据融入到自己的股票量化交易平台中岂不是获得到了源源不断的数据源。 于是,我们把问财接口融…

同花顺量化交易平台Supermind股票量化思路--爱问财初探

近期在b站发布了几个关于supermind量化版本的说明,包括如何快速使用和学习supermind,如何快速部署实盘等。b站:大牛的分享 或关注同花顺微信群 ,群内咨询也可。 下面直接上干货: 实盘框架:日线级别from t…

[047量化交易]python获取股票 量比 换手率 市盈率-动态 市净率 总市值 流通市值

import akshare as ak# 获取沪 股票信息 stock_sh_a_spot_em_df ak.stock_sh_a_spot_em() # 获取深 股票信息 stock_sz_a_spot_em_df ak.stock_sz_a_spot_em() # 合并 stock_all_a_spot_em_df stock_sh_a_spot_em_df.append(stock_sz_a_spot_em_df) print(stock_all_a_spot_…

!! A股历史平均市盈率走势图

http://value500.com/PE.asp 一、 A股历史平均市盈率走势图 *数据来源:上海证券交易所 分享到: 354 - 上海A股 深圳A股更新时间 2017年6月7日 2017年6月7日平均市盈率 16.62 34.88 二、市盈率是什么? 市盈率(Price to Earning Ratio&#xf…

使用同花顺F10查看个股概况!股票量化分析工具QTYX-V2.1.9

前言 股票分析中选股是很重要的一个环节,特别是在市场走势普遍向好的环境下,选股比择时更为重要。 原因很简单,就是资金的使用效率要最大化。 比如同样的资金在同样的持股时间下,你的股票只涨了10%,大盘涨幅30%&#x…

简单的低频指数投资一:利用tushare计算指数市盈率

对于广大的投资者来说,投资指数基金是最简单而有效的选择。而目前一种投资指数的方法就是通过市盈率等指标来计算指数的估值,并通过低估买入,高估卖出的方法投资。 然而tushare只提供了上证50,沪深300,创业板等几个大…

股票高频数据(分钟数据)的入门分析方法——已实现波动率的计算(含完整代码)

本文摘要 本文叙述了对股票市场高频数据分析一个简单方法,即已实现波动率的计算和后续的相关研究。 采用上证综指2019年至2021年3年间实时交易价格的每分钟数据,在已实现方差法下计算了各抽样频率下上证综指日已实现波动率的数值(Realized Volatility&a…

Midjourney绘制插画,绘画重来没有如此之简单 - 第12篇

历史文章(文章累计460) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 用…

北大郭炜教授《程序与算法(二)算法基础》学习笔记

目录 第一章 枚举例题一 完美立方例题二 生理周期例题三 称硬币例题四 熄灯问题 第二章 递归(一)例题一 求阶乘例题二 汉诺塔例题三 n皇后问题例题四 逆波兰表达式 补充笔记(from theCherno)第三章 递归(二)例题 一 求…

75岁图灵奖得主Hinton离职谷歌!痛悔毕生工作,无法阻止人类AI大战

【导读】入职谷歌10年后,人工智能教父Hinton选择离职。对于造就了如今AI技术繁荣的神经网络,Hinton表示:这是我毕生的后悔。 一觉醒来,整个科技圈惊掉了下巴!!! 深度学习泰斗、神经网络之父Ge…

GPT可以被放任的在问答区应用吗?

GPT可以被放任的在问答区应用吗? 1、CSDN问答乱象2、GPT-4,大增长时代的序幕数字生命离我们到底还有多远?AI 家教/老师/教育 距离独立又有哪些需要完成的过程? 3、老顾对CSDN问答的一些看法老顾对GPT使用者的一些建议 1、CSDN问答…

华语辩论冠军的思辩表达

华语辩论冠军的思辩表达 这是一门思考表达的高阶技术,也是这个时代,每个人的必修课。 学了他,你才能在焦虑的时代学会如何思考与表达观点,才能领先他人。 查看原文下载 上一篇:零基础学photoshop 下一篇&#xff…

《杀破狼》:可能是华语动作电影最后的绝唱!

https://www.toutiao.com/a6681956509103948292/ 2019-04-20 20:43:54 《杀破狼》是一部大咖云集的警匪动作片,为了解决观众的审美疲劳期,本片在功夫设计上走了综合格斗的线路,散打、擒拿、跆拳道等功夫路数全面铺开,剧组的花边消…

挑起华语电影大梁后,金鸡奖正在借前沿技术实现蜕变

文 | 曾响铃 来源 | 科技向令说(xiangling0815) 与电影大量使用新技术拍摄、呈现更多样化的观影体验相对应的是,近些年,在“电影节”这件事上也出现越来越明显的技术身影,这一切都指向了如何提高观众的注意力。 在注…

Python爬虫:想听榜单歌曲?使用BeautifulSoup库只需要14行代码即可搞定

目录 BeautifulSoup库安装BeautifulSoup库BeautifulSoup库简介选择解释器基础用法 节点选择器获取节点名称属性内容获取所有子节点获取所有子孙节点父节点与兄弟节点 方法选择器find_all()方法find()方法 CSS选择器嵌套选择节点获取属性与文本 通过浏览器直接Copy-CSS选择器实战…

聊斋2聂小倩java华语版,【聊斋故事汇】之聂小倩(篇二)

第二日,宁采臣恐怕燕赤霞有事外出,便趁早找他相会。还准备好酒菜,请他一起喝酒。宁采臣暗地观察燕赤霞,心道:小倩说燕赤霞是位奇人异士,为何我端端看不出呢?宁采臣想着小倩的话,不得…