工作原理
Minaya 是一个检索增强系统。没有任何模型经过微调,也没有任何模型基于 你的数据进行训练——你的内容会被存储、索引,并在提问时进行检索。
内容摄取
当你添加一个内容来源时,一个后台任务会:
- 提取文本——抓取 URL、解析 PDF,或读取你粘贴的文本。
- 将其分块为约 600 个 token 的片段,片段之间约有 100 个 token 的重叠,确保跨越边界的句子仍可被检索到。
- 嵌入每个片段为一个向量。
- 通过 pgvector存储这些片段与向量到 Postgres 中。
内容摄取运行在与 API 独立的工作进程中。如果内容 来源始终未离开
pending状态,说明该工作进程没有在 运行。
回答问题
- 访客的消息会使用与你内容相同的模型进行嵌入。
- 通过余弦相似度检索最接近的片段。
- 匹配度较弱的结果会被丢弃。如果最佳匹配仍然过弱,该问题会被视为未覆盖。
- 保留下来的片段成为上下文,模型被要求只依据这些内容作答。
- 如果连接了 MCP 服务器,模型可能会在作答前调用工具。
嵌入与对话提供方
具体使用哪个提供方,取决于该企业是否提供了自己的密钥,以及提供的是 哪一种——这是按请求决定的,而非在购买时决定。
你可以选择自带密钥的价格方案,之后再添加密钥,但小组件只有在密钥 保存后才会开始作答:该价格不包含推理费用,因此我们不会用自己的模型 为其提供服务。在密钥添加之前,控制台的概览页面会持续显示提示。
| 提供方 | 适用情形 | 对话模型 | 嵌入模型 |
|---|---|---|---|
| OpenAI | 企业提供了 OpenAI 密钥 | gpt-4o | text-embedding-3-large(1536 维) |
| Anthropic | 企业提供了 Claude 密钥 | claude-sonnet-5 | Cloudflare bge-base-en-v1.5(768 维) |
| Cloudflare | 未提供密钥(免费套餐) | llama-3.1-8b-instruct | bge-base-en-v1.5(768 维) |
Anthropic 没有嵌入 API,因此使用 Claude 的企业会通过 Cloudflare 建立索引,并在 768 维的列中进行检索——这与未提供密钥的企业走的是 同一条路径。我们自行承担这部分嵌入成本,而不要求提供第二个密钥。 Claude 负责生成对话回复,这部分才是成本的主要来源。
两者生成的向量维度不同,因此分别存储在不同的列中,二者之间永远不会 相互比较。
添加或移除密钥会改变检索所使用的列。 在免费套餐下摄取的内容不会自动重新嵌入,因此切换后请重新添加或 重新抓取你的内容来源。
会话限制
- 每个聊天会话最多 50 条消息。
- 每个会话最多 10 次 MCP 工具调用,单独计数。
- 每条访客消息最多 2,000 个字符(小组件在输入端将其限制为 500 字符)。
免费套餐的企业还有每日消息上限。其余防护机制参见 安全性。