Skip to main content

abu_base/chat/
response.rs

1use crate::common::Usage;
2
3use super::message::*;
4use serde::Deserialize;
5use strum::{Display, EnumString, EnumVariantNames};
6
7#[derive(Debug, Clone, Deserialize)]
8pub struct ChatResponse {
9    pub message: AssistantMessage,
10    pub finish_reason: FinishReason,
11    pub usage: Usage,
12}
13
14#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Deserialize, EnumString, Display, EnumVariantNames)]
15#[serde(rename_all = "snake_case")]
16pub enum FinishReason {
17    #[default]
18    Stop,
19    Length,
20    ContentFilter,
21    ToolCalls,
22}