chatgpt API接口中文说明介绍(一)

article/2025/7/19 15:23:11

提示:如果你认为本文对你有帮助,请点一下关注,后面会有更多人工智能方面的文章。

文章目录

  • 一、简介
  • 二、说明
  • 三、总结


一、简介

chatgpt接口官方的名字叫做Chat completions,是指ChatGPT在用户输入一部分内容后,为用户推荐的可能的自动完成内容。这些自动完成的内容可以是一个词、短语、句子甚至是一篇文章等等。Chat completions可以让用户更快地输入想要表达的内容,同时也能提高用户的交互效率和满意度。


二、说明

使用OpenAI chatgpt API,您可以使用gpt-3.5-turbo和gpt-4构建自己的应用程序,从而实现许多有趣的功能,例如:

  • 写文案
  • 编写 代码
  • 回答问题
  • 对学习进行辅导(如学习英语)
  • 翻译语言
  • 为视频游戏模拟角色(NPC)等等

还有更多功能可以自行尝试


本文将向您介绍如何调用聊天模型的API,并分享一些使用技巧。您也可以在OpenAI Playground中测试效果。

聊天模型接受一系列消息作为输入,并生成一条由模型生成的消息作为输出。虽然聊天模式旨在使多轮对话容易进行,但它同样

适用于单次任务,而无需进行任何对话。简单的说就是输入一条消息给chatgpt他会给你生成一个回答返回过来,问答可以是多伦

的 像正常的聊天一样。

简单的介绍完了 我们看一下如何使用chatgpt接口。

一个简单的API调用示例如下(python):

import openai
openai.api_key = 'XXXXX'
messages=[]
messages.append({'role': 'system', 'content': "我希望你扮演一个小说家。您将提出富有创意和引人入胜的故事"})
messages.append({'role': 'user', 'content': "你好"})
messages.append({'role': 'assistant', 'content': "你好,请问我能为你做些什么?"})
messages.append({'role': 'user', 'content': "帮我写一篇关于冒险的小说"})
response = openai.ChatCompletion.create(model='gpt-3.5-turbo',messages=messages,
)
#上面的GPT-3.5-turbo是使用的GPT3.5模型 可以替换为其他模型如:
# gpt-4
# gpt-4-0314
# gpt-4-32k
# gpt-4-32k-0314
ai_response = response.choices[0].message['content']
print(ai_response)

http请求代码:

curl https://api.openai.com/v1/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer $OPENAI_API_KEY" \-d '{"model": "gpt-3.5-turbo","messages": [{"role": "user", "content": "Hello!"}]}'

如果你是用的python可以使用python代码,如果你用的是其他语言比如php或者c++等可以使用http请求的方式调用

上面代码主要参数是messages参数。messages必须是一个对象数组,其中每个对象都有一个角色(“system”、“user”或

“assistant”)和内容(消息的内容)。对话可以很短,也可以很长。

一般情况,messages内容先是system消息,然后是交替出现的user和assistant。

类型作用
system设置chatgpt的角色。
user消息是 给chatgpt提交的我们的问题。
assistant消息 是chatgpt给返回的消息。

其中system消息有助于设置助手的行为。通俗点讲就是可以给chatgpt设定一个角色让它取扮演,例如我上面代码是,指定让
chatgpt“扮演一个小说家”。这样我们后面的问答都是在这个前提下进行的,就是chatgpt会一直扮演一个小说家和我们对话。
system不是必须的,也可以不设置。

注意我上面代码使用了4条消息,分别是“system”、“user” 、“assistant”、“user

其中system是设定的角色,后面的“user” 、“assistant”是历史记录 就是曾经我问过chatgpt的内容和他回答我的内容

最后一个user才是本次我要问他的内容。为什么要这样呢,因为chatgpt官方没有提供给我们数据存储的功能,所以只能我们

自己存储数据每次需要把历史记录提交给他,chatgpt才能有上下文的功能。当然这样也会浪费更多的tokens。

当我们提交上面的请求,chatgpt会给我们响应,响应格式:

{'id': 'chatcmpl-6p9XYPYSTTRi0xEviKjjilqrWU2Ve','object': 'chat.completion','created': 1677649420,'model': 'gpt-3.5-turbo','usage': {'prompt_tokens': 56, 'completion_tokens': 31, 'total_tokens': 87},'choices': [{'message': {'role': 'assistant','content': 'The 2020 World Series was played in Arlington, Texas at the Globe Life Field, which was the new home stadium for the Texas Rangers.'},'finish_reason': 'stop','index': 0}]
}

我们可以ai_response = response.choices[0].message[‘content’]这样取出返回的内容

每个响应都包含一个finish_reason。finish_reason的可能值包括:

说明
stopAPI返回完整的模型输出
length由于max_tokens参数或令牌限制而导致的不完整模型输出
content_filter由于我们的内容过滤器的标志而省略的内容
nullAPI响应仍在进行中或不完整

