搜索相关信息有时感觉像大海捞针,但不要绝望,GPT 实际上可以为我们完成很多这项工作。在本指南中,我们探索了一种使用各种 AI 技术增强现有搜索系统的方法,帮助我们筛选噪音。
为 GPT 检索信息的两种方法是
- 模仿人类浏览: GPT 触发搜索,评估结果,并在必要时修改搜索查询。它还可以跟进特定的搜索结果以形成思路链,就像人类用户一样。
- 使用嵌入检索: 计算您的内容和用户查询的嵌入,然后检索余弦相似度衡量的最相关内容。谷歌等搜索引擎大量使用这项技术。
这些方法都很有前景,但各有缺点:第一种方法由于其迭代性质可能很慢,第二种方法需要提前嵌入您的整个知识库,不断嵌入新内容并维护向量数据库。
通过结合这些方法,并从重新排序方法中汲取灵感,我们找到了一种介于两者之间的方法。这种方法可以在任何现有的搜索系统之上实现,例如 Slack 搜索 API,或具有私有数据的内部 ElasticSearch 实例。以下是它的工作原理
步骤 1:搜索
- 用户提出问题。
- GPT 生成潜在查询列表。
- 并行执行搜索查询。
步骤 2:重新排序
- 每个结果的嵌入用于计算与生成的理想假设答案的用户问题之间的语义相似度。
- 结果根据此相似性指标进行排名和筛选。
步骤 3:回答
- 给定顶部搜索结果,模型生成用户问题的答案,包括参考文献和链接。
这种混合方法提供相对较低的延迟,并且可以集成到任何现有的搜索端点中,而无需维护向量数据库。让我们深入了解一下!我们将使用 News API 作为示例域进行搜索。
设置
除了您的 OPENAI_API_KEY
之外,您还需要在您的环境中包含 NEWS_API_KEY
。您可以在这里获取 API 密钥。