详细解读ChatGPT:如何调用ChatGPT的API接口到官方例子的说明以及GitHub上的源码应用和csdn集成的ChatGPT
文章目录
- 1. 解读ChatGPT
- 1.1 词语解释
- 1.2 功能解读
- 2. GitHub上ChatGPT的应用源码
- 3. 调用ChatGPT的API
- 4. 官方例子说明
- 5. 集成ChatGPT
自ChatGPT
出来到如今,始终走在火热的道路上,如今日活用户破亿,他为何有如此大的魅力,深受广大用户或资本的追捧,下面我便详细揭开他奇妙的面纱。
1. 解读ChatGPT
1.1 词语解释
ChatGPT
分开解
-
chat
是闲聊,聊天
的意思 -
GPT
是Generative Pretrained Transformer
(生成预训练变换器)的缩写
chatGPT
它就是智能的对话聊天工具,由美国“开放人工智能研究中心”研发 - OpenAI
ChatGPT
自己回答如下图所示:
1.2 功能解读
他自己的回复有点抽象,简而言之,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码等任务。
它的核心功能和特点如下:
-
它由人工智能技术驱动
-
一款自然语言处理工具
-
学习人类语言、理解人类语言
-
通过大量训练能够与人类对话
-
还能根据聊天上下文进行互动
-
像人类一样完成如下任务:
- 邮件撰写
- 视频脚本编写
- 写文案、写文章
- 语言翻译
- 甚至是代码编写编程
- …
2. GitHub上ChatGPT的应用源码
如今很多应用都集成了ChatGPT
的插件,很多这样的应用已经在GitHub
开源了。
因而,我之前整理了GitHub
上ChatGPT
的应用源码,可以点击我的这篇博文访问:全网推荐8款github上有趣的ChatGPT的应用源码
3. 调用ChatGPT的API
官方提供了很多种开发语言的调用,本篇主要以java
开发语言进行调用,首先要引入jar
包:
<dependency><groupId>com.theokanning.openai-gpt3-java</groupId><artifactId>api</artifactId><version>version</version>
</dependency>
或者
<dependency><groupId>com.theokanning.openai-gpt3-java</groupId><artifactId>client</artifactId><version>version</version>
</dependency>
调用代码非常简单,只需要填写相关api-key
即可,如下代码所示:
package example;import com.theokanning.openai.OpenAiService;
import com.theokanning.openai.completion.CompletionRequest;class OpenAiApiExample {public static void main(String... args) {String token = System.getenv("OPENAI_TOKEN");OpenAiService service = new OpenAiService(token);System.out.println("\nCreating completion...");CompletionRequest completionRequest = CompletionRequest.builder().model("ada").prompt("Somebody once told me the world is gonna roll me").echo(true).user("testing").build();service.createCompletion(completionRequest).getChoices().forEach(System.out::println);}
}
如果你是其他语言,可以点击官网文档链接,https://platform.openai.com/docs/libraries,找到你所需要的语言。
其提供了各种语言的示例,点击每种语言的示例链接,如下图所示:
即可跳转到其对应的GitHub
上,比如我点击的是java
,如下图所示:
4. 官方例子说明
官方示例说明的链接地址:https://platform.openai.com/examples。点击此链接,你会看到一个搜索框,一个下拉框,如下图所示:
下拉框是类别,其分为如下类别:
-
问答(
Answers
) -
分类(
Classification
) -
代码(
Code
) -
会话(
Conversation
) -
生成(
Generation
) -
翻译(
Translation
) -
转换(
Transformation
)
据我猜测,将来ChatGPT
绝不止这些类别,后期肯定会有更多的类别出现,我们静静地等待即可。
那么,我以问答类(Answers)
为例子,来解读示例中类别,其他类别大家可自行学习了解。实在不行,可以使用谷歌翻译成中文看。
当下拉框选择为问答类(Answers)
时,其出现的界面如下图所示:
-
Q&A
:基于现有知识回答问题 -
Factual answering
:通过向模型展示如何回答超出其知识库的问题,引导模型走向事实答案。使用?
表示对它不知道的单词和短语的反应提供了一种自然的反应,似乎比更抽象的回答更有效 -
JavaScript helper chatbot
:这是一个消息风格的聊天机器人,可以回答有关使用JavaScript
的问题。 -
ML/AI language model tutor
:这是一个QA
风格的聊天机器人,回答有关语言模型的问题。
在此(问答类(Answers)
)类别下出现多个列表,你单击每个列表都会出现一个示例弹框,比如单击JavaScript helper chatbot
,如下图所示:
当然,每个类别下都会有多个列表,你单击每个列表都会出现一个示例弹框。
5. 集成ChatGPT
目前,很多APP
或者公众号都集成了ChatGPT
,那么,我以csdn
为例子来演示。
csdn网站ChatGPT
的PC
端地址:https://so.csdn.net/so/chat,点击链接如下图所示:
csdn客户端在我的 - 更多服务
中找到:
相关文章:

