cerebro/lib.rs
1//! # Cerebro ðŸ§
2//!
3//! **Cerebro** is a blazing-fast, storage-agnostic semantic memory engine
4//! for AI Agents and LLM applications, written in pure Rust.
5//!
6//! ## Quick Start
7//!
8//! ```rust,no_run
9//! use cerebro::prelude::*;
10//! use std::sync::Arc;
11//!
12//! #[tokio::main]
13//! async fn main() {
14//! let chunker = Arc::new(RecursiveCharacterChunker::new(512, 50));
15//! let embedder = Arc::new(MockEmbedder::new(1536));
16//! let store = Arc::new(MemoryVectorStore::new());
17//!
18//! let engine = MemoryEngine::new(chunker, embedder, store);
19//!
20//! let doc = Document::new("Rust ensures memory safety without a garbage collector.");
21//! engine.ingest_document(doc).await.unwrap();
22//!
23//! let results = engine.query("memory safety", 5).await.unwrap();
24//! for (node, score) in results {
25//! println!("Score {:.3}: {}", score, node.chunk.text);
26//! }
27//! }
28//! ```
29
30pub mod chunker;
31pub mod compute;
32pub mod engine;
33pub mod ffi;
34pub mod ingest;
35pub mod models;
36pub mod storage;
37pub mod swarm;
38pub mod traits;
39
40// Re-export core types at the crate root
41pub use models::*;
42pub use traits::*;
43
44/// Convenience prelude — `use cerebro::prelude::*` to import everything you need.
45pub mod prelude {
46 pub use crate::chunker::*;
47 pub use crate::compute::mock::*;
48 pub use crate::compute::openai::*;
49 pub use crate::engine::*;
50 pub use crate::models::*;
51 pub use crate::storage::kv::*;
52 pub use crate::storage::memory::*;
53 pub use crate::traits::*;
54}