argentor_memory/lib.rs
1//! Vector-based semantic memory with hybrid search and query expansion.
2//!
3//! Provides persistent vector storage, local embedding generation,
4//! BM25 keyword scoring, hybrid (embedding + BM25) search, and
5//! rule-based query expansion for improved recall.
6//!
7//! # Main types
8//!
9//! - [`VectorStore`] — Trait for storing and querying embedding vectors.
10//! - [`FileVectorStore`] — File-backed persistent vector store.
11//! - [`LocalEmbedding`] — Local TF-IDF-based embedding provider.
12//! - [`HybridSearcher`] — Combines embedding similarity with BM25 keyword scoring.
13//! - [`Bm25Index`] — BM25 inverted index for keyword-based retrieval.
14//! - [`QueryExpander`] — Trait for expanding queries to improve search recall.
15//! - [`RagPipeline`] — Retrieval-Augmented Generation pipeline for knowledge base search.
16
17/// BM25 inverted index for keyword-based retrieval.
18pub mod bm25;
19/// Conversation memory for cross-session customer context.
20pub mod conversation;
21/// Embedding provider trait and local implementation.
22pub mod embedding;
23/// Multiple embedding provider backends (OpenAI, Cohere, Voyage, cached, batch, factory).
24pub mod embeddings_providers;
25/// Hybrid search combining embeddings and BM25.
26pub mod hybrid;
27/// Knowledge graph for entity-relationship-based memory.
28pub mod knowledge_graph;
29/// pgvector (PostgreSQL extension) vector store adapter.
30pub mod pgvector;
31/// Pinecone vector store adapter.
32pub mod pinecone;
33/// Qdrant vector store adapter.
34pub mod qdrant;
35/// Query expansion for improved recall.
36pub mod query_expansion;
37/// Retrieval-Augmented Generation pipeline.
38pub mod rag;
39/// Vector store trait and file-backed implementation.
40pub mod store;
41/// Weaviate vector store adapter.
42pub mod weaviate;
43
44pub use bm25::Bm25Index;
45pub use conversation::{
46 ConversationMemory, ConversationSummarizer, ConversationTurn, CustomerProfile,
47};
48pub use embedding::{EmbeddingProvider, LocalEmbedding};
49pub use embeddings_providers::{
50 parse_cohere_embedding_response, parse_openai_embedding_response,
51 parse_voyage_embedding_response, BatchEmbeddingProvider, CacheStats, CachedEmbeddingProvider,
52 CohereEmbedV4Provider, CohereEmbeddingProvider, EmbeddingConfig, EmbeddingProviderFactory,
53 JinaEmbeddingProvider, MistralEmbedProvider, NomicEmbedProvider, OpenAiEmbeddingProvider,
54 SentenceTransformersProvider, TogetherEmbedProvider, VoyageEmbeddingProvider,
55};
56pub use hybrid::HybridSearcher;
57pub use knowledge_graph::{
58 Entity, EntityType, GraphSummary, KnowledgeGraph, RelationType, Relationship,
59};
60pub use pgvector::PgVectorStore;
61pub use pinecone::PineconeStore;
62pub use qdrant::QdrantStore;
63pub use query_expansion::{QueryExpander, RuleBasedExpander};
64pub use rag::{
65 ChunkingStrategy, Document, DocumentChunk, RagConfig, RagPipeline, RagResult, ScoredChunk,
66};
67pub use store::{FileVectorStore, InMemoryVectorStore, MemoryEntry, SearchResult, VectorStore};
68pub use weaviate::WeaviateStore;