【Spring AI】05. 向量数据库

文章目录

  • 向量数据库
    • 概述
    • 可用实现
    • 示例用法
    • 元数据过滤器
      • Filter String
      • Filter.Expression
    • 理解向量

向量数据库

向量数据库是一种在 AI 应用中发挥关键作用的特定类型的数据库。
在向量数据库中,查询与传统关系数据库不同。它们不执行精确匹配,而是执行相似性搜索。当以向量作为查询时,向量数据库返回与查询向量“相似”的向量。有关如何在高层次计算此相似性的更多详细信息,请参阅 向量相似性
向量数据库用于将您的数据与 AI 模型集成。它们的使用的第一步是将您的数据加载到向量数据库中。然后,当用户查询要发送到 AI 模型时,首先检索一组相似的文档。然后,这些文档作为用户问题的上下文,并与用户的查询一起发送到 AI 模型。这种技术被称为检索增强生成(RAG)。
以下部分描述了 Spring AI 接口,用于使用多个向量数据库实现和一些高级示例用法。
最后一部分旨在揭示向量数据库中相似搜索的基本方法。

概述


本节作为 Spring AI 框架中VectorStore接口及其关联类的指南。
Spring AI 通过VectorStore接口为向量数据库交互提供了抽象化的 API。
这里是 VectorStore 接口的定义:

public interface VectorStore {
   

    void add(List<Document> documents);

    Optional<Boolean> delete(List<String> idList);

    List<Document> similaritySearch(String query);

    List<Document> similaritySearch(SearchRequest request);
}

和相关的 SearchRequest 构建器:

public class SearchRequest {
   

	public final String query;
	private int topK = 4;
	private 

你可能感兴趣的:(Spring,AI,数据库,spring,人工智能)