From a0e01e075d46b05ddc0737065348e57f38952edf Mon Sep 17 00:00:00 2001 From: KCaverly Date: Wed, 18 Oct 2023 16:31:29 -0400 Subject: [PATCH] fix for error when truncating a length less than the string length --- crates/ai/src/models.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/ai/src/models.rs b/crates/ai/src/models.rs index 69e73e9b56ec7db7023983a67f5ee994c97c5725..0cafb49d94705a25322e3d6540d9a4a87e434c41 100644 --- a/crates/ai/src/models.rs +++ b/crates/ai/src/models.rs @@ -38,7 +38,11 @@ impl LanguageModel for OpenAILanguageModel { fn truncate(&self, content: &str, length: usize) -> anyhow::Result { if let Some(bpe) = &self.bpe { let tokens = bpe.encode_with_special_tokens(content); - bpe.decode(tokens[..length].to_vec()) + if tokens.len() > length { + bpe.decode(tokens[..length].to_vec()) + } else { + bpe.decode(tokens) + } } else { Err(anyhow!("bpe for open ai model was not retrieved")) }