finish_reason的值在这个事例中作用体现不大,后面开发流式传输(steam)会有用,后面会专门讲如何开发流式传输实现打字机的效果

usage字段:在ChatGPT接口返回的内容中,usage字段是用来记录API调用时消耗的token数目的,具体含义如下:

说明
prompt_tokens表示消息输入中使用的token数目,即API请求时消息的token数目。
completion_tokens表示API返回的响应消息中使用的token数目,即模型预测生成的响应消息的token数目。
total_tokens表示整个API调用过程中使用的总token数目,包括输入和输出的所有token数目。

需要注意的是,每个API调用的token数目将影响API的调用时间和费用,并且总token数目必须在模型允许的最大token限制(例

如gpt-3.5-turbo-0301模型的最大限制为4096个token)以内。如果超出了这个限制,则需要缩短输入或者输出的token数目以符合

模型的最大限制。


管理tokens

语言模型以称为token的块读取文本。在英语中,token可以短至一个字符或长至一个单词(例如a或apple),在某些语言中,

token甚至可以比一个字符更短或比一个单词更长。

例如,字符串“ChatGPT is great!”被编码为六个令牌:[“Chat”, “G”, “PT”, " is", " great", “!”]。

而在中文中:1个汉字大致是2~2.5个token。

API调用中的令牌总数影响:

1接口根据token多少收费,token越多费用越高
2总token必须低于模型的最大限制(gpt-3.5-turbo-0301的最大令牌数为4096)
3使用的token越多 API响应时间越长

输入和输出令牌都计入这些数量。例如,如果您的API调用在消息输入中使用了10个token,并且您收到了20个token的消息输

出,则将为您计费30个token。**

要查看API调用使用了多少令牌,请检查API响应中的usage字段(例如,response[‘usage’][‘total_tokens’])。

像gpt-3.5-turbo和gpt-4这样的聊天模型以与其他模型相同的方式使用令牌,但由于它们是基于消息格式的,因此更难以计算一个

对话将使用多少令牌。

如何计算聊天API调用的令牌

要查看文本字符串中有多少令牌而不进行API调用,请使用OpenAI的tiktoken Python库。有关如何使用tiktoken计算令牌的指南可

以在OpenAI Cookbook中找到示例代码。后面会专门讲一下

三、总结

本文展示了如何调用OpenAI ChatGPT API,以及一些参数的说明,提供了使用技巧和Python和HTTP请求代码示例。下一篇讲一

下其他的一些参数的作用,例如温度等。


http://chatgpt.dhexx.cn/article/976Uf9eu.shtml

相关文章

chatgptApi 文档使用以及 Demo演示

前言:最近chatGpt 很火爆,搞得国内某度都按耐不住了,开始搞‘文心一言’了。体验到了ChatGPT的强大之后,那么我们会想,如果我们想基于ChatGPT开发一个自己的聊天机器人,这个能搞定吗? ChatGPT平…

C#接入ChatGPT编程实际应用

一,介绍ChatGPT的API可以在前端,以及一些后端进行API的接入,本篇主要介绍基于ChatGPT的API的C#接入研究。 学习更多的科技知识可以来知新文学 最火的莫过于ChatGPT的相关讨论,这个提供了非常强大的AI处理,并且整个平…

编程新视角:ChatGPT帮助你高效编程和理解代码

现在好几个大公司都推出了自家的大语言模型,有的参数比GPT多,但是真正能称得上会编程的,大概只有GPT一个,可以说是OpenAI的独门功夫。 这篇文章旨在探讨GPT辅助编程过程中常用的提示和技巧。当然,我自己也是一边学一边…

使用chatgpt来提高你的编程能力,简直如虎添翼

下面大家跟着我的问题,可以跟着我一起向 chatgpt老师学习,相信我的问题可能你也会感兴趣。 在Java中,boolean类型的数组默认初始化为false。也就是说,如果你创建了一个boolean类型的数组,但是没有初始化它,…

强推集成GPT-4的编辑器Cursor;面向ChatGPT编程18种方法;如何将AI绘画融合于工作流;ChatGPT SEO公式大揭秘 | ShowMeAI日报

👀日报合辑 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 『AI 作品不受版权法保护?假的!』保护「人工」不保护「智能」,技术工具可以成为创造过程的一部分 3月16日&a…

用chatGPT分析热门文章,我发现了流量密码 | chatGPT编程

chatGPT实战编程 01 篇,未来每周至少更新一篇,赞转评是我最大的动力呀 前言 这两天刷着掘金热门文章,真眼馋这阅读量啊~ 羡慕之余痛恨自己太垃圾,写的文章只有几百阅读量,于是打算让chatGPT帮我分析掘金热门文章&…

玩转ChatGPT:辅助编程

