跳到主要内容

SecondMe

· 阅读需 7 分钟
viki
Front End Engineer @ gitee

​ Second Me能够通过学习用户的行为习惯、表达方式和兴趣偏好,构建一个高度贴合个人的数字分身。它不仅能记住用户的写作风格、代码习惯,甚至连日常用语中的口头禅都能精准捕捉。

​ Second Me通过自我学习机制,能够不断总结用户的思维模式并形成长期记忆。它还能基于这些习惯进行自主决策,例如在起草邮件时先寒暄再切入正题,或在筛选新闻时优先推送用户感兴趣的内容,而非泛泛的随机推荐。此外,该AI还能与其他AI实例互动并共享知识,展现出强大的扩展潜力。

Second Me 的主要功能

  • 训练你的AI自我:通过分层记忆建模(HMM)和个性化对齐算法,Second Me 能够捕捉用户的身份、理解用户的上下文,并真实地反映用户。
  • 扩展你的智能网络:将你的AI自我从本地设备扩展到去中心化网络,允许任何应用或用户在获得许可的情况下与你的AI自我进行交互。
  • 构建未来的应用:Second Me 提供了一个角色扮演框架,允许你的AI自我在不同场景中切换角色,同时保持你的核心身份。
  • 100%隐私和控制:Second Me 确保你的信息和智能完全本地化,数据不会泄露给第三方。

Second Me 的技术原理

  • 分层记忆建模(HMM):Second Me 使用三层(L0-L2)分层结构,从短期交互记忆到长期个性化认知记忆,确保AI代理能够快速识别模式并适应用户的演变。
  • 个性化对齐算法:基于先进的强化学习技术,Second Me 将用户的分散数据转化为深层次的个性化理解,确保AI代理能够准确反映用户的偏好、行为模式和决策习惯。

Second Me与RAG的区别

  • 概念性质不同:SecondMe 是一个开源的人工智能身份系统,旨在为用户提供 100% 私密、深度个性化的人工智能代理,构建个人的数字分身,让 AI 能够理解用户独特的偏好、行为模式和决策习惯,并在不同情境中代表用户2。RAG 则是一种检索增强生成技术,通过结合检索和生成模型,在用户提问后从外部知识库中检索相关文档片段,将其作为上下文输入大语言模型来生成最终答案,以提升 AI 的响应质量3。
  • 核心目标不同:SecondMe 的核心目标是构建一个高度个性化的 AI 身份模型,守护用户独特的身份,使其能够像现实世界中的人类一样,在不同情境之间无缝转换,展现多面性,并在代理经济中创造新的价值2。RAG 的目标是通过检索外部知识库来补充大语言模型的知识来源,解决传统生成模型在知识时效性、准确性和专业性方面的不足,减少幻觉,提高生成答案的质量3。
  • 技术侧重点不同:SecondMe 采用了多种技术,如 Me - Alignment(通过 RLHF 实现,确保 AI 行为与人类价值观一致)、HMM(分层记忆模型,涵盖短期交互记忆和长期个性化认知记忆)、GraphRAG(RAG 的扩展版本,优化信息检索和生成过程)等,以实现 AI 对用户的深度个性化理解和行为模拟。RAG 的技术重点在于检索算法和与生成模型的结合方式,包括如何将知识库预处理为可检索的结构化数据、如何从知识库中准确找到与用户问题最相关的文档片段,以及如何将检索结果有效地作为上下文输入生成模型来生成高质量的答案3。
  • 应用场景不同:SecondMe 主要应用于个人 AI 身份构建、社交互动以及为用户提供个性化的服务和帮助,例如在不同的社交场景中以用户的数字分身参与互动,协助用户处理各种事务等2。RAG 主要应用于各种需要问答、文本生成等任务的场景,如智能客服、知识问答系统、文档生成等,以提高系统的响应准确性和专业性,尤其是在处理需要实时知识更新和专业领域知识的问题时表现更为突出。

私有化部署

下载

项目址https://github.com/mindverse/Second-Me

git clone git@github.com:Mindverse/Second-Me.git

安装Python虚拟环境

C:\Users\work225>conda create -n secondme python=3.12

