尧图精选

Supermemory 自托管版如何处理非英语内容:切换到多语言 embedding 模型

🕒 发布时间:2026/9/12 17:13:57 📁 来源:尧图网络
Supermemory 自托管版如何处理非英语内容切换到多语言 embedding 模型【免费下载链接】supermemoryMemory and context engine app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.项目地址: https://gitcode.com/GitHub_Trending/su/supermemory自托管版 Supermemory 默认使用本地 embedding 模型Xenova/bge-base-en-v1.5它是纯英语训练模型。这意味着德语、日语等非英语内容可以正常 ingest但 dense 语义召回会持续偏弱——只有 hybrid 检索里的关键词匹配还能碰到少量罕见 token。文档给出的处理方式是在部署阶段把 embedding 切换到多语言模型本地Xenova/bge-m3或远端多语言 embedding API并且要在大批量回填backfill数据之前完成切换。本文覆盖这条切换路径的完整操作环境变量配置、启动、验证以及切换的硬性限制。确认你的部署命中了英语模型限制自托管版与托管平台共用同一套 embedding 提供者栈本地 ONNX 模型、OpenAI、Gemini或任意 OpenAI 兼容的 embedding 端点包括 Ollama。默认值如下见 Embeddings (self-hosted)项默认值ProviderlocalModelXenova/bge-base-en-v1.5Dimensions768API key无——运行在你自己的机器上文档明确警告默认本地模型是English-only。如果你的语料库以非英语为主文档点名了德语、荷兰语等场景dense recall 会失效此时应执行下面的切换。判断你的现状是否命中如果非英语文档能写入、按关键词能偶尔搜到但语义查询召回很差就是默认英语模型在工作。主路径切换为本地多语言模型文档给出的本地多语言示例是Xenova/bge-m3维度为1024。三个变量必须一起设置维度必须与所选模型匹配# Example: local multilingual (set dimensions to match the model) SUPERMEMORY_EMBEDDING_PROVIDERlocal SUPERMEMORY_EMBEDDING_MODELXenova/bge-m3 SUPERMEMORY_EMBEDDING_DIMENSIONS1024各变量的含义来自文档的环境变量表SUPERMEMORY_EMBEDDING_PROVIDERembedding 后端可选local、openai、gemini或 OpenAI 兼容远端ollama/ 自定义 base URL默认localSUPERMEMORY_EMBEDDING_MODEL所选 provider 的模型 id本地默认Xenova/bge-base-en-v1.5SUPERMEMORY_EMBEDDING_DIMENSIONS向量维度必须与模型匹配且必须与已存储的数据一致本地默认768。文档强调切换要发生在大批量回填之前因为不同模型或不同维度产出的向量不可互相比较。可选分支远端多语言 embedding API如果你不想在本地跑 embedding文档同样支持 OpenAI、Gemini或Ollama 多语言 embed 模型这类远端方案要求同样是 provider、model、dimensions 三者一起配置。以 OllamaOpenAI 兼容为例文档给出的示例是SUPERMEMORY_EMBEDDING_PROVIDERopenai SUPERMEMORY_EMBEDDING_BASE_URLhttp://localhost:11434/v1 OPENAI_API_KEYollama SUPERMEMORY_EMBEDDING_MODELnomic-embed-text SUPERMEMORY_EMBEDDING_DIMENSIONS768SUPERMEMORY_EMBEDDING_BASE_URL用于指向 OpenAI 兼容的 embedding APIOllama、vLLM 等。维度取你所选模型官方公布的值——文档特别指出维度与已存储向量不一致时服务会直接拒绝启动这既是限制也是天然的校验手段。启动服务并验证切换生效安装与启动方式见 Quickstart# 三种安装方式任选其一 curl -fsSL https://supermemory.ai/install | bash # 或 npx supermemory local # 或 bunx supermemory local启动supermemory-server首次启动会打印服务信息文档示例具体值以你的启动输出为准┌──────────────────────────────────────────────────┐ │ url http://localhost:6767 │ │ database ./.supermemory │ │ api key sm_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx │ │ org id xxxxxxxxxxxxxxxxxxxxxx │ └──────────────────────────────────────────────────┘保存这个 API key它是后续所有请求的 bearer token。两个需要留意的启动场景差异有 TTY 的交互式首次启动服务先要求输入 LLM API key必需然后可选地让你挑选 embedding 模型——此时直接按 Enter 会保留本地英语模型。如果你的目标是多语言部署这一步要主动选择多语言方案或改用环境变量方式配置Docker / CI 等无 TTY 场景没有任何交互提示只能通过环境变量上一节的三个变量加上至少一个 LLM key完成配置。验证方式服务能启动本身就是第一次校验如果配置的SUPERMEMORY_EMBEDDING_DIMENSIONS与数据目录中已存的向量维度不一致服务器拒绝启动。切换成功后服务正常监听http://localhost:6767即说明维度配置与当前数据状态自洽。用非英语内容做写入与检索沿用 Quickstart 中的检索命令结构sm_...替换为首启打印的 API keyq换成你的非英语查询curl http://localhost:6767/v3/search \ -H Authorization: Bearer sm_... \ -H Content-Type: application/json \ -d { q: what food should I avoid?, containerTag: user_dhravya }上面是文档给出的示例查询实际验证时把q换成针对你已 ingest 的非英语内容的语义查询返回结果中包含相关文档即说明 dense 召回在非英语语料上生效。限制与故障排查切换不是可逆的 in-place 操作。文档明确标注Changing models later: Not supported in place——换模型后要么从全新的数据目录开始要么重新 ingest 全部内容保证所有向量处在同一空间。数据默认存放在./.supermemory/或$SUPERMEMORY_DATA_DIR典型值./.supermemory/~/.supermemory。所以如果你的库里已经积累了大量用英语模型向量化过的数据切换方案就是保留旧数据目录不动用新的数据目录 多语言模型重新导入内容。v0.0.5 的模型混用 bug。在v0.0.5中服务端可能在写入与读取路径间混用不同 embedding 模型例如文档 ingest 走 OpenAI、记忆查询走本地默认 embedding。在多语言场景下文档以日语为例说明其缺乏空格分词、无法依赖 fallback 词法 FTS 匹配这会导致通过/v4/search和/v4/profile的精确文本记忆搜索静默返回{results:[],total:0}。该问题已在v0.0.7中通过在所有文档与查询 embedding 路径上锁定统一的 embedding plan由数据库存储层强制彻底修复。如果你正运行v0.0.5且遇到上述现象应升级到v0.0.7或更高版本supermemory-server upgrade完整的 embedding 变量参考包括本地 worker 调优项SUPERMEMORY_LOCAL_EMBEDDING_POOL_SIZE等它们只影响吞吐、不改变模型与维度见 Configuration 与 Embeddings。【免费下载链接】supermemoryMemory and context engine app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.项目地址: https://gitcode.com/GitHub_Trending/su/supermemory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →