qail_qdrant/
lib.rs

1//! QAIL driver for Qdrant vector database.
2//!
3//! ⚠️ **BETA** - This crate is under active development. API may change.
4//!
5//! Native Rust driver with zero-copy gRPC and AST-based query building.
6//!
7//! # Example
8//! ```ignore
9//! use qail_core::prelude::*;
10//! use qail_qdrant::QdrantDriver;
11//!
12//! let driver = QdrantDriver::connect("localhost", 6334).await?;
13//!
14//! // Vector similarity search
15//! let results = driver.search("products", &embedding, 10, None).await?;
16//! ```
17
18pub mod driver;
19pub mod error;
20pub mod transport;
21pub mod point;
22pub mod decoder;
23pub mod encoder;
24pub mod protocol;
25pub mod pool;
26
27pub use driver::QdrantDriver;
28pub use error::{QdrantError, QdrantResult};
29pub use point::{Point, PointId, Payload, SparseVector, VectorData, MultiVectorPoint};
30pub use pool::{QdrantPool, PoolConfig, PooledConnection};
31
32/// Re-export qail-core prelude for convenience.
33pub mod prelude {
34    pub use qail_core::prelude::*;
35    pub use crate::{QdrantDriver, QdrantError, QdrantResult, Point, PointId, Payload};
36    pub use crate::{SparseVector, VectorData, MultiVectorPoint};
37    pub use crate::{QdrantPool, PoolConfig};
38}
39
40/// Distance metrics for vector similarity.
41#[derive(Debug, Clone, Copy, PartialEq, Eq)]
42pub enum Distance {
43    Cosine,
44    Euclidean,
45    Dot,
46}