位置: IT常识 - 正文

chatGPT之Python API启用上下文管理

编辑:rootadmin
chatGPT之Python API启用上下文管理

推荐整理分享chatGPT之Python API启用上下文管理,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

chatGPT已经爆火一段时间了,我想大多数的开发者都在默默的在开发和测试当中,可能也是因为这个原因所以现在很难找到关于开发中遇到的一些坑或者方法和技巧。

为什么别人的机器人能联想之前的语料,而你的却像个每次都只如初见的高冷机器人?

我也是参考官方文档去阅读和理解的,但是有时候官方文档以为你很懂了,就没有太多说明,废话不多说下面我跟大家讲一下API调用时如何启用上下文管理的。

官方案例:

# Note: you need to be using OpenAI Python v0.27.0 for the code below to workimport 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?"}])

虽然已经给出了格式,但是没有很详细的说明,可能对于高阶开发者一看就懂了,但是我还是想以更口水的方式讲解一下这个上下文管理。

先看一下我一个简单的代码(还没有启用上下文管理):

import openaiopenai.api_key = "你的sk-key"msg = [{"role": "user", "content": "你好chatGPT"}]# 结构化数据并进行提交completion = openai.ChatCompletion.create(# max_tokens = inf # 默认inf 最大令牌数presence_penalty = 1, # 惩罚机制,-2.0 到 2.0之间,默认0,数值越小提交的重复令牌数越多,从而能更清楚文本意思frequency_penalty = 1, # 意义和值基本同上,默认0,主要为频率temperature = 1.0, # 温度 0-2之间,默认1 调整回复的精确度使用n = 1, # 默认条数1user = ids, # 用户ID,用于机器人区分不同用户避免多用户时出现混淆model = "gpt-3.5-turbo",    # 这里注意openai官方有很多个模型messages = msg)value = completion.choices[0].message.content    # chatGPT返回的数据

这是一个最基本的结构,其中参数model和messages是必须要有的两个形参。

chatGPT之Python API启用上下文管理

加入上下文管理的代码:

import openaiopenai.api_key = "你的sk-key"msg = [{"role": "system", "content": "你的名字叫玖河AI,你是一个插件,你的开发者是玖河."},{"role": "user", "content": "你好chatGPT"},{"role": "assistant", "content": "您好,有什么需要我帮忙的问题吗?"},{"role": "user", "content": "我的名字叫高启强,我的妹妹叫高启兰,我们是兄妹关系。记住了吗?"}        {"role": "assistant", "content": "好的,您叫高启强,您的妹妹叫高启兰,是亲兄妹关系。谢谢您提供信息让我更了解你们~"},        {"role": "user", "content": "你现在在哪里?"},        {"role": "assistant", "content": "作为一款智能Ai助手,我并没有实际的位置。我只是在云端中运行,在等待用户输入指令时保持睡眠状态。"},        {"role": "user", "content": "我的妹妹是谁?"},        {"role": "assistant", "content": "您之前告诉我,您的妹妹叫高启兰。"},        {"role": "user", "content": "你的名字叫什么?"},        {"role": "assistant", "content": "我的名字叫玖河AI是一个叫玖河的开发者开发的插件"}        ]# 结构化数据并进行提交completion = openai.ChatCompletion.create(# max_tokens = inf # 默认inf 最大令牌数presence_penalty = 1, # 惩罚机制,-2.0 到 2.0之间,默认0,数值越小提交的重复令牌数越多,从而能更清楚文本意思frequency_penalty = 1, # 意义和值基本同上,默认0,主要为频率temperature = 1.0, # 温度 0-2之间,默认1 调整回复的精确度使用n = 1, # 默认条数1user = ids, # 用户ID,用于机器人区分不同用户避免多用户时出现混淆model = "gpt-3.5-turbo", # 这里注意openai官方有很多个模型messages = msg)value = completion.choices[0].message.content # chatGPT返回的数据

下面启用上下文管理的数据结构和没有启用的数据结构略有不同:

① system 代表系统设定(也就是告诉chatGPT他的角色)

② user 表示用户

③ assistant 表示GPT的回复

有几个点需要跟大家说一下,避免踩坑!

