diff --git a/klbr-bench/src/longmemeval.rs b/klbr-bench/src/longmemeval.rs index bc1f8e9..8fe9e5d 100644 --- a/klbr-bench/src/longmemeval.rs +++ b/klbr-bench/src/longmemeval.rs @@ -1783,7 +1783,7 @@ async fn run_ingest(data_path: &str, db_dir_path: &str) -> Result<()> { Ok(e) => e, Err(err) => { eprintln!("Warning: Failed to embed chunk (len {}): {}; attempting with truncated text...", text.len(), err); - let truncated: String = text.chars().take(4000).collect(); + let truncated: String = text.chars().take(2000).collect(); match llm.embed(&truncated).await { Ok(e) => e, Err(err2) => { diff --git a/klbr-core/src/pipeline.rs b/klbr-core/src/pipeline.rs index 526a02b..bd76f2e 100644 --- a/klbr-core/src/pipeline.rs +++ b/klbr-core/src/pipeline.rs @@ -266,7 +266,7 @@ impl MemoryPipeline { if episode_body.trim().is_empty() || !self.profile.write_episode_memories { None } else { - let emb = self.llm.embed(&episode_body).await?; + let emb = self.llm.embed(&dense_embedding_text(&episode_body)).await?; let id = self.memory.store_with_metadata(&MemoryRecordInput { memory_id: None, namespace: "default".to_string(), @@ -1570,7 +1570,7 @@ fn unix_timestamp() -> i64 { } fn dense_embedding_text(body: &str) -> String { - const MAX_CHARS: usize = 3_000; + const MAX_CHARS: usize = 1_200; if body.chars().count() <= MAX_CHARS { body.to_string() } else { @@ -2011,7 +2011,7 @@ mod tests { fn dense_embedding_text_is_bounded_for_local_embedder() { let long = "x".repeat(7_000); let bounded = dense_embedding_text(&long); - assert_eq!(bounded.chars().count(), 3_000); + assert_eq!(bounded.chars().count(), 1_200); } #[test]