Class SimpleVectorStore

java.lang.Object
org.springframework.ai.vectorstore.SimpleVectorStore
All Implemented Interfaces:
Consumer<List<Document>>, DocumentWriter, VectorStore

public class SimpleVectorStore extends Object implements VectorStore
SimpleVectorStore is a simple implementation of the VectorStore interface. It also provides methods to save the current state of the vectors to a file, and to load vectors from a file. For a deeper understanding of the mathematical concepts and computations involved in calculating similarity scores among vectors, refer to this [resource](https://docs.spring.io/spring-ai/reference/api/vectordbs.html#_understanding_vectors).
Author:
Raphael Yu, Dingmeng Xue, Mark Pollack, Christian Tzolov
  • Field Details

  • Constructor Details

    • SimpleVectorStore

      public SimpleVectorStore(EmbeddingClient embeddingClient)
  • Method Details

    • add

      public void add(List<Document> documents)
      Description copied from interface: VectorStore
      Adds list of Documents to the vector store.
      Specified by:
      add in interface VectorStore
      Parameters:
      documents - the list of documents to store. Throws an exception if the underlying provider checks for duplicate IDs.
    • delete

      public Optional<Boolean> delete(List<String> idList)
      Description copied from interface: VectorStore
      Deletes documents from the vector store.
      Specified by:
      delete in interface VectorStore
      Parameters:
      idList - list of document ids for which documents will be removed.
      Returns:
    • similaritySearch

      public List<Document> similaritySearch(SearchRequest request)
      Description copied from interface: VectorStore
      Retrieves documents by query embedding similarity and metadata filters to retrieve exactly the number of nearest-neighbor results that match the request criteria.
      Specified by:
      similaritySearch in interface VectorStore
      Parameters:
      request - Search request for set search parameters, such as the query text, topK, similarity threshold and metadata filter expressions.
      Returns:
      Returns documents th match the query request conditions.
    • save

      public void save(File file)
      Serialize the vector store content into a file in JSON format.
      Parameters:
      file - the file to save the vector store content
    • load

      public void load(File file)
      Deserialize the vector store content from a file in JSON format into memory.
      Parameters:
      file - the file to load the vector store content
    • load

      public void load(org.springframework.core.io.Resource resource)
      Deserialize the vector store content from a resource in JSON format into memory.
      Parameters:
      resource - the resource to load the vector store content