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}