Class PineconeEmbeddingStore

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

public class PineconeEmbeddingStore extends Object implements dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
Represents a Pinecone index as an embedding store. Current implementation assumes the index uses the cosine distance metric. Does not support storing Metadata yet.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    PineconeEmbeddingStore(String apiKey, String environment, String projectId, String index, String nameSpace, String metadataTextKey)
    Creates an instance of PineconeEmbeddingStore.
  • 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> textSegments)
     
     
    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, search
  • Constructor Details

    • PineconeEmbeddingStore

      public PineconeEmbeddingStore(String apiKey, String environment, String projectId, String index, String nameSpace, String metadataTextKey)
      Creates an instance of PineconeEmbeddingStore.
      Parameters:
      apiKey - The Pinecone API key.
      environment - The environment (e.g., "northamerica-northeast1-gcp").
      projectId - The ID of the project (e.g., "19a129b"). This is not a project name. The ID can be found in the Pinecone URL: https://app.pinecone.io/organizations/.../projects/...:{projectId}/indexes.
      index - The name of the index (e.g., "test").
      nameSpace - (Optional) Namespace. If not provided, "default" will be used.
      metadataTextKey - (Optional) The key to find the text in the metadata. If not provided, "text_segment" will be used.
  • 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> textSegments)
      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>
    • builder

      public static PineconeEmbeddingStore.Builder builder()