models.rs

 1pub enum TruncationDirection {
 2    Start,
 3    End,
 4}
 5
 6pub trait LanguageModel {
 7    fn name(&self) -> String;
 8    fn count_tokens(&self, content: &str) -> anyhow::Result<usize>;
 9    fn truncate(
10        &self,
11        content: &str,
12        length: usize,
13        direction: TruncationDirection,
14    ) -> anyhow::Result<String>;
15    fn capacity(&self) -> anyhow::Result<usize>;
16}