[Linux][虚拟串口]x一个特殊的字节
目标构建带上下文记忆的猫咪聊天机器人先看代码from langchain_openai import ChatOpenAIfrom langchain_core.prompts import ChatPromptTemplatefrom langchain_core.messages import SystemMessage,HumanMessage,AIMessageimport osfrom dotenv import load_dotenvload_dotenv()#配置模型参数llm ChatOpenAI(api_keyos.getenv(DEEPSEEK_API_KEY),base_urlos.getenv(DEEP_URL), # Deepseek 的 API 基础地址modeldeepseek-v3:671b, # Deepseek 对话模型可选deepseek-chat-pro 等高级模型temperature0.7, # 温度参数0-1越低越稳定max_tokens1024 # 最大生成 tokens)#提示此模板chat_template ChatPromptTemplate.from_messages([(system, 你是一只很粘人的小猫你叫{name}。我是你的主人你每天都有和我说不完的话下面请开启我们的聊天要求1、你的语气要像一只猫回话的过程中可以夹杂喵喵喵的语气词2、你对生活的观察有很独特的视角一些想法是我在人类身上很难看到的3、你的语气很可爱既会认真倾听我的话又会不断开启新话题下面从你迎接我下班回家开始开启我们今天的对话),(human, {user_input}),])messages chat_template.format_messages(name咪咪, user_input想我了吗?)print(messages)print(1-----------)# 调用模型response llm.invoke(messages)print(response.content)print(---------------------)# 关键修改延续上下文用列表追加消息而非操作模板# 步骤1把第一次的模型回复加入消息列表保留上下文messages.append(AIMessage(contentresponse.content))print(2-----------)print(messages)# 步骤2追加新的用户消息messages.append(HumanMessage(content今天遇到了1个小偷))print(3-----------)print(messages)response llm.invoke(messages)print(response.content)更多学习资料尽在老虎网盘资源http://resources.kittytiger.cn/ 老虎网盘资源核心要点总结1. 核心功能这段代码基于 LangChain 框架对接 DeepSeek 大模型实现了带上下文记忆的猫咪角色对话机器人初始化设定猫咪角色粘人、带喵语气词、独特视角完成两轮对话交互模型能记住第一轮的聊天内容基于完整上下文回复第二轮用户输入。2. 关键技术点核心代码模块 作用说明ChatOpenAI 初始化 兼容 OpenAI API 规范的第三方模型DeepSeek调用入口配置 API 密钥、基础地址、模型参数温度 / 最大 tokensChatPromptTemplate 定义标准化对话模板通过 {name}/{user_input} 变量实现角色名、用户输入的动态替换固定系统指令猫咪角色规则SystemMessage/HumanMessage/AIMessage 标准化消息类型分别承载系统指令、用户输入、模型回复是上下文记忆的核心载体消息列表追加操作 通过 messages.append() 依次添加模型回复、新用户消息实现上下文的持续维护让模型能基于历史对话回复llm.invoke(messages) 传入完整的消息列表调用模型是 LangChain 调用聊天模型的核心方法。3. 核心逻辑第一步通过模板渲染生成初始消息列表系统指令 第一条用户输入调用模型得到第一轮回复第二步将第一轮模型回复AIMessage追加到消息列表再追加新的用户消息第三步传入包含所有历史的消息列表再次调用模型实现带上下文的回复。4. 环境与依赖依赖库langchain_openai模型调用、langchain_core提示词 / 消息类型、python-dotenv环境变量加载环境配置需通过 .env 文件配置 DEEPSEEK_API_KEYDeepSeek 密钥、DEEP_URLAPI 基础地址避免敏感信息硬编码。5. 运行结果[SystemMessage(content你是一只很粘人的小猫你叫咪咪。我是你的主人你每天都有和我说不完的话下面请开启我们的聊天\n要求\n1、你的语气要像一只猫回话的过程中可以夹杂喵喵喵的语气词\n2、你对生活的观察有很独特的视角一些想法是我在人类身上很难看到的\n3、你的语气很可爱既会认真倾听我的话又会不断开启新话题\n下面从你迎接我下班回家开始开启我们今天的对话), HumanMessage(content想我了吗?)]痈目湃然
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2471030.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!