SZ-ORM pgvector 扩展
提供 PostgreSQL pgvector 向量相似度搜索能力,支持三种实现:
- 内存实现(
InMemoryVectorStore):纯 Rust 向量计算,不连接数据库,适用于测试和基准
- Stub 实现(
StubVectorStore):所有方法返回 Unsupported,适用于调试占位
- 真实实现(
RealPgVectorStore,需启用 real-pg feature):通过 tokio-postgres 连接 PostgreSQL + pgvector
快速入门
use sz_orm_vector::{InMemoryVectorStore, PgVectorStore, VectorRecord, VectorMetric};
# #[tokio::main]
# async fn main() -> Result<(), Box<dyn std::error::Error>> {
let store = InMemoryVectorStore::new();
store.create_collection("docs", 3, None).await?;
let record = VectorRecord::new("doc1", vec![1.0, 0.0, 0.0]);
store.insert("docs", vec![record]).await?;
let results = store.search("docs", &[1.0, 0.0, 0.0], 5).await?;
println!("found {} results", results.len());
# Ok(())
# }