用途:为 Vercel AI SDK 提供 Mem0 记忆增强能力,在 LLM 调用过程中自动检索和写入记忆,使对话具备跨轮次的个性化上下文。
安装与环境:npm install @mem0/vercel-ai-provider ai@^6;ai 与 @ai-sdk/* 已作为常规依赖随包安装,唯一可选 peer 依赖为 zod(^3.0.0)。需设置 MEM0_API_KEY,以及所选模型提供商的密钥(如 OPENAI_API_KEY、ANTHROPIC_API_KEY、GOOGLE_API_KEY)。
主要能力:提供 createMem0 包装模型,在生成前自动执行一次记忆写入(POST /v3/memories/add/,失败仅记录日志)和一次记忆检索(POST /v3/memories/search/),命中则作为 system 消息注入提示词开头;generateText 结果还会附带标题为 Mem0 Memories 的 source,含 providerMetadata.mem0。另提供独立工具函数 retrieveMemories(返回格式化 system 提示字符串)、getMemories(返回原始记忆数组)、searchMemories(返回原始搜索响应,含分值与完整元数据)、addMemories(存储消息),便于完全掌控记忆读写流程。支持 streamText 流式输出。
使用方式:包装模型直接用 createMem0() 后以 mem0("模型名", { user_id }) 传入;切换提供商可用 createMem0({ provider: "anthropic" })。支持 OpenAI(默认)、Anthropic、Google(别名 gemini)、Groq、Cohere,各自有对应环境变量。独立工具函数需显式传入 mem0ApiKey 或使用环境变量。可用 host 配置自定义 Mem0 API 端点(默认 https://api.mem0.ai)。
限制:使用 AI SDK v6 接口(LanguageModelV3/ProviderV3,provider 3.x),与 AI SDK v4 及更早版本不兼容,2.x 对应 AI SDK v5。需提供 user_id 或 agent_id/app_id/run_id 等实体 ID,否则检索无有效过滤条件。默认 top_k 为 10,threshold 与 rerank 仅在显式设置时发送。3.0.0 已移除 org_id、project_id、org_name、project_name、output_format、filter_memories、async_mode、enable_graph、version、api_version,图记忆改为 Mem0 平台项目设置。具体价格与更多效果信息暂未提供。