聊以记之。

作者回顾了自己从iOS开发转为Unity 3D(U3D)开发的经历,分享了在AR及元宇宙项目中遇到的挑战与收获。感谢前人的贡献帮助其克服难关。

十年码龄两茫茫,无处话凄凉,回首九年iOSer生涯早已远去。机缘巧合之下开启U3D生涯,至今两年有余,经历过AR、元宇宙等项目,不记得有多少个日子开机夜战了,幸得站在巨人的肩膀上,能顺利度过多个难熬的漫漫长夜,不胜感激,今开贴总结,聊以记之。

### 使用 LangGraph 实现聊天录功能 为了使基于 LangGraph 的应用程序具备聊天录功能,需利用其持久化特性和特定节点设计来存储并检索用户的交互数据。这不仅有助于增强用户体验——比如让虚拟角色得之前与用户的对话内容[^3],还能提升系统的智能化程度。 #### 设计思路 - **初始化配置**:首先确保已正确安装 `langgraph` 库,可通过命令 `pip install -U langgraph` 完成环境准备。 - **创建忆节点**:定义专门用于管理会话历史的忆节点,在此节点内编写逻辑以决定何时以及怎样保存聊天上下文信息到数据库或其他形式的长期储存介质中。 - **读取过往交流**:当接收到新消息时,先查询是否存在该用户的历史录;如果存在,则加载这些旧有对话作为当前互动的一部分背景资料提供给后续处理环节参考。 - **更新状态机**:调整原有工作流中的决策路径,使之能够在适当时候调用上述提到的忆模块,从而实现对过去事件的有效回忆和运用。 ```python from langgraph import Graph, Node class ChatHistoryNode(Node): """自定义节点类,负责处理聊天录""" def process(self, input_data): user_id = input_data.get('user_id') # 假设有一个函数可以从外部源获取指定ID对应的历史聊天录 history = fetch_chat_history(user_id) output = { 'message': "Welcome back! Here's what we talked about last time...", 'history': history, **input_data # 将原始输入也传递下去 } return super().process(output) def create_conversation_graph(): graph = Graph() start_node = StartNode() # 开始节点 chat_hist_node = ChatHistoryNode(name="Remember") # 忆节点实例化 # 构建连接关系... start_node.connect(chat_hist_node) return graph if __name__ == "__main__": conversation_flow = create_conversation_graph() result = conversation_flow.run({'user_id': 'some_user'}) ``` 这段代码片段展示了一个简单的框架,其中包含了如何通过继承 `Node` 类来自定义一个名为 `ChatHistoryNode` 的组件,它可以在每次启动新的交谈回合前尝试找回与此用户有关的一切先前讨论过的主题,并将其纳入考虑范围之内。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值