Skip to main content

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}