项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 17386
技术标签
使用教程
⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。
⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。
环境要求
- 本地已安装 Rust 工具链与 Cargo(README 未指定具体版本)
- 能访问 crates.io 拉取 memvid-core 依赖
- 系统有可写的用户缓存目录(用于存放本地嵌入模型)
- 如需使用 OpenAI 嵌入,需要 OpenAI API Key
安装与启动步骤
-
1克隆项目源码
从 GitHub 拉取 memvid 仓库并进入目录,后续示例与测试都在仓库内运行。
git clone https://github.com/memvid/memvid.git cd memvid -
2确认 Rust 环境
README 的 Installation (Rust) 一节未给出具体安装命令,请先自行确保 cargo 可用。
cargo --version -
3运行测试验证
跑全部测试确认编译与依赖正常,调试时可加 --nocapture 查看输出。
cargo test -
4运行入门示例
执行仓库自带的 basic_usage 示例,体验创建、写入、检索与时间线操作。
cargo run --example basic_usage -
5下载本地嵌入模型
创建 BGE-small 本地文本模型缓存目录,默认嵌入为 384 维,无需 API Key。
mkdir -p ~/.cache/memvid/text-models -
6配置 OpenAI 密钥
仅在改用 OpenAI 嵌入时需要;密钥写入环境变量,不要硬编码进源码。
export OPENAI_API_KEY="sk-xxxxxxxx" -
7在代码中调用
创建单文件记忆库 knowledge.mv2,写入内容后需 commit 才能持久化,再用 search 检索。
use memvid_core::{Memvid, PutOptions, SearchRequest}; fn main() -> memvid_core::Result<()> { let mut mem = Memvid::create("knowledge.mv2")?; let opts = PutOptions::builder() .title("Meeting Notes") .uri("mv2://meetings/2024-01-15") .tag("project", "alpha") .build(); mem.put_bytes_with_options(b"Q4 planning discussion...", opts)?; mem.commit()?; let response = mem.search(SearchRequest { query: "planning".into(), top_k: 10, snippet_chars: 200, ..Default::default() })?; for hit in response.hits { println!("{}: {}", hit.title.unwrap_or_default(), hit.text); } Ok(()) }
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 否 | 使用 OpenAI 嵌入(默认 text-embedding-3-small,1536 维)时设置 | sk-xxxxxxxx |
~/.cache/memvid/text-models | 否 | 本地 BGE-small 文本模型缓存目录(384 维) | ~/.cache/memvid/text-models |
knowledge.mv2 | 否 | Memvid::create 生成的单文件记忆库路径 | knowledge.mv2 |
如何确认成功
cargo test 全部通过,或 cargo run --example basic_usage 能打印出检索到的标题与文本,即表示环境可用。
常见问题
Q:不设置 OpenAI API Key 能用吗?
A:可以。默认使用本地 BGE-small 文本嵌入模型,384 维,离线可用;只有切换到 OpenAI 嵌入时才需要密钥。
Q:本地模型和 OpenAI 模型的向量维度一样吗?
A:不一样。BGE-small 为 384 维;OpenAI 默认 text-embedding-3-small 为 1536 维,large 版为 3072 维。
Q:写入数据后为什么检索不到?
A:写入后必须调用 mem.commit() 提交,记忆才会持久化到 .mv2 文件并可被检索。
Q:怎么跑某个单独的测试?
A:用 cargo test 测试名;只跑指定集成测试可用 cargo test --test lifecycle、search 或 mutation。
注意事项
- README 节选中 Installation (Rust) 一节为空,未给出 cargo add / cargo install 等依赖安装命令,请自行将 memvid-core 加入项目依赖。
- 调试测试输出可执行 cargo test -- --nocapture。
- 检索参数如 top_k、snippet_chars 可按需调整,检索结果通过 response.hits 遍历。
核心亮点
- 单文件无服务器架构,部署零运维成本,比 RAG 管道轻量得多
- Rust 实现,检索延迟低,适合高频交互场景
- API 简洁,几分钟内即可集成到现有 AI 代理,上手门槛低
不足之处
- 项目较新,生态和文档尚不完善,高级用法需自行探索
- 单文件存储可能不适合超大规模知识库,扩展性待验证
适用场景
- 为聊天机器人添加跨会话长期记忆
- 在边缘设备或函数计算中运行轻量级 AI 代理
- 快速原型验证,避免搭建复杂 RAG 基础设施
替代项目
Mem0、Zep、LangChain Memory
上一篇:LangBot
下一篇:garden-skills
同类项目推荐
SemantiClip
开源
上传视频,自动生成结构化文字稿,多智能体协作搞定。
SemantiClip is an intelligent video processing application that transforms video con···
awesome-finance-mcp
开源
给 AI 金融智能体找 MCP 工具,一页清单直接接入行情与交易
A curated list of MCP servers for AI finance agents
prismor
开源
给AI代理装个安全刹车,执行前拦截危险操作
Self-hosted runtime control plane for AI agents. Observe or HITL approve or Block ro···
agents
开源
用 AI 智能体自动跑通数据管道,减少手工编码
AI agent tooling for data engineering workflows.
cindy
开源
装好就能用的 AI 智能体,想到啥它帮你干成
Consider it done. The open-source AI agent that works out of the box · 想到,就能做···
multi-agent-investment
开源
三个AI智能体协作,不靠大模型瞎猜,给出确定性买卖评级。
Multi-agent equity research system with deterministic signal fusion — 3 specialized···
OmoiOS
开源
把功能规格自动变成合并的PR,多智能体并行干活
Turn feature specs into merged PRs with a self-supervising swarm of coding agents —···
klavis
开源
让 AI 代理稳定调用任意工具,规模再大也不慌
[DEPRECATED] Legacy Klavis AI MCP integrations. See klavis.ai for RL environments an···
blink
开源
自托管 AI 智能体平台,快速构建内部定制代理
Blink is a self-hosted platform for building and running custom, in-house AI agents.
