工作原理

Minaya 是一个检索增强系统。没有任何模型经过微调,也没有任何模型基于 你的数据进行训练——你的内容会被存储、索引,并在提问时进行检索。

内容摄取

当你添加一个内容来源时,一个后台任务会:

  1. 提取文本——抓取 URL、解析 PDF,或读取你粘贴的文本。
  2. 将其分块为约 600 个 token 的片段,片段之间约有 100 个 token 的重叠,确保跨越边界的句子仍可被检索到。
  3. 嵌入每个片段为一个向量。
  4. 通过 pgvector存储这些片段与向量到 Postgres 中。

内容摄取运行在与 API 独立的工作进程中。如果内容 来源始终未离开 pending 状态,说明该工作进程没有在 运行。

回答问题

  1. 访客的消息会使用与你内容相同的模型进行嵌入。
  2. 通过余弦相似度检索最接近的片段。
  3. 匹配度较弱的结果会被丢弃。如果最佳匹配仍然过弱,该问题会被视为未覆盖。
  4. 保留下来的片段成为上下文,模型被要求只依据这些内容作答。
  5. 如果连接了 MCP 服务器,模型可能会在作答前调用工具。

嵌入与对话提供方

具体使用哪个提供方,取决于该企业是否提供了自己的密钥,以及提供的是 哪一种——这是按请求决定的,而非在购买时决定。

你可以选择自带密钥的价格方案,之后再添加密钥,但小组件只有在密钥 保存后才会开始作答:该价格不包含推理费用,因此我们不会用自己的模型 为其提供服务。在密钥添加之前,控制台的概览页面会持续显示提示。

提供方适用情形对话模型嵌入模型
OpenAI企业提供了 OpenAI 密钥gpt-4otext-embedding-3-large(1536 维)
Anthropic企业提供了 Claude 密钥claude-sonnet-5Cloudflare bge-base-en-v1.5(768 维)
Cloudflare未提供密钥(免费套餐)llama-3.1-8b-instructbge-base-en-v1.5(768 维)

Anthropic 没有嵌入 API,因此使用 Claude 的企业会通过 Cloudflare 建立索引,并在 768 维的列中进行检索——这与未提供密钥的企业走的是 同一条路径。我们自行承担这部分嵌入成本,而不要求提供第二个密钥。 Claude 负责生成对话回复,这部分才是成本的主要来源。

两者生成的向量维度不同,因此分别存储在不同的列中,二者之间永远不会 相互比较。

添加或移除密钥会改变检索所使用的列。 在免费套餐下摄取的内容不会自动重新嵌入,因此切换后请重新添加或 重新抓取你的内容来源。

会话限制

  • 每个聊天会话最多 50 条消息
  • 每个会话最多 10 次 MCP 工具调用,单独计数。
  • 每条访客消息最多 2,000 个字符(小组件在输入端将其限制为 500 字符)。

免费套餐的企业还有每日消息上限。其余防护机制参见 安全性