详细解读ChatGPT:如何调用ChatGPT的API接口到官方例子的说明以及GitHub上的源码应用和csdn集成的ChatGPT
文章目录1. 解读ChatGPT1.1 词语解释1.2 功能解读2. GitHub上ChatGPT的应用源码3. 调用ChatGPT的API4. 官方例子说明5. 集成ChatGPT自ChatGPT出来到如今,始终走在火热的道路上,如今日活用户破亿,他为何有如此大的魅力,深受广大用户…...

九龙证券|最新评级情况出炉,机构扎堆这一板块!聚氨酯龙头获得最多关注
本周算计254家上市公司获组织“买入型”评级。 电子板块评级组织扎堆 证券时报数据宝计算,2月13日至17日,A股市场53家组织算计进行347次评级,254家上市公司获“买入型”评级(包含买入、增持、强烈推荐、推荐)。 从申…...

考研复试机试 | C++ | 尽量不要用python,很多学校不支持
目录1.1打印日期 (清华大学上机题)题目:代码:1.2改一改:上一题反过来问题代码:2.Day of Week (上交&&清华机试题)题目:代码:3.剩下的树(清…...

ChatGPT时代,别再折腾孩子了
今天这篇完全是从两件事儿有感而发。昨天在文印店,在复印机上看到装订好的几页纸,我瞥了一眼,是历史知识点:隋朝大运河分为四段,分别是___ ___ ___ ___,连接了五大河___ ___ ___ ___ ______ 年ÿ…...

万字干货 | 荔枝魔方基于云原生的架构设计与实践
近年来,荔枝集团在国内和海外的业务迅速发展,业务数据规模也是成几何式地增长,海量数据的计算分析场景、业务智能算法应用需求随之而生,为了快速地满足业务发展的需要,我们面临着诸多的技术挑战。技术挑战工程问题资源…...
#科研筑基# python初学自用笔记 第九篇 面向对象编程
面向对象编程 Object Oriented Programming ,简称OOP,是一种程序设计思想,这种思想把对象作为程序的基本单元。类是抽象的,对象是具体的,一种类包括其特定的数据或属性,以及操作数据的函数(方法…...

Python快速上手系列--邮件发送--详解篇
本章就来一起学习一下跑完自动化脚本后如何自动的发送邮件到指定的邮箱。zmail操作:1. 导包 import zmail2. 邮件内容,包含:主题(subject)、正文(content_text)、附件(attachments)3. 发件人信息,包含:发件人账号&…...

【Bluetooth开发】蓝牙开发入门
BLE 蓝牙设备在生活中无处不在,但是我们也只是将其作为蓝牙模块进行使用,发送简单的AT命令实现数据收发。 那么,像对于一些复杂的使用场合:“车载蓝牙”、"智能手表"、“蓝牙音箱”等,我们不得不去了解底层…...
07:进阶篇 - 在程序中嵌入 CTK Plugin Framework
作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 如果已经创建了一个应用程序,现在要将 CTK Plugin Framework 嵌入其中,该如何进行呢? 下面,以《06:进阶篇 - Hello,CTK!》中的插件为例,来演示如何使用 CTK Plugin Framework 来加载插件并获取特定…...
快速低成本动画视频课
快速低成本动画视频课Character Animator能做什么如何用character animator制作动画视频Animate能做什么Adobe Animate和Character Animator结合,如何快速制作低成本动画视频课Character Animator能做什么 Character Animator是Adobe公司的一个动画制作软件&#x…...
大数据平台测试-软件测试常见面试回答(持续更新)
面试造航母,入职拧螺丝。面试,讲点面试官想听的。。。 1、你有过漏测的经历吗? 答:这道题肯定是回答有。然后展开描述。就类似面试官问 你印象比较深的一个bug。。。 测试无穷尽,质量也并非测试一个岗位的责任&…...
链表学习之反转链表
链表解题技巧 额外的数据结构(哈希表);快慢指针;虚拟头节点; 反转链表 分别实现单向链表和双向链表的反转。 要求:长度为N的链表,时间复杂度为O(N),额外空间复杂度为O(1)。 反转…...

ONNXRUNTUIME实例分割网络说明
ONNXRUNTUIME c使用(分割网络)与相关资料(暂记) initiate a env with an id name(使用id名称启动env) create session (创建会话 ) onnxenv -> sessioninputname [“x”] ,outputname [“t”]inputnodedim [[1,1,192,192…...

几行代码,就写完懒加载啦?
Ⅰ、前言 「懒加载」是网页中非常 常见的;为了减少系统的压力,对于一些电商系统出场频率非常高;那么大家一般用什么方式去实现 「懒加载」 呢 ? ① 通过 scroll 的形式: 通过 滚动「scroll」事件,然后去判…...

PyTorch常用的损失函数(ChatGPT)
L1Loss nn.L1Loss 也称为平均绝对误差(Mean Absolute Error,MAE)。它计算预测值与真实值之间的差异(即误差),然后取绝对值并求和,最后除以样本数量得到平均误差。具体来说,对于一批…...

LeetCode——1237. 找出给定方程的正整数解
一、题目 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/find-positive-integer-solution-for-a-given-equation/description/ 翻译一下题目 意思是,这是一个二维单调递增的函数,函数一共有 9 …...

系统编程中的进程的概念No.3【进程状态】
引言: 北京时间:2023/2/17/8:17,目前听着超能陆战队主题曲《Immortals》,感觉又要螺旋式升天,并且为我今天上午没课感到happy,所以继我们很久以前的关于进程的博客,今天我们就再来学习一下有关…...
推荐 3 款 Golang 语义化版本库
文章目录1.什么是语义化版本 2.0.02.Golang 语义化版本库比较3.小结参考文献1.什么是语义化版本 2.0.0 语义化版本 2.0.0(Semantic Versioning 2.0.0)是一种用于标识软件版本的约定和规范。它包含三个数字组成的版本号,格式为“MAJOR.MINOR.…...

Windows平台使用gdb连接qemu虚拟机上的系统
先安装MinGW; 除了gcc、g,把gdb也选上;可能选第一个就可以了,不清楚把后面几个也选上; 安装完成看一下gcc, g,gdb,编译工具和调试器都有了; 把bin目录加到环境变量; 看一…...

【博客624】MAC地址表、ARP表、路由表(RIB表)、转发表(FIB表)
MAC地址表、ARP表、路由表(RIB表/FIB表) MAC地址表 MAC地址表是交换机等网络设备记录MAC地址和端口的映射关系,代表了交换机从哪个端口学习到了某个MAC地址,交换机把这个信息记录下来,后续交换机需要转发数据的时候就可以根据报文的目的MAC地…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...