ChatGPT 聊天接口API 使用

news/2025/2/28 16:26:33/

一、准备工作

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.ppmy.cn/news/71234.html

相关文章

JavaSE入门必读篇——详解数组

文章目录 数组的概念1.什么是数组呢?2.如何创建数组3.遍历数组4.扩展:快速批量初始化 数组原理内存图1. 内存概述2.Java虚拟机的内存划分3.其存储方式图4.认识null 二维数组二维数组初始化遍历二维数组 数组常见异常1. 数组越界异常2. 数组空指针异常 Ja…

消息队列中间件 - RabbitMQ消息的持久化、确认机制、死信队列

持久化和应答机制Ack 消息队列中间件系列的最后一篇了,RabbitMQ消息的持久化、确认机制、死信队列、负载均衡等一系列进行说明。 消息持久化 当RabbitMq重启以后,未消费的消息,可以在服务重启后继续消费,不会丢失。 应答机制A…

数据可视化一、ECharts

零、文章目录 数据可视化一、ECharts 1、数据可视化 (1)数据可视化 数据可视化主要目的:借助于图形化手段,清晰有效地传达与沟通信息。数据可视化可以把数据从冰冷的数字转换成图形,揭示蕴含在数据中的规律和道理。…

Java 八股文 - Redis

Redis-八股文 1. 什么是 Redis? Redis 是基于内存的 Key-Value 非关系型数据库。开源,并且遵循 BSD 协议。 Redis 与其他 key - value 缓存产品有以下三个特点: ​ Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中&am…

AMS启动报错 hbase-ams-master.pid doesn‘t exist after starting of the component

感谢点赞和关注 ,每天进步一点点!加油! 目录 ​ 一、问题描述 二、解决办法 一、问题描述 Ambari Metrics, Metrics Collector 启动报错如下: stderr: Traceback (most recent call last):File "/var/lib/ambari-agen…

Java - 版本号大小比较

/* * 版本号比较 * * param v1 * param v2 * return 0代表相等,1代表左边大,-1代表右边大 */ public static int compareVersion(String v1, String v2) { if (v1.equals(v2)) { return 0; …

如何在多个服务器上安装WordPress分布式部署

许多网络主机现在保证其服务的正常运行时间为 99.9%,但这仍然每年最多有 8.7 小时的停机时间。 许多公司不能够承担这种风险。例如。在超级碗比赛中失败的体育新闻网站可能会失去忠实的追随者。 我们通过设置维护高可用性 WordPress分布式部署配置来帮助 WordPres…

【计算机组成原理】第六章 总线系统

系列文章目录 第一章 计算系统概论 第二章 运算方法和运算器 第三章 多层次的存储器 第四章 指令系统 第五章 中央处理器 第六章 总线系统 第七章 外围设备 第八章 输入输出系统 文章目录 系列文章目录第六章 总线系统6.1 总线的概念和结构形态6.1.1 总线的基本概念6.1.2 总线…