use crate::PredictEditsRequestTrigger; use serde::{Deserialize, Serialize}; use std::borrow::Cow; #[derive(Debug, Deserialize, Serialize)] pub struct RawCompletionRequest { pub model: String, pub prompt: String, #[serde(skip_serializing_if = "Option::is_none")] pub max_tokens: Option, #[serde(skip_serializing_if = "Option::is_none")] pub temperature: Option, pub stop: Vec>, #[serde(skip_serializing_if = "Option::is_none")] pub environment: Option, } #[derive(Debug, Serialize, Deserialize)] pub struct PredictEditsV3Request { #[serde(flatten)] pub input: zeta_prompt::ZetaPromptInput, #[serde(default)] pub trigger: PredictEditsRequestTrigger, } #[derive(Debug, Deserialize, Serialize)] pub struct PredictEditsV3Response { pub request_id: String, pub output: String, } #[derive(Debug, Deserialize, Serialize)] pub struct RawCompletionResponse { pub id: String, pub object: String, pub created: u64, pub model: String, pub choices: Vec, pub usage: RawCompletionUsage, } #[derive(Debug, Deserialize, Serialize)] pub struct RawCompletionChoice { pub text: String, pub finish_reason: Option, } #[derive(Debug, Serialize, Deserialize)] pub struct RawCompletionUsage { pub prompt_tokens: u32, pub completion_tokens: u32, pub total_tokens: u32, }