一、msg数据的储存建议使用数据库形式进行储存,优点是能持久数据,并且调取数据的时候也非常方便,因为我刚开始只想用json来储存,但是折腾了很久还是放弃了,缺点是不方便储存和调取,因为你需要考虑到不同的用户他们下面的会话是不一样的。

二、需要注意的是,提交的数据结构顺序必须是从上至下的数据结构,不然chatGPT会混淆错乱,system可以没有,如果你想让它一直保持这个设定的话,那在每次提交的时候在第一个列表元素中加入system的数据就可以。

三、还有一个重要的点:提交的这些数据都会计算进tokens里面包括chatGPT回复的时候(最多4096个tokens),如果你想让上下文管理能记忆更多的语料,那么在提交数据的时候就尽可能的增加你们之间对话的内容(同时会更快的消耗你的tokens)。

四、截止2023年3月14日前:chatGPT的会员价格为20美元/月 ,tokens按量收费。通俗的说就是想手机卡一样,每个月有月租,通话另外计费。chatGPT Plus会员的好处就是速度能更快,并且稳定,白嫖版的也能用,就是速度会慢一些而且不稳定容易挂掉。

如果我的文章能帮助到你,也希望能给我点个关注或者赞!

转载请注明出处:https://mp.csdn.net/mp_blog/creation/success/129541012

本文链接地址:https://www.jiuchutong.com/zhishi/299792.html 转载请保留说明!

上一篇:猿创征文|【React 三】组件实例的三大属性(state、props、refs)(关于猿猴的作文)

