LongtermChatExternalSources记忆原理揭秘:Embedding向量化与余弦相似度检索的完整拆解

发布时间:2026/8/25 9:45:01

LongtermChatExternalSources记忆原理揭秘:Embedding向量化与余弦相似度检索的完整拆解
LongtermChatExternalSources记忆原理揭秘Embedding向量化与余弦相似度检索的完整拆解【免费下载链接】LongtermChatExternalSourcesGPT-3 chatbot with long-term memory and external sources项目地址: https://gitcode.com/gh_mirrors/lo/LongtermChatExternalSourcesLongtermChatExternalSources 是一个开源的GPT-3 长期记忆聊天机器人核心能力正是 Embedding 向量化与余弦相似度检索。这篇教程带你逐行看懂 chat.py 的记忆实现10 分钟搞懂 AI 聊天机器人记住过去的完整原理。为什么聊天机器人需要长期记忆默认的 GPT-3 API 是无状态的——每次请求都是全新的聊完即忘。这个项目用一套纯文件 向量的方案解决记忆问题架构非常轻量目录角色类比nexus/每条对话的消息 向量情景记忆海马体internal_notes/GPT-3 生成的记忆摘要陈述记忆压缩笔记gpt3_logs/每次调用的提示词与输出调试日志 一句话概括每条消息都变成一个高维向量存盘提问时再靠向量夹角找出最相关的旧记忆。Embedding 向量化把文字变成 1536 维向量记忆的入口在 gpt3_embedding 函数def gpt3_embedding(content, enginetext-embedding-ada-002): content content.encode(encodingASCII,errorsignore).decode() response openai.Embedding.create(inputcontent,engineengine) vector response[data][0][embedding] # this is a normal list return vector关键点调用 OpenAI 的text-embedding-ada-002模型将任意文本编码为1536 维浮点向量发送前先用 ASCII 编码过滤掉非英文字符errorsignore兼容当时 API 的限制向量的魔法在于语义越相近的两段文字向量方向越接近可以直接翻一下真实数据感受 nexus/log_1674383041.28684_USER.json一句good morning raven就对应一个包含 speaker、时间戳、uuid 和上千行向量的 JSON 文件。余弦相似度找出意思相近的记忆拿到查询向量后如何判断哪条旧记忆最相关答案在 similarity 函数def similarity(v1, v2): return np.dot(v1, v2)/(norm(v1)*norm(v2)) # return cosine similarity这就是教科书级的余弦相似度公式cos θ 点积 / (模长 × 模长)。结果范围是 -1 ~ 1越接近 1 表示两条记忆方向越一致越相关只比较方向、忽略长度因此早上好和清晨问候能被判为高相似而不受句子长短影响检索逻辑在 fetch_memories 函数 中遍历nexus/全部历史消息逐条打分、排序跳过与当前消息完全相同的向量最后返回Top 10条最相关记忆。完整检索链路AI 想起过去的 6 个步骤主循环 chat.py 第 141-172 行 把上面的零件串成流水线每一轮对话都执行用户输入 → 向量化gpt3_embedding(a)连同 uuid、时间戳存为nexus/log_时间戳_USER.json载入全部历史load_convo 按时间正序读取nexus/下所有 JSON检索情景记忆fetch_memories(vector, conversation, 10)取余弦相似度最高的 10 条摘要压缩summarize_memories 把 10 条记忆拼成文本块用 prompt_notes.txt 让 GPT-3 写成-开头的笔记列表再为笔记块本身生成向量存入internal_notes/组装提示词prompt_response.txt 中NOTES和CONVERSATION两个占位符分别填入摘要笔记和最近 4 条消息生成并存档回复text-davinci-003输出答案回复同样向量化后存回nexus/完成一轮闭环流程图直观版用户输入 ──▶ Embedding 向量化 ──▶ 余弦相似度检索 Top10 记忆 ▲ │ │ ▼ 回复存档 ◀── GPT-3 生成 ◀── 摘要笔记 最近4条消息用真实数据验证记忆效果打开 internal_notes/notes_1674383045.5926764.json能看到 GPT-3 实际压缩出的记忆笔记User: Asked about difficulty sleepingRaven: Suggested establishing a regular sleep schedule…User: Asked about the singularityRaven: Explained the concept of the singularity…8 条原始对话被浓缩成 8 行要点uuids/times字段保留了可回溯的溯源链。此外dream_sequence.py 是作者预留的梦境模块复用了同一套向量化与相似度能力用于离线提炼用户偏好原则提示词见 prompt_dream_user.txt属于项目规划中的扩展方向。快速上手5 步跑通你的记忆型 GPT-3 聊天机器人按照 README.md 的说明操作克隆仓库git clone https://gitcode.com/gh_mirrors/lo/LongtermChatExternalSources创建虚拟环境python3 -m venv env并激活安装依赖pip install openai numpy将 OpenAI API Key 写入项目根目录的openaiapikey.txt末尾不要换行运行python chat.py即可在命令行与有记忆的 RAVEN 对话常见问题Q1为什么不用向量数据库而是逐文件遍历消息量小时暴力扫描足够且架构零依赖、完全透明代码里的 TODO 注释也表明后续计划引入时间邻近召回等优化见 chat.py 第 58 行。Q2记忆会无限膨胀吗每条消息一个 JSON 文件笔记是增量摘要而非全量重算配合uuid索引便于后续去重与归档。Q3换成中文能用吗当前errorsignore会丢弃非 ASCII 字符直接输入中文会被清空改造该过滤逻辑即可支持这也是动手练习的好切入点。总结LongtermChatExternalSources 用不到 200 行代码演示了 RAG 时代记忆系统的雏形——向量化存记忆、余弦相似度找记忆、大模型压缩记忆。吃透 chat.py 后你就能为任何无状态大模型应用挂上长期记忆。【免费下载链接】LongtermChatExternalSourcesGPT-3 chatbot with long-term memory and external sources项目地址: https://gitcode.com/gh_mirrors/lo/LongtermChatExternalSources创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Path of Building PoE2 离线构建规划:天赋、装备与伤害计算完整指南

