Expand description
§Phago Vectors
Vector database adapters for Phago biological computing framework.
This crate provides a unified interface for storing and searching embeddings across different vector database backends.
§Supported Backends
| Backend | Feature Flag | Description |
|---|---|---|
| In-Memory | (default) | Simple brute-force search, good for testing |
| Qdrant | qdrant | High-performance vector database |
| Pinecone | pinecone | Managed vector database service |
| Weaviate | weaviate | Open-source vector search engine |
§Quick Start
ⓘ
use phago_vectors::{VectorStore, InMemoryStore, VectorRecord};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let store = InMemoryStore::new(384); // 384-dimensional vectors
// Store a vector
let record = VectorRecord::new("doc1", vec![0.1; 384])
.with_metadata("title", "Introduction to Cells");
store.upsert(vec![record]).await?;
// Search for similar vectors
let results = store.search(&[0.1; 384], 5).await?;
for result in results {
println!("{}: {:.3}", result.id, result.score);
}
Ok(())
}§Feature Flags
# Use Qdrant backend
phago-vectors = { version = "0.6", features = ["qdrant"] }
# Use all backends
phago-vectors = { version = "0.6", features = ["all"] }Re-exports§
pub use memory::InMemoryStore;
Modules§
Structs§
- Search
Result - A search result from the vector store.
- Vector
Record - A vector record to store in the database.
- Vector
Store Config - Configuration for creating a vector store.
Enums§
- Backend
Config - Backend-specific configuration.
- Distance
Metric - Distance metric for similarity search.
- Vector
Error - Errors that can occur when working with vector stores.
Traits§
- Vector
Store - Abstract interface for vector storage and search.
Functions§
- create_
store - Create a vector store from configuration.
Type Aliases§
- Vector
Result - Result type for vector operations.