mod private
{
use serde::{ Serialize, Deserialize };
use crate::{ Role, ToolCall };
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq ) ]
pub struct ChatCompletionChunk
{
pub id : String,
pub object : String,
pub created : u64,
pub model : String,
pub choices : Vec< ChunkChoice >,
}
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq ) ]
pub struct ChunkChoice
{
pub index : u32,
pub delta : Delta,
pub finish_reason : Option< String >,
}
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq, Default ) ]
pub struct Delta
{
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub role : Option< Role >,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub content : Option< String >,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub tool_calls : Option< Vec< ToolCall > >,
}
}
crate::mod_interface!
{
exposed use
{
ChatCompletionChunk,
ChunkChoice,
Delta,
};
}