QdrantStore
public class QdrantStore implements VDBStoreBase, AutoCloseable
io/agentscope/core/rag/store/QdrantStore.java:112–1096Qdrant 存储,负责持久化与读取数据。位于 io.agentscope.core.rag.store 包,实现 VDBStoreBase、AutoCloseable。核心成员包括 add、search、delete、getClient、getGrpcClient、getLocation。
Qdrant vector database store implementation.
This class provides an interface for storing and searching vectors using Qdrant, a production-ready vector database. It implements the VDBStoreBase interface to provide a unified API for vector storage operations.
In Qdrant, we use the payload field to store the metadata, including the document ID, chunk ID, and original content.
This implementation uses the Qdrant Java SDK (io.qdrant:client). To use this class, add the following dependency:
`<dependency>
<groupId>io.qdrant</groupId>
<artifactId>client</artifactId>
<version>1.15.0</version>
<scope>provided</scope>
</dependency>
`
Example usage:
`// Using builder with TLS and compatibility options (recommended)
try (QdrantStore store = QdrantStore.builder()
.location("http://localhost:6333")
.collectionName("my_collection")
.dimensions(1024)
.apiKey("my-api-key")
.useTransportLayerSecurity(true)
.checkCompatibility(false)
.build()) {
store.add(document).block();
List<Document> results = store.search(queryEmbedding, 5).block();
// Store is automatically closed here
}
// Using static factory method (simpler, uses defaults)
try (QdrantStore store = QdrantStore.create("http://localhost:6333", "my_collection", 1024)) {
store.add(document).block();
List<Document> results = store.search(queryEmbedding, 5).block();
}
`
Note: The location parameter can be:
-
HTTP URL: "http://localhost:6333" - will use gRPC on port 6334
-
gRPC URL: "localhost:6334" - direct gRPC connection
-
Local path: "file:///path/to/qdrant" - local Qdrant instance
-
Memory mode: ":memory:" - in-memory Qdrant (requires local Qdrant)
嵌套类摘要Nested Class Summary
| 类Class | 类型Kind | 说明Description |
|---|---|---|
Builder | 类class | 构建器,用于构建并配置目标实例。 Builder for creating QdrantStore instances with fluent configuration. |
方法摘要Method Summary
方法详情Method Detail
add
public Mono<Void> add(List<Document> documents)
设置添加。
Performs the add operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
documents | List<Document> | 文档列表(类型 `List`)。The documents. |
Mono<Void>io/agentscope/core/rag/store/QdrantStore.java:202–247search
public Mono<List<Document>> search(SearchDocumentDto searchDocumentDto)
设置搜索。
Performs the search operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
searchDocumentDto | SearchDocumentDto | 搜索文档 Dto(类型 `SearchDocumentDto`)。The search document dto. |
Mono<List<Document>>io/agentscope/core/rag/store/QdrantStore.java:249–288delete
public Mono<Boolean> delete(String id)
删除数据。
Performs the delete operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
id | String | 标识(类型 `String`)。The id. |
Mono<Boolean>io/agentscope/core/rag/store/QdrantStore.java:290–313getClient
public QdrantClient getClient() throws VectorStoreException
获取客户端。
Gets the underlying Qdrant client for advanced operations.
QdrantClientVectorStoreException可能抛出 `VectorStoreException`。Thrown when the operation cannot be completed.
io/agentscope/core/rag/store/QdrantStore.java:330–333getGrpcClient
public QdrantGrpcClient getGrpcClient() throws VectorStoreException
获取gRPC 客户端。
Gets the underlying gRPC client for low-level operations.
QdrantGrpcClientVectorStoreException可能抛出 `VectorStoreException`。Thrown when the operation cannot be completed.
io/agentscope/core/rag/store/QdrantStore.java:344–347getLocation
public String getLocation()
获取 getLocation。
Gets the Qdrant server location.
Stringio/agentscope/core/rag/store/QdrantStore.java:873–875getCollectionName
public String getCollectionName()
获取集合名称。
Gets the collection name.
Stringio/agentscope/core/rag/store/QdrantStore.java:882–884getDimensions
public int getDimensions()
获取向量维度。
Gets the vector dimensions.
intio/agentscope/core/rag/store/QdrantStore.java:891–893getApiKey
public String getApiKey()
获取API 密钥(if 设置)。
Gets the API key (if set).
Stringio/agentscope/core/rag/store/QdrantStore.java:900–902close
public void close()
关闭连接并释放相关资源。
Closes the Qdrant client and releases all resources.
io/agentscope/core/rag/store/QdrantStore.java:921–954isClosed
public boolean isClosed()
判断是否已关闭。
Checks if this store has been closed.
booleanio/agentscope/core/rag/store/QdrantStore.java:961–963builder
public static Builder builder()
返回构建器实例。
Creates a new builder for constructing QdrantStore instances.
Builderio/agentscope/core/rag/store/QdrantStore.java:1093–1095嵌套类详情Nested Class Detail
Builder
public static class Builder构建器,用于构建并配置目标实例。位于 io.agentscope.core.rag.store 包。核心成员包括 location、collectionName、dimensions、apiKey、useTransportLayerSecurity、checkCompatibility。
Builder for creating QdrantStore instances with fluent configuration.
Example usage:
`QdrantStore store = QdrantStore.builder()
.location("http://localhost:6333")
.collectionName("my_collection")
.dimensions(1024)
.apiKey("my-api-key")
.useTransportLayerSecurity(true)
.checkCompatibility(false)
.build();
`