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.
WARNING! There is a known bug:
Pinecone stores all numbers as floating-point values,
which means Integer and Long values (e.g., 1746714878034235396) stored in Metadata
may be corrupted and returned as incorrect numbers!
Possible workaround: convert integer/double values to String before storing them in Metadata.
Please note that in this case metadata filtering might not work properly!
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionPineconeEmbeddingStore(String apiKey, String index, String nameSpace, String metadataTextKey, PineconeIndexConfig createIndex, String environment, String projectId) Creates an instance of PineconeEmbeddingStore. -
Method Summary
Modifier and TypeMethodDescriptionadd(dev.langchain4j.data.embedding.Embedding embedding) add(dev.langchain4j.data.embedding.Embedding embedding, dev.langchain4j.data.segment.TextSegment textSegment) voidvoidaddAll(List<String> ids, List<dev.langchain4j.data.embedding.Embedding> embeddings, List<dev.langchain4j.data.segment.TextSegment> textSegments) builder()voidvoidremoveAll(Collection<String> ids) dev.langchain4j.store.embedding.EmbeddingSearchResult<dev.langchain4j.data.segment.TextSegment> search(dev.langchain4j.store.embedding.EmbeddingSearchRequest request) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface dev.langchain4j.store.embedding.EmbeddingStore
addAll, generateIds, remove, removeAll
-
Constructor Details
-
PineconeEmbeddingStore
public PineconeEmbeddingStore(String apiKey, String index, String nameSpace, String metadataTextKey, PineconeIndexConfig createIndex, String environment, String projectId) Creates an instance of PineconeEmbeddingStore.- Parameters:
apiKey- The Pinecone API key.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.createIndex- (Optional) Configuration parameters to create an index, seePineconeServerlessIndexConfigandPineconePodIndexConfigenvironment- (Deprecated) Please use @PineconeEmbeddingStore.Builder.createIndex(PineconeIndexConfig).projectId- (Deprecated) Please use @PineconeEmbeddingStore.Builder.createIndex(PineconeIndexConfig).
-
-
Method Details
-
builder
-
add
- Specified by:
addin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
add
- Specified by:
addin interfacedev.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:
addin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
addAll
- Specified by:
addAllin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
removeAll
- Specified by:
removeAllin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
removeAll
public void removeAll()- Specified by:
removeAllin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
search
public dev.langchain4j.store.embedding.EmbeddingSearchResult<dev.langchain4j.data.segment.TextSegment> search(dev.langchain4j.store.embedding.EmbeddingSearchRequest request) - Specified by:
searchin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
addAll
public void addAll(List<String> ids, List<dev.langchain4j.data.embedding.Embedding> embeddings, List<dev.langchain4j.data.segment.TextSegment> textSegments) - Specified by:
addAllin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-