日志

WARNING: A space was detected in your requested environment path:
'F:\Program Files\anaconda3\envs\secondme'
Spaces in paths can sometimes be problematic. To minimize issues,
make sure you activate your environment before running any executables!

Collecting package metadata (current_repodata.json): done
Solving environment: done

==> WARNING: A newer version of conda exists. <==
current version: 22.9.0
latest version: 25.3.1

Please update conda by running

$ conda update -n base -c defaults conda

## Package Plan ##

environment location: F:\Program Files\anaconda3\envs\secondme

added / updated specs:
- python=3.12

The following NEW packages will be INSTALLED:

bzip2 anaconda/pkgs/main/win-64::bzip2-1.0.8-h2bbff1b_6 None
ca-certificates anaconda/pkgs/main/win-64::ca-certificates-2025.2.25-haa95532_0 None
expat anaconda/pkgs/main/win-64::expat-2.6.4-h8ddb27b_0 None
libffi anaconda/pkgs/main/win-64::libffi-3.4.4-hd77b12b_1 None
openssl anaconda/pkgs/main/win-64::openssl-3.0.16-h3f729d1_0 None
pip anaconda/pkgs/main/win-64::pip-25.0-py312haa95532_0 None
python anaconda/pkgs/main/win-64::python-3.12.9-h14ffc60_0 None
setuptools anaconda/pkgs/main/win-64::setuptools-75.8.0-py312haa95532_0 None
sqlite anaconda/pkgs/main/win-64::sqlite-3.45.3-h2bbff1b_0 None
tk anaconda/pkgs/main/win-64::tk-8.6.14-h0416ee5_0 None
tzdata anaconda/pkgs/main/noarch::tzdata-2025a-h04d1e81_0 None
vc anaconda/pkgs/main/win-64::vc-14.42-haa95532_4 None
vs2015_runtime anaconda/pkgs/main/win-64::vs2015_runtime-14.42.34433-he0abc0d_4 None
wheel anaconda/pkgs/main/win-64::wheel-0.45.1-py312haa95532_0 None
xz anaconda/pkgs/main/win-64::xz-5.6.4-h4754444_1 None
zlib anaconda/pkgs/main/win-64::zlib-1.2.13-h8cc25b3_1 None

Proceed ([y]/n)?

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate secondme
#
# To deactivate an active environment, use
#
# $ conda deactivate

Retrieving notices: ...working... done

激活secondme环境

C:\Users\work225>conda activate secondme

安装poetry库

Python的Poetry库是一个用于依赖管理和打包的工具,旨在简化和加速Python项目的管理流程

(secondme) C:\Users\work225>pip install poetry

安装GraphRAG

(secondme) D:\work\trunk\python\test\Second-Me>pip install --force-reinstall dependencies\graphrag-1.2.1.dev27.tar.gz

进入lpm_frontend目录安装前端

(secondme) D:\work\trunk\python\test\Second-Me>cd lpm_frontend
(secondme) D:\work\trunk\python\test\Second-Me\lpm_frontend>npm install

解压dependencies目录下的llama.cpp.zip并编译

进入Second-Me/dependencies目录,解压llama.cpp.zip文件,解压后进入llama.cpp目录,在llama.cpp目录中创建build文件夹

cd llama.cpp
mkdir -p build && cd build
cmake ..
cmake --build . --config Release

(secondme) D:\work\trunk\python\test\Second-Me\dependencies\llama.cpp>cd build
(secondme) D:\work\trunk\python\test\Second-Me\dependencies\llama.cpp\build>cmake ..

编译前端

D:\work\trunk\python\test\Second-Me\lpm_frontend>npm run build

运行程序

在Second-Me\dependencies\data\sqlite目录下创建数据库文件

(secondme) D:\work\trunk\python\test\Second-Me\dependencies\data\sqlite>sqlite3 lpm.db < init.sql

(secondme) D:\work\trunk\python\test\Second-Me>python docker/app/init_chroma.py

程序运行完成后,打开http://localhost:3000

最后更新时间: 2026/7/31 13:40:35|访问次数: 0|豫ICP备2025159864号|