跳转到内容
搜索文档

结果控制

最后更新 查看 MarkdownAgent 设置

这些设置控制返回结果的数量以及所需的最低分数。要按文件夹或类别等元数据属性筛选结果,请参阅 筛选

匹配阈值

match_threshold 设置分块必须达到才能被纳入结果的最低向量相似度分数。阈值范围从 01。该阈值基于向量相似度分数进行筛选,而不是响应中返回的融合分数。

  • 更高的阈值意味着更严格的筛选,仅返回高度相似的匹配项。
  • 更低的阈值允许更广泛的匹配,提高召回率,但可能降低精度。

最大结果数

max_num_results 设置控制返回的排名靠前分块数量。允许的最大值为 50。

  • 若要综合多份文档,请使用更高的值。不过,向模型提供更多输入会增加延迟与成本。
  • 若偏好简洁答案且上下文最少,请使用更低的值。

它们如何协同工作

  1. 使用配置的嵌入模型对你的查询进行嵌入。
  2. 查询搜索索引。对于 混合搜索,向量与关键词结果会融合为单个排序列表。
  3. 向量相似度分数低于 match_threshold 的分块会被过滤掉。
  4. 过滤后的结果限制为 max_num_results,并作为上下文传入生成步骤。

如果没有结果达到阈值,AI Search 将不会生成响应。

如果启用了 重排序,可以配置单独的 reranking.match_threshold,按重排序分数筛选分块。

按请求覆盖

这些值可在实例级别配置,也可按请求覆盖:

const instance = env.AI_SEARCH.get("my-instance");

const results = await instance.search({
	messages: [{ role: "user", content: "What is Cloudflare?" }],
	ai_search_options: {
		retrieval: {
			match_threshold: 0.5,
			max_num_results: 10,
		},
	},
});

这篇文档对您有帮助吗?