ChatGPT 聊天接口API 使用

news2024/12/23 20:34:05

一、准备工作

1.准备 OPENAI_ACCESS_TOKEN
2.准备好PostMan 软件

二、测试交流Demo

本次使用POSTMAN工具进行快速测试,旨在通过ChatGPT API实现有效的上下文流。在测试过程中,我们发现了三个问题:
   1.如果您想要进行具有上下文的交流,每次POST请求都需要将历史交流信息放入“messages”对象中。这会导致token数量成倍增长,从而增加您的费用成本。
   2.计费方式为请求提问token和回答token的总和。如下:

ChatGPT 返回数据中usage 对象。其中total_tokens为本次请求的计费token
usage : {
“prompt_tokens”: 177,
“completion_tokens”: 38,
“total_tokens”: 215
}

   3.每次POST请求都是独立的会话。

1.测试上下文提问

1.1 提问

// 提问Post body数据
{
  "model": "gpt-3.5-turbo",
  "messages": [
    { "role": "system", "content": "You are a chatbot" },
    { "role": "user", "content": "我能用中文向你提问题吗?" },
    { "role": "assistant", "content": "当然可以,我可以用中文回答你的问题。请问你有什么需要帮助的吗?" },
    { "role": "user", "content": "我想更好的与你交流,必须把每次交流信息告诉你是吗?" },
    {
                "role": "assistant",
                "content": "是的,您需要输入您想要与我交流的信息,我才能理解并回答您的问题。如果您有任何疑问或需要帮助,请随时告诉我。"
    },
    { "role": "user", "content": "我上句话说了什么?" }
  ],
  "max_tokens": 70,
  "temperature": 0
}

1.2 回复

// 返回response 数据
{
    "id": "chatcmpl-77aodGL1ymzpU25nZse4DVQa7M9I8",
    "object": "chat.completion",
    "created": 1682044171,
    "model": "gpt-3.5-turbo-0301",
    "usage": {
        "prompt_tokens": 177,
        "completion_tokens": 38,
        "total_tokens": 215
    },
    "choices": [
        {
            "message": {
                "role": "assistant",
                "content": "您上句话说的是:“我想更好的与你交流,必须把每次交流信息告诉你是吗?”"
            },
            "finish_reason": "stop",
            "index": 0
        }
    ]
}

2.测试单次提问

我是在 “测试 上下文提问”章节中Post请求后,紧挨执行下面Post请求。测试发现:每次Post请求都是独立会话,如果要实现上下文有效的交流就必须在单次Post请求中把上下文所有的交流内容都发送给ChatGPT。

1.1 提问

{
  "model": "gpt-3.5-turbo",
  "messages": [
    { "role": "system", "content": "You are a chatbot" },
    { "role": "user", "content": "我上句话说了什么?" }
  ],
  "max_tokens": 70,
  "temperature": 0
}

1.2 回复

{
    "id": "chatcmpl-77b90YMOLlJ1fJEtdnDC3Li9E7DL0",
    "object": "chat.completion",
    "created": 1682045434,
    "model": "gpt-3.5-turbo-0301",
    "usage": {
        "prompt_tokens": 29,
        "completion_tokens": 15,
        "total_tokens": 44
    },
    "choices": [
        {
            "message": {
                "role": "assistant",
                "content": "您上句话说了:\"You are a chatbot\"。"
            },
            "finish_reason": "stop",
            "index": 0
        }
    ]
}

三、PostMan使用

1.访问接口地址

接口地址:https://api.openai.com/v1/chat/completions
请求方式:POST

2.授权Authorization赋值

  1. Type选择Bearer Token
  2. Token输入:sk-******************** (来源OpenAI:OPENAI_ACCESS_TOKEN)

在这里插入图片描述

3. 选择body数据格式。

在这里插入图片描述

4. 点击“send”完成对象。

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

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

相关文章

【prettier Error resolving prettier configuration for x:\xxx\.prettierrc.js】

