public class VespaEmbeddingStore extends Object implements dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
| Constructor and Description |
|---|
VespaEmbeddingStore(String url,
String keyPath,
String certPath,
Duration timeout,
String namespace,
String documentType,
String rankProfile,
Integer targetHits,
Boolean avoidDups)
Creates a new VespaEmbeddingStore instance.
|
| Modifier and Type | Method and Description |
|---|---|
String |
add(dev.langchain4j.data.embedding.Embedding embedding) |
String |
add(dev.langchain4j.data.embedding.Embedding embedding,
dev.langchain4j.data.segment.TextSegment textSegment) |
void |
add(String id,
dev.langchain4j.data.embedding.Embedding embedding)
Adds a new embedding with provided ID to the store.
|
List<String> |
addAll(List<dev.langchain4j.data.embedding.Embedding> embeddings) |
List<String> |
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)
The score inside
EmbeddingMatch is Vespa relevance according to provided rank profile. |
public VespaEmbeddingStore(String url, String keyPath, String certPath, Duration timeout, String namespace, String documentType, String rankProfile, Integer targetHits, Boolean avoidDups)
url - server url, local or cloud one. The latter you can find under Endpoint of your Vespa
application, e.g. https://alexey-heezer.langchain4j.mytenant346.aws-us-east-1c.dev.z.vespa-app.cloud/keyPath - local path to the SSL private key file in PEM format. Read
docs for details.certPath - local path to the SSL certificate file in PEM format. Read
docs for details.timeout - for Vespa Java client in java.time.Duration format.namespace - required for document ID generation, find more details
here.documentType - document type, used for document ID generation, find more details
here and data queryingrankProfile - rank profile from your .sd schema. Provided example schema configures cosine similarity matchtargetHits - sets the number of hits (10 is default) exposed to the real Vespa's first-phase ranking
function per content node, find more details
here.avoidDups - if true (default), then VespaEmbeddingStore will generate a hashed ID based on
provided text segment, which avoids duplicated entries in DB.
If false, then random ID will be generated.public String add(dev.langchain4j.data.embedding.Embedding embedding)
add in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>public void add(String id, dev.langchain4j.data.embedding.Embedding embedding)
add in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>id - "user-specified" part of document ID, find more details
hereembedding - the embedding to addpublic String add(dev.langchain4j.data.embedding.Embedding embedding, dev.langchain4j.data.segment.TextSegment textSegment)
add in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>public List<String> addAll(List<dev.langchain4j.data.embedding.Embedding> embeddings)
addAll in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>public List<String> addAll(List<dev.langchain4j.data.embedding.Embedding> embeddings, List<dev.langchain4j.data.segment.TextSegment> embedded)
addAll in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>public List<dev.langchain4j.store.embedding.EmbeddingMatch<dev.langchain4j.data.segment.TextSegment>> findRelevant(dev.langchain4j.data.embedding.Embedding referenceEmbedding, int maxResults, double minScore)
EmbeddingMatch is Vespa relevance according to provided rank profile.findRelevant in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>Copyright © 2023. All rights reserved.