语义搜索和查询向量数据库一样吗?

问题描述 投票:0回答:1

RAG(检索增强生成)是一种在要求法学硕士生成自然答案之前搜索相关文档的技术。

据我了解:

  • 加载文档(从文件、抓取、sql 查询等)
  • 分割成文本块
  • 为每个块生成综合问题
  • 嵌入问题(例如,使用 OpenAI 嵌入)
  • 保存到矢量数据库

然后,当用户发送消息时,我们嵌入问题(用户消息)并搜索嵌入(例如,余弦相似度,knn)。

所以我听说了语义搜索,显然它理解用户所问内容的上下文,可以找到完美的上下文来回答。我搜索了一下,在 github 上找到了这项研究:Semantic Graphs for Generate Deep Questions,并找到了图数据库和几篇关于使用知识图进行语义搜索的文章。

我假设语义搜索是图形数据库中的某种搜索,它知道如何检索适量的上下文。

我试图找到一些现有的语义搜索服务,AWS 出现了:Amazon OpenSearch Service 中的语义搜索。但这似乎只是一种带有额外调味料的矢量搜索,而不是真正使用图数据库中的知识图进行的语义搜索。

现在我很困惑语义搜索是否实际上与矢量搜索相同。我不知道如何使用图形数据库以及为什么它们不用于 AWS 中的语义搜索

chatbot graph-databases opensearch vector-database
1个回答
0
投票

从版本 2.9+ 开始,OpenSearch 支持使用集群内部署的模型、预训练模型以及集群外运行的模型(例如 Amazon SageMaker、Amazon Bedrock 等)进行语义搜索。要使用此功能,第一步是注册模型,该模型将使用语义(面向意义的)值来增强搜索,该模型将在搜索执行期间使用文本嵌入中的向量来查找哪些文档与搜索条件匹配。

为此,您不需要使用面向图形的数据库。图形数据库对于在高度连接的数据集(例如树和堆)上查找复杂关系的数据非常有用。模型提供的任何数据集都可以使用。话虽如此,您当然可以使用图形数据库来丰富具有复杂关系的模型。

有关 OpenSearch 中语义搜索支持的更多信息:

https://opensearch.org/docs/latest/search-plugins/semantic-search/

© www.soinside.com 2019 - 2024. All rights reserved.