一、写在前面 首先让小Chat介绍自己在编程方面的天赋: 总结起来:TA掌握了海量的编程知识,能做到自动代码生成、代码审查优化、编程教学辅导以及实时问题解答。我问TA学习了多少案例,TA说:忘了,但保证够用。…

chatGPT大大提高了编程效率

可以预见的是,未来对初级程序员的需求大大减少了。chatGPT的编程能力已经非常高,程序员一定要善于在工作中使用它,绝对是提高生产力的利器。 下面是我为了生成一些测试数据,让chatGPT帮我编写的程序,由于我对shell了解…

Python+chatGPT编程5分钟快速上手,强烈推荐!!!

最近一段时间chatGPT火爆出圈!无论是在互联网行业,还是其他各行业都赚足了话题。 俗话说:“外行看笑话,内行看门道”,今天从chatGPT个人体验感受以及如何用的角度来分享一下。 1、chatGPT是个啥? chatGP…

ChatGPT:当向聊天机器人问起编程问题的时候

目录 0. 前言1. 10个编程操作1.1 MATLAB怎么检测鼠标所在的位置坐标1.2 MATLAB获取系统时间1.3 MATLAB怎么跳过报错程序1.4 MATLAB怎么获取电脑用户名1.5 MATLAB怎么建立一个空的table1.6 MATLAB中怎么给数值矩阵再添加一列1.7 MATLAB怎么画出两点间直线1.8 MATLAB中一个三维矩…

工具 | VSCode+ChatGPT 编程利器

本文首发微信公众号:全副武装的大师兄(一个分享前沿技术,生活感受的公众号,关注我,率先了解好玩的工具) 托了GPT同学的福,最近编程时,常会在ChatGPT中说明自己的需求以生成代码&…

初探ChatGPT编程能力

最近ChatGPT被持续火热关注。有人盛赞它的智能超群,似乎要掀翻很多行业,重新洗盘;而有的人却不以为然,觉得它并没有这么厉害。今天我做一个小测试从编程这个需要一定逻辑能力的方面来考察一下。 首先我提出一个解答24点的问题&am…

面向ChatGPT编程

让AI编写一个聊天页面,先看一下成品图。 用react写一个聊天页面 让AI把聊天室页面加上好看的样式 要求让样式鲜艳一点 Windows浏览器的滚动条太丑了,让他美化一下 要求AI把聊天内容加上头像,就像微信一样 大功告成,顺利下岗~

ChatGPT编程能力实证研究

CODEWISDOM ChatGPT编程能力实证研究 刘子夕 冯洋1 陈碧欢2 娄一翎 彭鑫 陈振宇 1 fengyangnju.edu.cn; 2 bhchenfudan.edu.cn 南京大学 计算机软件新技术国家重点实验室 复旦大学 计算机科学技术学院 摘要 近年来,大型语言模型(LLM)得到了快…

ChatGPT编程

ChatGPT问答 问题一:如何合理分配时间问题二:以下是提高工作效率的建议:问题三:如何培养兴趣问题四:软件和硬件谁重要问题五: 设计模式如何熟练运用问题六:C语言编程冒泡排序 问题一:如何合理分配时间 这里…

10个值得收藏的ChatGPT辅助编程技巧

在我们开始之前,你必须先了解编程语言,然后才能相信 ChatGPT 抛给你的任何东西。 我必须明确这一点,因为许多误入歧途的绵羊被告知 ChatGPT 是新的圣杯,开发人员将被淘汰。 推荐:用 NSDT场景设计器 快速搭建3D场景。 使…

ChatGPT 在编程中的 9 个实际应用

ChatGPT 有如此多的潜在编码用途,可能有很多甚至还没有想到。找出一些有。 自 OpenAI 宣布推出 ChatGPT 以来,非凡的 AI 聊天机器人已经在许多领域找到了自己的一席之地,包括复杂、快速发展的编程领域。 但是作为程序员,您究竟可以…

ChatGPT强悍的编程能力,让我吓出一身冷汗!

最近有好几个人给我安利ChatGPT,说老刘快你去看看吧,这货实在太强了,搞不好我们程序员都失业了。 刚开始我都是微微一笑,怎么可能?我之前的观点一直都是在我的有生之年,AI绝对不可能干掉程序员。 但是安利的…

这 13 个 ChatGpt 的玩法,建议开发人员体验下

近年来,自然语言处理技术的发展使得创建强大的语言模型,如ChatGPT成为可能。 这些基于AI的工具能够生成类似人类文字的内容,使它们在包括写作和编辑在内的多种任务中非常有用。在本文中,我们将探索一些ChatGPT的实际应用案例&…

【ChatGpt】——不一样的使用感受分享

作者:狮子也疯狂 专栏:《基础知识查漏》 坚持做好每一步,幸运之神自然会降临在你的身上 目录 一. 🦁 前言二. 🦁 使用详情Ⅰ. 🐇 使用过程Ⅱ. 🐇 使用感受Ⅲ. 🐇 遇到的问题3.1 我遇…