AI 搜索
文档模板最佳实践
本指南展示了编写 documentTemplate 时应该做什么以及应该避免什么。
在使用 AI 驱动的搜索时,Meilisearch 会通过用每个文档的数据填充嵌入器的 documentTemplate 来生成提示词。提示词质量越高,搜索结果就越相关。
本指南展示了编写 documentTemplate 时的最佳实践和注意事项。
示例文档
请看这个来自电影数据库的文档:
不要使用默认的 documentTemplate
在嵌入器配置中使用自定义的 documentTemplate 值。
默认的 documentTemplate 包含所有非 null 的可搜索字段。在大多数情况下,这会增加干扰信息,提供的上下文超出了嵌入器生成相关搜索结果所需的范围。
仅包含高度相关的信息
查看您的文档并识别最相关的字段。对于示例文档,一个好的 documentTemplate 可以是:
在示例文档中,poster 和 id 包含的字段语义重要性较低,可以安全地排除。genres 和 release_date 中的数据对于筛选非常有用,但对于描述这部特定电影的内容帮助不大。
这样就剩下两个相关字段:title 和 overview。
保持提示词简洁
为了获得最佳效果,请将提示词控制在15到45个单词之间:
在示例文档中,仅overview就有49个单词。可以使用Liquid的truncate或truncatewords过滤器来缩短它。
过短的提示词无法为嵌入模型提供足够的上下文信息。而过长的提示词则会包含过多信息,使嵌入模型难以识别文档真正相关的部分。
总结
本文介绍了生成能带来相关AI搜索结果的提示词的主要步骤:
- 不要使用默认的
documentTemplate - 仅包含相关数据
- 截断过长的字段