Class Neo4jEmbeddingStore

java.lang.Object
dev.langchain4j.store.embedding.neo4j.Neo4jEmbeddingStore
All Implemented Interfaces:
dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>

public class Neo4jEmbeddingStore extends Object implements dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
Represents a Vector index as an embedding store. Annotated with `@Getter` to be used in Neo4jEmbeddingUtils
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Creates an instance of Neo4jEmbeddingStore defining a Driver starting from uri, user and password
  • Constructor Summary

    Constructors
    Constructor
    Description
    Neo4jEmbeddingStore(org.neo4j.driver.SessionConfig config, org.neo4j.driver.Driver driver, int dimension, String label, String embeddingProperty, String idProperty, String metadataPrefix, String textProperty, String indexName, String databaseName, String retrievalQuery, long awaitIndexTimeout)
    Creates an instance of Neo4jEmbeddingStore
  • Method Summary

    Modifier and Type
    Method
    Description
    add(dev.langchain4j.data.embedding.Embedding embedding)
     
    add(dev.langchain4j.data.embedding.Embedding embedding, dev.langchain4j.data.segment.TextSegment textSegment)
     
    void
    add(String id, dev.langchain4j.data.embedding.Embedding embedding)
     
    addAll(List<dev.langchain4j.data.embedding.Embedding> embeddings)
     
    addAll(List<dev.langchain4j.data.embedding.Embedding> embeddings, List<dev.langchain4j.data.segment.TextSegment> embedded)
     
    List<dev.langchain4j.store.embedding.EmbeddingMatch<dev.langchain4j.data.segment.TextSegment>>
    findRelevant(dev.langchain4j.data.embedding.Embedding referenceEmbedding, int maxResults, double minScore)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface dev.langchain4j.store.embedding.EmbeddingStore

    findRelevant, findRelevant, findRelevant, remove, removeAll, removeAll, removeAll, search
  • Constructor Details

    • Neo4jEmbeddingStore

      public Neo4jEmbeddingStore(org.neo4j.driver.SessionConfig config, org.neo4j.driver.Driver driver, int dimension, String label, String embeddingProperty, String idProperty, String metadataPrefix, String textProperty, String indexName, String databaseName, String retrievalQuery, long awaitIndexTimeout)
      Creates an instance of Neo4jEmbeddingStore
      Parameters:
      config - : the SessionConfig (optional, default is `SessionConfig.forDatabase(`databaseName`)`)
      driver - : the Driver (required)
      dimension - : the dimension (required)
      label - : the optional label name (default: "Document")
      embeddingProperty - : the optional embeddingProperty name (default: "embedding")
      idProperty - : the optional id property name (default: "id")
      metadataPrefix - : the optional metadata prefix (default: "")
      textProperty - : the optional textProperty property name (default: "text")
      indexName - : the optional index name (default: "vector")
      databaseName - : the optional database name (default: "neo4j")
      retrievalQuery - : the optional retrieval query (default: "RETURN properties(node) AS metadata, node.`idProperty` AS `idProperty`, node.`textProperty` AS `textProperty`, node.`embeddingProperty` AS `embeddingProperty`, score")
  • Method Details

    • add

      public String add(dev.langchain4j.data.embedding.Embedding embedding)
      Specified by:
      add in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • add

      public void add(String id, dev.langchain4j.data.embedding.Embedding embedding)
      Specified by:
      add in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • add

      public String add(dev.langchain4j.data.embedding.Embedding embedding, dev.langchain4j.data.segment.TextSegment textSegment)
      Specified by:
      add in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • addAll

      public List<String> addAll(List<dev.langchain4j.data.embedding.Embedding> embeddings)
      Specified by:
      addAll in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • addAll

      public List<String> addAll(List<dev.langchain4j.data.embedding.Embedding> embeddings, List<dev.langchain4j.data.segment.TextSegment> embedded)
      Specified by:
      addAll in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • findRelevant

      public List<dev.langchain4j.store.embedding.EmbeddingMatch<dev.langchain4j.data.segment.TextSegment>> findRelevant(dev.langchain4j.data.embedding.Embedding referenceEmbedding, int maxResults, double minScore)
      Specified by:
      findRelevant in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>