Prettier Error resolving prettier configuration for x:\xxx.prettierrc.js 解决方法 Prettier 出现如下错误 错误 内容内联代码片 Error resolving prettier configuration for d:\map\user_package\Leaflet.FileLayer-master\.prettierrc.js ["ERROR" - 10:38…

Facebook、Google、亚马逊,谁将成为跨境电商的营销宠儿?

跨境电商在全球范围内的发展日益迅猛,而营销渠道的选择也变得越来越多样化。在众多的广告平台中,Facebook、Google和亚马逊被公认为是跨境电商卖家们最主要的营销平台。那么,这三个平台中哪个会成为跨境电商的营销宠儿呢? 一、Fac…

自动驾驶——智能底盘构造详解及新发展

摘要: 汽车底盘是指汽车上由传动系统、行驶系统、转向系统和制动系统等部分的组合,其功能包括支承、安装汽车车身、发动机及其它各部件及总成,形成汽车的整体造型,承受发动机动力,保证车辆正常行驶等。 底盘构造介绍 …

摄像头/视频读取_写入

摄像头/视频读取_写入 ➢VideoCapture类: 使用 OpenCV 播放视频,几乎与使用它来显示图像一样容易。播放视频时只需要处理的新问题就是如何循环地顺序读取视频中的每一顿,以及如何从枯燥的电影视频的读取中退出该循环操作。具体如例如下: #…

【计算机架构】如何计算 CPU 动态功耗

📜 本章目录: 0x00 动态功耗(Dynamic Power) 0x01 集成电路成本(Integrated Circuit Cost) 0x02 基准测试(SPEC CPU Benchmark) 0x03 SPEC功率基准测试(SPEC Power B…

vs2022下配置zxing cpp环境

生成zxing 下载zxing,zxing-cpp-master https://github.com/zxing-cpp/zxing-cpp Cmake生成项目,点Generate,把OpenCV_DIR修改了,NameValue没有报红就点Generate。然后点Open Project打开项目。 打开项目后,右击解决…

赋值法写基础解系中解向量

赋值法写基础解系中解向量 (一)背景引入 通常解方程组时,将系数矩阵化为行阶梯型,进而可化为行最简型 (说一嘴:行最简型是指阶梯口元素全是1,该1所在列全其余全为0;广义行阶梯的阶梯…

maven作用讲解---以及怎么配置阿里的maven镜像

目录 Maven介绍 传统的java项目的结构和maven的对比 传统 Maven的项目 如何配置阿里 maven 2. 修改 Maven介绍 传统的java项目的结构和maven的对比 传统 Maven的项目 如何配置阿里 maven (1) 把 D:\program\JavaIDEA 2020.2\plugins\maven\lib\maven3\conf\settings.xml…

DNS服务

DNS服务 使用背景 在日常生活中人们习惯使用域名访问服务器,但机器间互相只认IP地址,域名与IP地址之间是多对一的关系,一个ip地址不一定只对应一个域名,且一个完整域名只可以对应一个ip地址,它们之间的转换工作称为域…

锐捷常用命令

所有交换机和无线控制器开启SSH服务,用户名密码分别为admin、admin1234;密码为明文类型,特权密码为admin 以S5为例: S5(config)#enable service ssh-server S5(config)#username admin password admin123 S5(config)#line vty 0 4 S5(co…

【C++ 十】STL基本概念、STL六大组件、STL容器、STL算法、STL迭代器

STL 的诞生、STL 基本概念、STL 六大组件、STL 容器、STL 算法、STL 迭代器 文章目录 STL 的诞生、STL 基本概念、STL 六大组件、STL 容器、STL 算法、STL 迭代器前言1 STL 的诞生2 STL 基本概念3 STL 六大组件4 STL 中容器、算法、迭代器5 容器算法迭代器初识5.1 vector 存放内…

vue2数据响应式原理(4) 递归侦测对象所有属性,解密vue响应式对象__ob__是干什么的

我们上文写的这个方法 并不能很好的侦测对象所有的属性 或者说 不能比较简介的侦测所有属性 在实际业务中 对象里面套对象 也不是什么很少见的事 例如这样 这种 我们用上一种方法 就很麻烦了 所以 我们需要了解新的方法 要完成完整的属性监听 我们就需要一个工具类 这个类的…

js+css实现简单的弹框动画

效果图 只是一个简单的演示demo,但是可以后面可以优化样式啥的 刚开始元素的display为none,然后,为了给元素展示时添加一个动画,首先要添加样式类名show,让它覆盖display:none,变得可见。然后,添…

Day951.认知负载 -遗留系统现代化实战

认知负载 Hi,我是阿昌,今天学习记录的是关于认知负载的内容。 一、怎样理解认知负载? 作为开发人员,不管是不是工作在遗留系统上,一定面临过来自业务方或项目经理的灵魂拷问: 为什么这个需求这么简单&…

车载网络 - Autosar网络管理 - 跳转状态

四、Autosar网络管理跳转状态 网络模式对应报文状态 Autosar网络管理报文各个状态对应的网络管理报文和应用报文的发送和接收状态。 网络模式 网络管理报文 应用报文 收发类型 发送报文 接收报文 发送报文 接收报文 总线睡眠模式(BSM) No Yes No NA 准备总线睡眠模…

探索Whisper语音识别

问题一:python多版本切换 背景:有了anaconda环境 还有一个c盘的不知道什么东西 我准备下载一个python3.9.9 去官网 然后安装,安装之前一定要把原来的python卸载干净。 3.9.9安装不上,我用3.10 切换的话,就是去环境…

总结828

学习目标: 4月(复习完高数18讲内容,背诵21篇短文,熟词僻义300词基础词) 学习内容: 暴力英语:回环诵读之前的文章,背150个单词,背《冰与火之歌》-守夜人誓词 高等数学&…

《Effective C++》读书笔记(二):构造/析构/赋值运算(条款05~条款12)

目录 1. 条款05:了解C默默编写并调用哪些函数 2. 条款06:若不想使用编译器自动生成的函数,就该明确拒绝 3. 条款07:为多态基类virtual析构函数 4.条款08:别让异常逃离析构函数 5.条款09:绝不在构造和析…

Vue CLI 服务

使用命令 在一个 Vue CLI 项目中,vue/cli-service 安装了一个名为 vue-cli-service 的命令。你可以在 npm scripts 中以 vue-cli-service、或者从终端中以 ./node_modules/.bin/vue-cli-service 访问这个命令。 这是你使用默认 preset 的项目的 package.json&…

2023红明谷杯部分WP

0x00 签到 一直点就能得到flag 0x01 Dreamer 拿到题感觉有点儿懵 先下发靶机看一眼 梦想家CMS,好嘛,我直接一手查找官网 直接一手演示中心碰运气 哎嘿嘿,运气不错进去了,突然想起之前有位大佬写的关于Dreamer CMS的代码审…