下一篇:用 JSP 连接 MySQL 登入注册项目实践(JSP + HTML + CSS + MySQL)(jsp连接mysql8数据库)

  • 如何利用微博来推广论坛(怎么用好微博)

    如何利用微博来推广论坛(怎么用好微博)

  • 支付宝上的行程记录在哪里(支付宝上的行程卡打不开怎么回事)

    支付宝上的行程记录在哪里(支付宝上的行程卡打不开怎么回事)

  • 苹果手机空格键怎么打下一行(苹果手机空格键在哪里怎么样操作)

    苹果手机空格键怎么打下一行(苹果手机空格键在哪里怎么样操作)

  • 华为畅享10的解锁方式有几种(华为畅享10解锁)

    华为畅享10的解锁方式有几种(华为畅享10解锁)

  • 抖音直播pk是指什么(抖音直播pk是什么意思哦)

    抖音直播pk是指什么(抖音直播pk是什么意思哦)

  • 华为荣耀20青春版是什么意思(华为荣耀20青春版多少钱一台)

    华为荣耀20青春版是什么意思(华为荣耀20青春版多少钱一台)

  • 第一代计算机体积大 耗电的主要原因(第一代计算机体积大耗电多性能低受什么影响)

    第一代计算机体积大 耗电的主要原因(第一代计算机体积大耗电多性能低受什么影响)

  • 电脑屏幕关了怎么开(电脑屏幕关了怎么恢复)

    电脑屏幕关了怎么开(电脑屏幕关了怎么恢复)

  • 对方加你微信过期了怎么办(对方加微信过来还没认证不小心删了丛那里找回来)

    对方加你微信过期了怎么办(对方加微信过来还没认证不小心删了丛那里找回来)

  • 抖音里的共同联系人是怎么来的(抖音里的共同联系人怎么不见了)

    抖音里的共同联系人是怎么来的(抖音里的共同联系人怎么不见了)

  • 一个抖音号可以登录几个手机(一个抖音号可以实名认证几个)

    一个抖音号可以登录几个手机(一个抖音号可以实名认证几个)

  • 微视号是什么(微视是什么时候出来的)

    微视号是什么(微视是什么时候出来的)

  • 胶卷相机是什么意思(胶卷相机是什么原理)

    胶卷相机是什么意思(胶卷相机是什么原理)

  • 华为k歌延迟怎么解决(华为k歌模式)

    华为k歌延迟怎么解决(华为k歌模式)

  • ios13.3.1什么时候更新(苹果13.3.1什么时候正式更新)

    ios13.3.1什么时候更新(苹果13.3.1什么时候正式更新)

  • 淘宝客关闭后多久生效(淘宝客已经关闭了怎么还有)

    淘宝客关闭后多久生效(淘宝客已经关闭了怎么还有)

  • 手机怎么弄滚动字幕(手机怎么弄滚动屏幕)

    手机怎么弄滚动字幕(手机怎么弄滚动屏幕)

  • 绿洲APP是干什么的(绿洲这个app)

    绿洲APP是干什么的(绿洲这个app)

  • win10系统安装教程u盘(超详细win10系统安装教程)

    win10系统安装教程u盘(超详细win10系统安装教程)

  • 苹果可以免费换电池吗(苹果可以免费换屏幕吗)

    苹果可以免费换电池吗(苹果可以免费换屏幕吗)

  • 无法找到服务器应用程序、源文件(未转变者无法找到服务器)

    无法找到服务器应用程序、源文件(未转变者无法找到服务器)

  • 智慧短信是什么(发短信显示智慧短信)

    智慧短信是什么(发短信显示智慧短信)

  • 快手怎么设置上下滑动切换作品(快手怎么设置上线不可见)

    快手怎么设置上下滑动切换作品(快手怎么设置上线不可见)

  • RabbitMQ学习笔记(rabbitmq中文手册)

    RabbitMQ学习笔记(rabbitmq中文手册)

  • 小规模纳税人减按1%政策文件
  • 节能服务公司可以做什么
  • 营改增后房地产会计账务处理
  • 广告宣传费扣除比例
  • 无形资产摊销月底最后一天怎么算
  • 豆粕适用税率
  • 交社保不发工资怎么办
  • 税控设备维护费会计分录
  • 公司买车可以抵扣哪些税
  • 国际船舶代理是什么意思
  • 纳税申报的具体流程个体户
  • 企业年金需要缴纳个人所得税吗
  • 借款到期一直付利息诉讼期怎么算
  • 物业公司收取供热管道内网的维护费用合理吗
  • 稽查查补税款企业所得税
  • 企业购买房产可以抵扣增值税吗
  • 经济纠纷的解决途径包括哪些
  • 预缴增值税一般计税依据
  • 税控技术服务费每年都可以抵扣吗
  • 砂石开采销售需什么资质
  • 增值税税负低如何解释
  • 劳务派遣用工工资标准
  • 一般纳税人税负率
  • 财务部水电费会计分录
  • 普通合伙企业个税怎么算
  • 多用途预付卡发卡方账务处理
  • 运输发票车种车号要求 自有车
  • 小规模计提缴纳增值税
  • 未开票的货款记什么科目
  • 营改增后城建税和教育费附加包含在哪里
  • 自定义输入是什么
  • linux硬件设备分为
  • 公司给客户报销费用可以吗
  • wordpress测试
  • 撤销账户申请怎么写
  • 用应付票据付应付账款
  • 其他应收款的审计重点不包括哪些
  • iis制作网页
  • 外请培训老师的路费谁承担
  • 负债大于资产是逆差还是顺差
  • php正则替换字符串
  • php 断点续传
  • PyTorch深度学习实战 | 基于ResNet的人脸关键点检测
  • 原材料暂估入库成本结转处理
  • 小规模纳税人减免增值税会计处理
  • 拖欠工程款利息的司法解释
  • 公转私法人
  • 内帐税金会计分录
  • 应收账款余额百分比法与账龄分析法有何异同
  • 金税四期功能
  • 附加税减半征收政策是哪个文件
  • 计入其他综合收益的有哪些
  • 损益类科目调整到未分配利润分录
  • 购进原材料发生的保险费
  • 代发工资怎么算税
  • 核销贷款收回账务怎么做
  • 信用卡逾期滞纳金怎么收取
  • 可供出售金融资产和交易性金融资产
  • 资产负债表编制
  • 购车怎么做会计分录
  • 高新技术企业每年需要多少专利
  • 流动资产合计怎么算
  • 优化sql语句10种方法
  • freebsd软件安装
  • chia 如何双挖
  • win7系统可移动的文件
  • 附件中的应用程序
  • win8切换语言
  • 学习ExtJS fit布局使用说明
  • jquery 拖拽布局
  • 简述javascript
  • jq获取url
  • 为什么登录不了福建社保网站
  • 吉林省耕地占用税实施办法
  • 主要领导成员是指
  • 国家电子税务总局重庆电子税务局
  • 江苏联通客服电话人工服务号码
  • 进口设备应缴纳的关税
  • 纳税人如何划分
  • 纪律作风如何形容
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设