gproxy_protocol/protocol/openai/common/logprobs/
output_text.rs1use serde::{Deserialize, Serialize};
2
3use super::super::Extra;
4
5#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
6#[non_exhaustive]
7pub struct TokenLogprob {
8 pub token: String,
9 #[serde(skip_serializing_if = "Option::is_none")]
10 pub bytes: Option<Vec<u8>>,
11 pub logprob: f64,
12 #[serde(skip_serializing_if = "Vec::is_empty")]
13 pub top_logprobs: Vec<TokenLogprobTop>,
14 #[serde(
15 default,
16 flatten,
17 skip_serializing_if = "std::collections::BTreeMap::is_empty"
18 )]
19 pub extra: Extra,
20}
21
22#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
23#[non_exhaustive]
24pub struct TokenLogprobTop {
25 pub token: String,
26 #[serde(skip_serializing_if = "Option::is_none")]
27 pub bytes: Option<Vec<u8>>,
28 pub logprob: f64,
29 #[serde(
30 default,
31 flatten,
32 skip_serializing_if = "std::collections::BTreeMap::is_empty"
33 )]
34 pub extra: Extra,
35}