OpenAI ChatGPT3.5 completion API 入门指南

官方介绍

ChatGPT 由 OpenAI 最先进的语言模型 gpt-3.5-turbo 提供支持。
使用 OpenAI API,您可以使用 GPT-3.5-turbo 构建自己的程序来做一些如下的事情:

  • 起草电子邮件或其他书面文件
  • 编写 Python 代码
  • 回答关于一组文档的问题
  • 创建对话代理程序
  • 为你的软件提供自然语言接口
  • 充当导师辅导多学科
  • 充当翻译
  • 模拟游戏中的角色等等

纯源码(调试好的gpt3.5 python 源码见另一篇文章)

用 Python 实现ChatGPT OpenAI(直接上源码)

模型介绍

官方介绍
GPT-3.5-turbo 模型是以一系列消息作为输入,并将模型生成的消息作为输出。
消息是一个对象数组,其中每个对象都有一个角色,一共有三种角色。

  • 系统-system:消息有助于设置助手的行为。在上面的例子中,助手被指示 “你是一个得力的助手”;
  • 用户-user:消息有助于指导助手。 就是用户说的话,向助手提的问题;
  • 助手-assistant:消息有助于存储先前的回复。这是为了持续对话,提供会话的上下文。
# Note: you need to be using OpenAI Python v0.27.0 for the code below to work
import openaiopenai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Who won the world series in 2020?"},{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},{"role": "user", "content": "Where was it played?"}]
)

建立持续会话

在这里插入图片描述

  • 在这个 ChatGPT 的会话场景中,第一行文本告诉模型 它是一个翻译家
  • 然后,在交替的会话中,ChatGPT 会将用户发送的英文句子翻译成中文再响应给用户,这就是一个有上下文的持续会话。
  • GPT-3.5-turbo 模型是没有记忆的,不会记录之前的 请求上下文,所有相关信息都必须通过对话提供,这样才能保持持续的会话。

通常,对话的格式为先是系统消息,然后是交替的用户和助手消息。在 Chat completion API 接口中,我们可以实现这个上下文请求.

completion = openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "system", "content": "你是一个翻译家"},{"role": "user", "content": "将我发你的英文句子翻译成中文,你不需要理解内容的含义作出回答。"},{"role": "user", "content": "Draft an email or other piece of writing."}]
)

助手响应输出

{"id": "chatcmpl-6q0Kqgk2qlcpCGDYcLQnUmUVVrMd6","object": "chat.completion","created": 1677852364,"model": "gpt-3.5-turbo-0301","usage": {"prompt_tokens": 69,"completion_tokens": 20,"total_tokens": 89},"choices": [{"message": {"role": "assistant","content": "起草一封电子邮件或其他写作材料。"},"finish_reason": "stop","index": 0}]
}

管理 Token

语言模型以称为 tokens 的块读取文本。在英语中,一个 token 可以短至一个字符或长至一个单词(例如,a 或 apple),在某些语言中,token 可以比一个字符更短,也可以比一个单词长。
例如,字符串 “ChatGPT is great!” 被编码成六个 token:[“Chat”, “G”, “PT”, “ is”, “ great”, “!”]

API 调用中的 token 总数会影响:

  • API 调用成本:因为您需要为为每个 token 支付费用
  • API 调用响应时间:因为写入更多令牌需要更多时间
  • API 调用是否有效:因为令牌总数必须是 低于模型的最大限制(gpt-3.5-turbo-0301 为 4096 个令牌)

Token 计费方式

输入和输出标记都计入这些数量。例如,如果您的 API 调用在消息输入中使用了 69 个 token,并且在消息响应中收到了 20 个 token,您将被收取 89 个token 的费用。API 响应中的 usage 字段显示了本次调用使用了多少 token。

{"usage": {"prompt_tokens": 69,"completion_tokens": 20,"total_tokens": 89}
}

免费用户,有 18 美元的 token 权限,如下:
在浏览器右上角个人中心进入查看
在这里插入图片描述

计算 Token 消耗

要在不调用 API 的情况下查看文本字符串中有多少个 token,请使用 OpenAI 的 tiktoken Python 库。 示例代码可以在 OpenAI Cookbook 关于如何使用 tiktoken 计算令牌的指南中找到。

另请注意,非常长的对话更有可能收到不完整的回复。例如,一个长度为 4090 个 token 的 gpt-3.5-turbo 对话将在只回复了 6 个 token 后被截断。


