用途:让智能体在自定义内容与知识库中检索,从而给出有上下文依据的回答。RAG 将大模型能力与语义搜索结合,适合将答案限定在特定资料(政策、产品文档等)范围内。
适用场景:智能体需引用知识库或文档集合;把回答建立在具体数据上;对自定义内容做语义搜索;构建搜索加生成的系统(FAQ、文档、客服);通过约束信息来源减少幻觉;管理面向用户或团队的知识命名空间。
配置:在 convex.config.ts 中引入并注册 agent 与 rag 组件: import { defineApp } from "convex/server"; import agent from "@convex-dev/agent/convex.config"; import rag from "@convex-dev/rag/convex.config"; const app = defineApp(); app.use(agent); app.use(rag); export default app;
写入内容:用 action 调用 rag.addContent,将文本按命名空间与 key 写入,可用 filters 中的 filterNames 指向特定文档,例如命名空间 user:${userId}。
检索与生成:先通过 myAgent.continueThread 获取线程,再用 rag.search 传入命名空间、问题与 limit(如 10)取得上下文文本,然后拼接为增强提示词,交由 thread.generateText 生成回答。
关键原则:命名空间隔离数据,多租户用 user:userId 或 team:teamId 保证安全;混合检索可结合文本与向量搜索提升效果;filterNames 可定向特定文档。
限制:资料未提供具体定价、模型支持范围、平台要求及性能数据,暂未提供。