do_memory_core/semantic/mod.rs
1//! Semantic summarization and embedding capabilities.
2//!
3//! This module provides semantic summarization of episodes into concise,
4//! searchable summaries with key concepts, critical steps, and optional embeddings.
5//!
6//! # Components
7//!
8//! - [`SemanticSummarizer`]: Compress episodes into semantic summaries
9//! - [`EpisodeSummary`]: Condensed episode representation with embeddings
10//!
11//! # Examples
12//!
13//! ```no_run
14//! use do_memory_core::semantic::{SemanticSummarizer, EpisodeSummary};
15//! use do_memory_core::{Episode, TaskContext, TaskType};
16//!
17//! # async fn example() -> anyhow::Result<()> {
18//! let summarizer = SemanticSummarizer::new();
19//!
20//! let episode = Episode::new(
21//! "Implement authentication".to_string(),
22//! TaskContext::default(),
23//! TaskType::CodeGeneration,
24//! );
25//!
26//! let summary = summarizer.summarize_episode(&episode).await?;
27//! println!("Summary: {}", summary.summary_text);
28//! println!("Key concepts: {:?}", summary.key_concepts);
29//! println!("Key steps: {:?}", summary.key_steps);
30//! # Ok(())
31//! # }
32//! ```
33
34pub mod summary;
35
36pub use summary::{EpisodeSummary, SemanticSummarizer};