import tiktokendef num_tokens_from_messages(messages, model="gpt-3.5-turbo-0301"):"""Returns the number of tokens used by a list of messages."""try:encoding = tiktoken.encoding_for_model(model)except KeyError:encoding = tiktoken.get_encoding("cl100k_base")if model == "gpt-3.5-turbo-0301":  # note: future models may deviate from thisnum_tokens = 0for message in messages:num_tokens += 4  # every message follows <im_start>{role/name}\n{content}<im_end>\nfor key, value in message.items():num_tokens += len(encoding.encode(value))if key == "name":  # if there's a name, the role is omittednum_tokens += -1  # role is always required and always 1 tokennum_tokens += 2  # every reply is primed with <im_start>assistantreturn num_tokenselse:raise NotImplementedError(f"""num_tokens_from_messages() is not presently implemented for model {model}.
See https://github.com/openai/openai-python/blob/main/chatml.md for information on how messages are converted to tokens.""")messages = [{"role": "system", "content": "你是一个翻译家"},{"role": "user", "content": "将我发你的英文句子翻译成中文,你不需要理解内容的含义作出回答。"},{"role": "user", "content": "Draft an email or other piece of writing."}
]# example token count from the function defined above
model = "gpt-3.5-turbo-0301"print(f"{num_tokens_from_messages(messages, model)} prompt tokens counted.")
# output: 69 prompt tokens counted.

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英语二-电子邮件邀请短文写作

1. 邮件模板 Dear 邀请人, Hope you have a great day. I am writing this email to invite you to attend 主题. Please kindly find the following information for your reference: Time: 时间 Address: 地点 We hope that nothing will prevent you from coming, as…

怎样收智商税

智商税的历史源远流长&#xff0c;史上最著名的案例&#xff0c;是 1313 年起天主教会开始发售的“赎罪券”&#xff1a;教皇宣称教徒购买此券&#xff0c;可以赦免罪罚&#xff0c;其宣传是“金币投进柜子当啷一响时&#xff0c;灵魂就可以升天堂了”。此案例诠释了智商税的几…

AIGC周报|让AI来画《海贼王》;苹果限制员工使用ChatGPT;李彦宏:不担心大模型会让工作消失

AIGC&#xff08;AI Generated Content&#xff09;即人工智能生成内容。近期爆火的 AI 聊天机器人 ChatGPT&#xff0c;以及 DallE 2、Stable Diffusion 等文生图模型&#xff0c;都属于 AIGC 的典型案例&#xff0c;它们通过借鉴现有的、人类创造的内容来快速完成内容创作。 …

谷歌正式开放智能 AI 机器人 Bard 迎战 ChatGPT,附申请教程

随着 ChatGPT 掀起了 AI 时代的浪潮之后&#xff0c;微软必应 Bing Chat 机器人、Office 以及百度的“文心一言”等都已经离开实验室&#xff0c;正式在公众的赛道上比拼了。3月21日周二&#xff0c;美国科技巨头谷歌公司推出了 AI 聊天机器人 Bard 的测试版本&#xff0c;以期…

吴恩达 ChatGPT Prompt Engineering for Developers 系列课程笔记--01 Introduction

01课程介绍Introduction 1) 两种LLM(Large Language Models) Base LLM&#xff1a;根据训练数据自动预测下一个单词。例如&#xff1a;给定"Once upon a time, there was a unicorn"&#xff0c;LLM会自动生成下面的文章"that lived in a magical forrest with…

计算机考研复试面试系列 计算机专业英语篇

计算机考研复试面试系列 计算机专业英语篇 在复习过程中&#xff0c;我用心查阅并整理了在考研复试面试中可能问到的大部分问题&#xff0c;并分点整理了答案&#xff0c;可以直接理解背诵并加上自己的语言润色!极力推荐打印下来看&#xff0c;效率更高&#xff01; 此系列一共…

AI时代的三类人:探索掌握AIGC,引领未来的人才之路

&#xff08;本文阅读时间&#xff1a;6 分钟&#xff09; 1 AI时代&#xff1a;ChatGPT引领AIGC技术革命 对于那些热衷于探索新技术的小伙伴而言&#xff0c;ChatGPT早已超越了抽象的概念&#xff0c;我们对其能力已有所了解。那么&#xff0c;ChatGPT究竟能够做些什么呢&…

AGI 大模型创业时代的创业公司新形态:11 人的 Midjourney 不是偶然 | 同为开发绘画AI的团队,Midjourney是怎么取得今天的成就的呢?

同为开发绘画AI的团队,Midjourney是怎么取得今天的成就的呢? 目录 同为开发绘画AI的团队,Midjourney是怎么取得今天的成就的呢?</

Web开发课程实验(二):Servlet+DAO实现数据库基本交互

实验内容&#xff1a; 使用servletDAO实现基本数据库交互 具体要求 编写一个静态网页&#xff0c;网页命名&#xff1a;student.html 编写一个Servlet&#xff0c;命名&#xff1a;StudentServlet 创建hit数据库&#xff08;PostgreSQL或MySQL均可&#xff09;&#xff0c;其…

