使用chatgpt的api实现个人聊天机器人demo(可实现多轮对话)

之前写过一篇文章,初步实现调用chatgpt的api实现与机器人的对话,但是并没有提及多轮对话如何实现。在这篇文章中,我将介绍如何利用openai的api实现聊天机器人的多轮对话。

第一步:官网申请api,可参考我之前的博文:
用chatgpt的api实现你的简易个人聊天机器人demo_聊天机器人api_qq_38100666的博客-CSDN博客

第二步:编写程序

设置代理和api

import openai
import os
os.environ["http_proxy"] = "http://127.0.0.1:47890"
os.environ["https_proxy"] = "http://127.0.0.1:47890"openai.api_key="your api_key"

定义一个函数进行对话:

def chat(m):history = mwhile True:messages = history[-10:]message = input("")if message.lower() == "stop":breakmessages.append({"role":"user","content": message})history.append({"role":"user","content": message})response=openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=messages)reply = response["choices"][0]["message"]["content"]print(reply)history.append({"role":"assistant", "content": reply})return

定义一个变量history存放历史记录,这是实现多轮对话的关键

history = m

每次对话取前10条历史记录:

messages = history[-10:]

对于openai api的参数的解释:

        model:所采用的模型

        messages:

                role:对话中的角色,包括'user', 'assistant', 'system',‘user’代表终端用户,‘assistant’代表模型扮演的角色。

                content:对话的内容。

每轮对话中,首先将历史对话记录与当前用户输入内容合并,通过api输入给模型:

messages = history[-10:]
message = input("")
messages.append({"role":"user","content": message})
response=openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=messages)

得到模型反馈后,输出当前反馈,并将当前会话加入到历史记录中:

reply = response["choices"][0]["message"]["content"]
print(reply)
history.append({"role":"user","content": message})
history.append({"role":"assistant", "content": reply})

如果用户输入‘stop’,则停止对话

if message.lower() == "stop":break

主函数:

if __name__ == "__main__":messages = []print("I am ready to be your friendly chatbot" + "\n" + "You can now type your messages.")chat(messages)print("finished!")

第三步:进行对话,查看效果

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

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

相关文章

ChatGPT宝藏插件丨装上之后,上网、语音聊天、一键分享对话……简直让你爽到起飞!

今天分享4个让你的 ChatGPT 功能更强大的浏览器插件,装上就能用,每一个都是精挑细选。 1. WebChatGPT 很多小伙伴在用 ChatGPT查阅信息时,发现它有一个致命的问题: ChatGPT的知识库全部截止到 2021年9月,正常情况下…

chatgpt的语音机器人

准备工作 一.OpenAi的Api 1.登录openai 2.点击Develovpers的overview ### 3.点击右上角的Login in ### 4.点击右上角的view apikey ### 5.点击Creat new secret key 这样就会得到一个chatgpt的api,请妥善保存这个api,当你关闭这个网页的时候&#xff…

【ChatGPT】对话体验

如何使用 https://zhuanlan.zhihu.com/p/615721084 hello,ChatGPT! 来自它的自我介绍: 我是一种称为ChatGPT的大型语言模型,由OpenAI公司开发。我的设计目的是使用人工智能技术来进行自然语言处理和语言生成,以便向人类用户提供有…

【一分钟学会】用python做一个语音对话ChatGPT的程序——打造私人语音助手

本项目灵感来源是我的一个专业课程设计,当时耗时近四天在网上都没找到十分有用的信息。 以下是本项目完整的步骤流程,算是对自己工作的一个阶段性总结。希望同感兴趣的小伙伴们相互探讨、交流和学习。 一、准备工作 首先,需要准备①最新版的…

【插件分享】对Chatgpt的对话内容进行滚动截屏

问题描述 在和Chatgpt进行了一番友好的对话后,想要把对话内容截取出来与朋友分享,但是由于对话内容比较多,无法显示在一页里,因此需要使用滚动截屏。但是edge浏览器自带的网页捕获功能在chatgpt的聊天界面里无法实现滚动截屏。 解…

基于ChatGPT的端到端语音聊天机器人项目实战(一)

基于ChatGPT的端到端语音聊天机器人项目实战 ChatGPT API后台开发实战 本节主要是跟大家分享一个端到端的基于模型驱动的对话机器人,会有前端和后端,也会有一些具体模型的调用,读者需具有Python语言编程的基础,这是前置性的条件,有了这个基础,理论上讲本节所有的内容,…

ChatGPT专业应用:生成海外KOL合作邮件

正文共 475 字,阅读大约需要 2 分钟 品牌/媒介运营必备技巧,您将在2分钟后获得以下超能力: 快速生成海外KOL合作邮件模板 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人 | Alice 编辑…

用一杯星巴克的钱,训练自己私有化的ChatGPT

