当前位置: 首页 > news >正文

CLI-Chatbot实现多轮对话以及history

这个项目会让你一次性学会LLM API 调用多轮对话conversation historystreamingCLI 工程结构async 编程prompt 管理你最终要做出的结果类似于并且一、项目结构1.先安装uvuv Documentation2.创建项目在cmd终端商执行uv init cli-chatbotcd cli-chatbot3.安装依赖uv add openai rich python-dotenv由于LLM本身不记忆历史每次问问题的时候就会出现就会非常的麻烦所以需要加入memory来帮助LLM记忆历史二、实现多轮对话memory.pyclass ConversationMemory:def __init__(self):self.messages [{role: system,content: You are a helpful AI assistant.}]def add_user_message(self, content):self.messages.append({role: user,content: content})def add_assistant_message(self, content):self.messages.append({role: assistant,content: content})def get_messages(self):return self.messagesapp.pyfrom openai import OpenAIfrom dotenv import load_dotenvfrom chatbot.memory import ConversationMemoryimport osload_dotenv()client OpenAI(api_keyos.getenv(OPENAI_API_KEY))memory ConversationMemory()while True:user_input input(\nYou: )if user_input.lower() exit:breakmemory.add_user_message(user_input)response client.chat.completions.create(modelgpt-4.1-mini,messagesmemory.get_messages())assistant_reply response.choices[0].message.contentmemory.add_assistant_message(assistant_reply)print(\nAssistant:)print(assistant_reply)目前已经实现多轮对话因为memory.get_messsage()会携带历史记录stream.pydef stream_response(stream):full_response for chunk in stream:content chunk.choices[0].delta.contentif content:print(content, end, flushTrue)full_response contentprint()return full_response修改app.pyfrom openai import OpenAIfrom dotenv import load_dotenvfrom chatbot.memory import ConversationMemoryfrom chatbot.stream import stream_responseimport osload_dotenv()client OpenAI(api_keyos.getenv(OPENAI_API_KEY))memory ConversationMemory()while True:user_input input(\nYou: )if user_input.lower() exit:breakmemory.add_user_message(user_input)stream client.chat.completions.create(modelgpt-4.1-mini,messagesmemory.get_messages(),streamTrue)print(\nAssistant:\n)assistant_reply stream_response(stream)memory.add_assistant_message(assistant_reply)输出结果注以上内容为 AI 辅助生成的参考回答仅供参考请自行核实关键信息。
http://www.rkmt.cn/news/1397651.html

相关文章:

  • Claude高效使用全攻略
  • 从MobileNetV1到V3:手把手带你用Python复现关键模块,看轻量网络如何‘进化’
  • 如何快速配置rtl88x2bu驱动:完整Linux Wi-Fi适配器安装指南
  • 33.原生手撕高通 EDL 刷机源码!Sahara/Firehose 协议底层实现 + 完整工程流程
  • 32.9008 深度刷机 + DFU 强制恢复,搞定 99% 手机系统崩溃变砖故障
  • 0101未来科技:硅基先进制程物理封顶:2nm/1nm节点宣告
  • 2026成都酷路泽老改新服务深度评测报告:成都酷路泽老改新公司、成都酷路泽老改新推荐、酷路泽改装公司价格、酷路泽改装公司厂家选择指南 - 优质品牌商家
  • ZnO氧化锌定制:氧化锌的“百变秀”
  • 糖尿病最新前沿研究(2026年5月)
  • 知识付费行业困局下,创客匠人如何用“结果式付费”破局
  • AutoResearch的四种常见循环和通用分析框架
  • CANN ops-transformer:RMSNorm 算子的数值精度分析
  • 专利合规向导实测:3步完成产品CRA合规差距分析
  • 从9.9元“娜塔莎”到1/12布衣可动:换装为什么成了新的情绪出口?
  • Excel批量查询神器:告别Ctrl+F,1分钟完成100个文件的跨表格搜索
  • 同样是租房,为什么这个小区体验不一样?
  • 别再死记公式了!用Python和NumPy手把手带你玩转线性插值(附温度预测实战)
  • 你的 AI 助理偷偷记住了你怕花钱——然后给你推了最便宜的抗癌药
  • 从焦虑到掌控:关于学习AI工具的深度思考
  • Is Grep All You Need?Agent 搜索里,Harness 比检索方法更重要
  • 2026西南管桁架生产标杆名录:管桁架生产公司、管桁架钢结构、重庆管桁架厂家、重庆钢网架厂家、钢结构屋面、钢结构桁架价格选择指南 - 优质品牌商家
  • 影刀RPA店群自动化:消息驱动架构与事件溯源实战
  • Windows 10开机自动隐藏指定软件图标:手把手制作你的专属“托盘清洁”脚本
  • 选择TokenPlan套餐在长期项目中显著降低大模型调用成本
  • AMAT 0190-07099 控制器
  • 分享pp浏览器 自动屏蔽广告 纯净浏览超流畅
  • Java开发进阶指南:深入理解JVM与内存管理
  • IDEA安装、使用、配置
  • 2026年五大品牌公司行业排行榜单:5家专业机构对比参考
  • 2026诚信复合防静电地板厂家名录:全铝防静电地板厂家、成都防静电地板厂家、防静电全钢地板厂家、防静电木基地板厂家选择指南 - 优质品牌商家