占有统治地位的Transformer究竟是什么

讲个有趣的小故事 我高二那年从乙班考入了甲班&#xff0c;对于那时的我 偏科英语最高只有108班级平均英语成绩125暴躁难为人女英语老师&#xff0c;使我上英语课时战战兢兢。英语老师很时尚&#xff0c;喜欢搞花里胡哨的词语让我们放松&#xff0c;也很尊重我虽然暴躁但维护着…

8 Surprising Things You Can Do With ChatGPT 你可以用 ChatGPT 做的 8 件令人惊讶的事情

If you’ve heard about ChatGPT and think it’s just a fancy chatbot, you might be underestimating the range of what it can do. Here are some surprising things you can do with ChatGPT, whether you want to write a resume or have it dungeon-master an epic rol…

千万别错过!C/C++实现经典围棋大战,秒杀挫败柯洁的AlphaGo

在现实生活中想下围棋就必须要有棋子和棋盘&#xff0c;但是棋子好携带&#xff0c;但棋盘携带的话就和不方便了&#xff0c;所以很多人突然有雅兴想下围棋但奈何没有棋盘&#xff0c;但是随着围棋软件的出现就很好的解决了这个问题了&#xff0c;它可以让你随时随地都能过把手…

又一次输了人机大战,柯洁反复说着这两个词......

一场27日在福州与“星阵”的对决让柯洁的名字再度与“人机大战”联系在一起&#xff0c;而尽管中盘告负的结果让他“深感无力”&#xff0c;但柯洁表示未来与人工智能的对阵仍是不可避免&#xff0c;他也希望尽早出台相应的规则&#xff0c;防止未来可能利用人工智能作弊的现象…

柯洁直播中为何大笑不止 围棋人胜AI重现曙光?

新浪体育2023/05/02 柯洁直播中开心不已 4月30日&#xff0c;柯洁在b站的直播中分享了人类棋手“偷袭”击败AI的棋谱&#xff0c;坦言如果在人机大战的时候知道这个bug的话&#xff0c;或许有赢的可能。 2016&#xff0c;2017两次人机大战后&#xff0c;人与人工智能在围棋上的…

柯洁食言:明年四月,再战AI

李根 发自 凹非寺 量子位 报道 | 公众号 QbitAI “我说不再跟AI下棋&#xff0c;现在食言了。” 刚刚&#xff0c;人类围棋第一人柯洁九段宣布&#xff1a;明年4月&#xff0c;将再次与围棋AI交锋。 对话柯洁&#xff1a;我喜欢自我挑战 今年4月的乌镇&#xff0c;与AlphaGo的第…

今天,给柯洁老师打电话

问耕 发自 凹非寺量子位 出品 | 公众号 QbitAI △ 配图来自柯洁微博 如果你看到这一篇推送&#xff0c;即使没有号码&#xff0c;也希望你给柯洁老师打电话。 可以热烈一点~ 因为&#xff0c;他成功复仇了&#xff01; 柯洁战胜了不久前刚刚碾压了他的腾讯围棋AI绝艺&#xff0…

人工智能统治围棋?棋士一文不值?

全文共3057字,预计学习时长9分钟 来源: tuxi 韩国围棋大师李世石最近宣布退出职业围棋比赛。 为什么? 他觉得无论他多么努力,他都不会打败像AlphaGo这样的AI-Go玩家。这是他在与谷歌DeepMind的AlphaGo竞争中历史性失败的一个相当悲哀的决定。 李世石的退出颇具戏剧性。然而,…

【求投票】博客之星投票

麻烦请走过路过的兄弟姐妹们&#xff0c;动动你们的小手指&#xff0c;帮忙投个票。 投票方法&#xff1a;点开链接https://bbs.csdn.net/topics/603959652&#xff0c;如下图&#xff1a;点亮5星即可

2020年贺岁杯围棋争霸赛今日开赛,AI+围棋看点十足

1月20日,2020第八届CCTV贺岁杯中日韩新春围棋争霸赛在成都市武侯区拉开战幕,中国的柯洁、韩国的朴廷桓和日本的芝野虎丸将在为期三天的比赛中,携手为全世界的棋迷献上新春贺礼。聂卫平、华学明、常昊、陈盈、古力、徐莹六位嘉宾将先后在央视直播讲解。 CCTV贺岁杯中日韩新春围棋…

文献笔记——A brief introduction to distributed systems(分布式系统)

本文主要讨论了分布式系统。作者提供了关于分布式系统的概述&#xff0c;是一份很好的新手教程。 Fig.1 大纲 在论文的第一部分&#xff0c;作者简要回顾了计算机的演变&#xff0c;指出了分布式系统的两个技术基础&#xff1a;性能强大的微处理器的发展和高速计算机网络的发明…