点击蓝字 关注我们 文章摘要:用一杯星巴克的钱,自己动手2小时的时间,就可以拥有自己训练的开源大模型,并可以根据不同的训练数据方向加强各种不同的技能,医疗、编程、炒股、恋爱,让你的大模型更“懂”你….…

ChatGPT怎么突然变得这么强?华人博士万字长文深度拆解GPT-3.5能力起源

文章目录 一、2020 版初代 GPT-3 与大规模预训练二、从 2020 版 GPT-3 到 2022 版 ChatGPT三、Code-Davinci-002和 Text-Davinci-002,在代码上训练,在指令上微调四、text-davinci-003 和 ChatGPT,基于人类反馈的强化学习的威力五、总结当前阶…

ChatGPT劲敌团队发布,可轻松引导ChatGPT不要输出有害言论!

文|MoMo酱 前不久Lecun携手曾经的死对头马库斯统一战线,炮轰以ChatGPT为首的大模型是邪路,吃瓜群众看的不亦乐乎,大佬们争议的核心便是大模型的 「道德和中立性」 ,也许是ChatGPT等大模型当前面临的最大挑战。 本篇论文…

Unity 连接ChatGPT

1、首先登录openai官网拿到自己的api(key) 2、下载插件,可以私聊 3、3个地方填上key 效果

Unity接入ChatGPT详细教程

想了解ChatGPT吗?想把ChatGPT作为平时开发的工具吗?看过来 直奔主题,先看一下效果 下面我带着大家一步一步来实现这个效果。 1.准备阶段 Unity(2019之后的版本),Git(https://blog.csdn.net/qq_38952352/article/details/127656385),ChatGPT key&#…

ChatGPT:优化对话的语言模型

OpenAI 已经训练了一个名为 ChatGPT 的模型,它以对话方式进行交互。对话格式使 ChatGPT 可以回答后续问题、承认错误、挑战不正确的前提并拒绝不适当的请求。 今天主要测试了ChatGPT. C# 实现冒泡排序, using System;namespace BubbleSortExample {cl…

chatgpt写程序-python小游戏-2048-pygame

闲的没事,用chatpgt弄了个小游戏,2048,利用pygame实现,无额外贴图。 只需要告诉他写个python游戏2048,只用pygame实现,不要额外贴图。然后在他暂停后说请继续,最后会有一些bug,把报错…

10秒钟,chatgpt帮你生成简单贪吃蛇游戏

场景&#xff1a; 制作一个简单html贪吃蛇游戏 方法 <!DOCTYPE html> <html> <head><title>贪吃蛇</title><style>body {margin: 0;padding: 0;}canvas {border: 1px solid black;}</style> </head> <body><canvas …

两句话,ChatGPT帮我写一个打飞机的游戏

大家好&#xff0c;我是全村的希望 今天的主题是让 chatGPT 来帮我们写一个打飞机的游戏 记得我刚学 Python 的时候&#xff0c;看的那本很经典的入门书《Python 编程&#xff1a;从入门到实践》&#xff0c;里面就有小项目就是教你编写一个打飞机的游戏 我那时候是对着书一个一…

chatgpt赋能python:Python用于股票:掌握数据、分析趋势

Python用于股票&#xff1a;掌握数据、分析趋势 在当今数字化时代&#xff0c;投资者使用数据分析技术作出投资决策变得越来越重要&#xff0c;而Python正是一种无形中帮助投资者进行数据分析的强有力工具。Python是一种高级数据分析语言&#xff0c;具有易读易懂的语法和强大…

金融人又慌了?ChatGPT解锁新用法:破解美联储“谜语”,预测股票走势

生成式AI风暴来袭&#xff0c;ChatGPT会抢走金融分析师的饭碗吗&#xff1f; 好消息是&#xff0c;像ChatGPT这样的产品很可能无法通过CFA考试&#xff0c;敲开通往大型金融机构的大门&#xff0c;但坏消息是&#xff0c;它们能取得经济学和法学学位&#xff0c;在一定程度上可…

Excel股票个股分析工具

采用Excel对个股信息分析展示 从多维度&#xff0c;如基本面&#xff0c;技术面&#xff0c;活跃度&#xff0c;行业表现等对个股进行分析 后台通过VBA在开放API实时获取数据 Excel文件下载地址&#xff1a; Excel股票分析工具_个股-桌面系统文档类资源-CSDN下载Excel个股信…

[AHK]腾讯实时股票数据接口

腾讯财经接口 获取最新行情 以五粮液为例&#xff0c;要获取最新行情&#xff0c;访问数据接口&#xff1a; qt.gtimg.cn/qsz000858 返回数据&#xff1a; v_sz000858"51~五 粮 液~000858~27.78~27.60~27.70~417909~190109~227800~27.78~492~27.77~332~27.76~202~27.75~33…