Class OracleEmbeddingStore
- All Implemented Interfaces:
dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
An EmbeddingStore which uses AI Vector Search capabilities of Oracle Database. This embedding store
supports metadata filtering and removal
Instances of this store are created by configuring a builder:
EmbeddingStore<TextSegment> example(DataSource dataSource) {
return OracleEmbeddingStore.builder()
.dataSource(dataSource)
.embeddingTable("example")
.build();
}
It is recommended to configure a DataSource which pools connections, such as the Universal Connection Pool
(UCP) or Hikari. A connection pool will avoid the latency of repeatedly creating new database connections.
This embedding store requires a EmbeddingTable to be configured with OracleEmbeddingStore.Builder.embeddingTable(String).
If the table does not already exist, it can be created by passing a CreateOption to
OracleEmbeddingStore.Builder.embeddingTable(String, CreateOption) or to EmbeddingTable.Builder.createOption(CreateOption).
An inverted flat file (IVF) vector index is created on the embedding column. The index is named
"{tableName}_EMBEDDING_INDEX", where {tableName} is the name configured using the OracleEmbeddingStore.Builder.
Instances of this embedding store are safe for use by multiple threads.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder which configures and creates instances ofOracleEmbeddingStore. -
Method Summary
Modifier and TypeMethodDescriptionadd(dev.langchain4j.data.embedding.Embedding embedding) add(dev.langchain4j.data.embedding.Embedding embedding, dev.langchain4j.data.segment.TextSegment textSegment) voidaddAll(List<dev.langchain4j.data.embedding.Embedding> embeddings, List<dev.langchain4j.data.segment.TextSegment> embedded) static OracleEmbeddingStore.Builderbuilder()Returns a builder which configures and creates instances ofOracleEmbeddingStore.voidvoidremoveAll(dev.langchain4j.store.embedding.filter.Filter filter) voidremoveAll(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
findRelevant, findRelevant, findRelevant, findRelevant, remove
-
Method Details
-
add
- 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>
-
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
public List<String> addAll(List<dev.langchain4j.data.embedding.Embedding> embeddings, List<dev.langchain4j.data.segment.TextSegment> embedded) - Specified by:
addAllin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
add
- Specified by:
addin 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(dev.langchain4j.store.embedding.filter.Filter filter) - 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>
-
builder
Returns a builder which configures and creates instances ofOracleEmbeddingStore.- Returns:
- A builder. Not null.
-