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