Path of Building PoE2 离线构建规划:天赋、装备与伤害计算完整指南

2026/8/25 9:45:00

Path of Building PoE2 离线构建规划:天赋、装备与伤害计算完整指南 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 Path of Building PoE2(PoB2)是一款面向《流放之路…

前端表白网站:HTML/CSS/JS如何承载情感表达

前端表白网站:HTML/CSS/JS如何承载情感表达

2026/8/25 9:35:00

1. 这125个表白网站不是“模板合集”,而是程序员情感表达的完整技术图谱你搜“七夕程序员表白网站”,首页弹出来的几乎全是标题党——“全网最全”“一键下载”“秒变浪漫高手”。但真正打开压缩包,90%是同一套轮播图渐变文字心形SVG的复制粘…

MoneyWallet日历视图与地图视图:你可能不知道的两个宝藏功能

MoneyWallet日历视图与地图视图:你可能不知道的两个宝藏功能

2026/8/25 9:35:00

MoneyWallet日历视图与地图视图:你可能不知道的两个宝藏功能 【免费下载链接】moneywallet An android application that let you track your expenses 项目地址: https://gitcode.com/gh_mirrors/mo/moneywallet MoneyWallet 是一款免费开源的 Android 记账…

OpenClaw AI智能体安全平台部署与实战:从零构建自动化安全运营中心

OpenClaw AI智能体安全平台部署与实战:从零构建自动化安全运营中心

2026/8/25 10:25:02

1. 项目概述:当“养虾”成为安全工程师的新黑话最近在安全圈和AI开发者社群里,“养虾”这个词突然火了起来。不明就里的朋友可能以为我们在讨论水产养殖,但实际上,这指的是部署和运维一个名为“OpenClaw”(因其图标酷似…

OpenClaw AI智能体框架实战:3步部署、3大核心Skill与5个应用案例详解

OpenClaw AI智能体框架实战:3步部署、3大核心Skill与5个应用案例详解

2026/8/25 10:25:02

1. 项目概述:为什么OpenClaw值得你花时间? 最近在AI应用开发圈子里,OpenClaw这个名字出现的频率越来越高。简单来说,它是一个开源的AI智能体(Agent)开发与部署框架,你可以把它理解为一个“乐高…

AI大模型赋能安全测试实战:内网渗透、代码审计与漏洞利用

AI大模型赋能安全测试实战:内网渗透、代码审计与漏洞利用

2026/8/25 10:25:02

1. 从“人肉扫描”到“智能协同”:安全测试的范式转移 如果你和我一样,在安全测试这个行当里摸爬滚打了几年,一定经历过这样的场景:面对一个庞大的内网资产列表,手动一个个IP去扫端口、识别服务、测试弱口令&#xff0…

Python集合与字典深度解析:从哈希表原理到实战应用场景

Python集合与字典深度解析:从哈希表原理到实战应用场景

2026/8/25 10:25:02

1. 项目概述:从“容器”到“工具”的认知跃迁刚接触Python那会儿,我也曾把set和dict混为一谈,觉得它们都是用来装东西的“容器”,无非一个装单个元素,一个装键值对。直到在项目里踩了几个不大不小的坑,比如…

Python集合与字典深度解析:从哈希表原理到高效应用场景

Python集合与字典深度解析:从哈希表原理到高效应用场景

2026/8/25 10:25:02

1. 项目概述:从“容器”到“映射”,理解Python两大核心数据结构在Python的日常开发中,set(集合)和dict(字典)是高频使用的两个内置数据结构。很多刚入门的开发者,甚至一些有经验的程…

标定技术全解析:从传感器到系统,分类、原理与实战指南

标定技术全解析:从传感器到系统,分类、原理与实战指南

2026/8/25 10:15:02

1. 项目概述:从“标定”说起,为什么分类是第一步在工业自动化、机器视觉、自动驾驶乃至消费电子领域,“标定”这个词出现的频率越来越高。你可能在调试一台工业相机时听到它,也可能在研究手机摄像头算法时碰到它。简单来说&#x…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/24 19:53:32

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/24 19:56:07

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/24 21:16:09

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

2026/8/25 0:04:34

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory Meta Description:GetQzonehistory 是一个QQ空间历史说…

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

2026/8/25 0:04:35

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

2026/8/25 0:04:35

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/22 4:13:47

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/22 1:32:34

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…