当前位置: 首页 > news >正文

ChatGPT的模型介绍及GO语言实现API

ChatGPT除了大家熟悉的GPT3之外,还有其他辅助模型,比如处理代码的以及有害信息过滤的系统。总的来说是下面三个组成:

GPT-3:一组能够理解和生成自然语言的模型

CodexLimited beta:一组可以理解和生成代码的模型,包括将自然语言转换为代码

Content filter:内容过滤器是一种经过微调的模型,可以检测文本是否敏感或不安全

四个模型的擅长点

我们前面介绍访问API的时候,使用的模型是text-davinci-003(达芬奇模型)

这个模型的功能是目前最强大的GPT-3模型。可以做任何其他模型可以做的任务,通常具有更高的质量,更长的输出和更好的指令遵循。还支持在文本中插入补全。也是目前最新的,数据集的更新时间是2021年6月份的,其最大请求是4,000 tokens,接下来介绍的模型都只有2,048 tokens。

GPT-3提供四种不同级别的主要型号,适用于不同的任务。上面介绍的达芬奇是最有能力的模型,阿达是最快的,其余三个模型如下:

text-curie-001(居里夫人模型):居里夫人是伟大的物理学家和化学家。此模型也是能力非常强大的,仅次于达芬奇,但速度要比达芬奇更快,成本更低。

text-babbage-001(巴贝奇模型):巴贝奇是计算机之父。此模型能够直接完成任务,非常快,成本更低。

text-ada-001(阿达模型):阿达是计算机程序创始人。此模型能够完成非常简单的任务,通常是GPT-3系列中速度最快的型号,成本最低。

虽然达芬奇是目前最有能力的,但其他模型可以以显著的速度或成本优势非常好地执行某些任务。例如,居里夫人可以完成许多与达芬奇相同的任务,但速度更快,成本只有达芬奇的十分之一。

它们的具体擅长领域如下:

text-davinci-003:了解复杂的意图,因果关系,这个参数也是最多的,训练也是最耗时,同时达到的效果是最好的,疑难杂症的解决就是这个了。

text-curie-001:语言翻译、复杂分类、文本感悟、摘要(擅长在文章中提取要点等,temperature调低,这样答案比较确定而不会有宽泛的答案),所以翻译类的,居里夫人来搞定

text-babbage-001:普通的分类,语义搜索分类

text-ada-001:文本解析,简单分类,地址更正,关键词,尤其是地址的更正很擅长,错误的或者不加标点符号等,都可以很好的帮你整理好,就像个实干型的保姆

注:任何由Ada(text-ada-001)等更快的模型执行的任务都可以由Curie或Davinci等更强大的模型执行。

go语言实现

实现API接口有很多语言都有提供,比如常见的JAVA、nodejs、php、C#等等,这里我以重点后期关注的语言GO为例,看下它是怎么实现这个接口的

首先就是从github中获取库

go get github.com/sashabaranov/go-gpt3

这样就会在用户目录,比如本人的路径:C:\Users\Tony\go\pkg\windows_amd64\github.com\sashabaranov,里面有一个go-gpt3.a这样的文件

代码的实现也是比较简单的,关键就是导入上面获取的类gogpt

package mainimport ("context""fmt"gogpt "github.com/sashabaranov/go-gpt3"
)func main() {c := gogpt.NewClient("这里是你的密钥")ctx := context.Background()req := gogpt.CompletionRequest{Model:     gogpt.GPT3TextDavinci003,MaxTokens: 1000,Prompt:    "我们一起去游泳,翻译成英文",}resp, err := c.CreateCompletion(ctx, req)if err != nil {return}fmt.Println(resp.Choices[0].Text)
}
#Let's go swimming together
http://www.lryc.cn/news/11857.html

相关文章:

  • Tile防丢器引入全新防盗模式,苹果Find My功能拓展到大众消费电子
  • 物联网中RocketMQ的使用
  • 用Three.js搭建的一个艺术场景
  • 算法导论【字符串匹配】—朴素算法、Rabin-Karp、有限自动机、KMP
  • 如何在 Python 中验证用户输入
  • JVM详解——类的加载
  • Ubuntu最新版本(Ubuntu22.04LTS)安装nfs服务器及使用教程
  • Python-第九天 Python异常、模块与包
  • 博彩公司 BetMGM 发生数据泄露,“赌徒”面临网络风险
  • 初探Mysql反向读取文件
  • 地图坐标系大全:常用地图坐标系详解与转换指南
  • 使用 URLSearchParams 解析和管理URL query参数
  • 一台电脑安装26个操作系统(windows,macos,linux,chromeOS,Android,静待HarmonyOS)
  • Python配置文件管理之ini和yaml文件读取
  • 实战一(下):如何利用基于充血模型的DDD开发一个虚拟钱包系统?
  • webpack当中的代码分割详解
  • 【SSM】Spring对IoC的实现方式DI详讲
  • 【QT 5 相关实验-示波器-学习笔记-示波器组件练习与使用总结】
  • 二维数组中的查找(两种解法,各有千秋)
  • quartz使用及原理解析
  • Datawhale组队学习:大数据 D2——分布式文件系统(HDFS)
  • CCIE重认证-300-401-拖图题全
  • 如何动态的创建类?type的其他用法?什么是元类,如何自定义元类?
  • XCP实战系列介绍15-XCP故障排查指导
  • 吉林大学软件需求分析与规范(Software Requirements Analysis Specification)
  • PyTorch - Conv2d 和 MaxPool2d
  • leetcode Day2(昨天实习有点bug,心态要崩了)
  • 另一种思考:为什么不选JPA、MyBatis,而选择JDBCTemplate
  • LeetCode 338. 比特位计数
  • 排序评估指标——NDCG和MAP