Skip to main content

gproxy_protocol/protocol/openai/common/logprobs/
stream.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 StreamTokenLogprob {
8    pub token: String,
9    pub logprob: f64,
10    #[serde(skip_serializing_if = "Option::is_none")]
11    pub top_logprobs: Option<Vec<StreamTokenTopLogprob>>,
12    #[serde(
13        default,
14        flatten,
15        skip_serializing_if = "std::collections::BTreeMap::is_empty"
16    )]
17    pub extra: Extra,
18}
19
20#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
21#[non_exhaustive]
22pub struct StreamTokenTopLogprob {
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub token: Option<String>,
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub logprob: Option<f64>,
27    #[serde(
28        default,
29        flatten,
30        skip_serializing_if = "std::collections::BTreeMap::is_empty"
31    )]
32    pub extra: Extra,
33}