Skip to main content

gproxy_protocol/protocol/openai/common/logprobs/
output_text.rs

1use 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}