fix: avoid old change

This commit is contained in:
drbh 2024-04-03 20:18:06 +00:00
parent 4930de857d
commit 106c9ce8e5

View File

@ -399,23 +399,33 @@ impl From<(Token, Vec<Token>)> for ChatCompletionLogprobs {
impl From<(Vec<Token>, Vec<Vec<Token>>)> for ChatCompletionLogprobs { impl From<(Vec<Token>, Vec<Vec<Token>>)> for ChatCompletionLogprobs {
fn from(value: (Vec<Token>, Vec<Vec<Token>>)) -> Self { fn from(value: (Vec<Token>, Vec<Vec<Token>>)) -> Self {
let (tokens, top_tokens) = value; let (tokens, top_tokens) = value;
Self {
content: tokens // Create an iterator that produces None for top_tokens once it's exhausted
.into_iter() let top_tokens_iter = top_tokens
.zip(top_tokens) .into_iter()
.map(|(t, top_t)| ChatCompletionLogprob { .map(Some)
token: t.text, .chain(std::iter::repeat(None));
logprob: t.logprob,
top_logprobs: top_t let content = tokens
.into_iter()
.zip(top_tokens_iter)
.map(|(t, top_t_option)| ChatCompletionLogprob {
token: t.text,
logprob: t.logprob,
top_logprobs: match top_t_option {
Some(top_t) => top_t
.into_iter() .into_iter()
.map(|t| ChatCompletionTopLogprob { .map(|t| ChatCompletionTopLogprob {
token: t.text, token: t.text,
logprob: t.logprob, logprob: t.logprob,
}) })
.collect(), .collect(),
}) None => vec![], // Handle the case where there are no top tokens
.collect(), },
} })
.collect();
Self { content }
} }
} }