predict_edits_v3.rs

 1use crate::PredictEditsRequestTrigger;
 2use serde::{Deserialize, Serialize};
 3use std::borrow::Cow;
 4
 5#[derive(Debug, Deserialize, Serialize)]
 6pub struct RawCompletionRequest {
 7    pub model: String,
 8    pub prompt: String,
 9    #[serde(skip_serializing_if = "Option::is_none")]
10    pub max_tokens: Option<u32>,
11    #[serde(skip_serializing_if = "Option::is_none")]
12    pub temperature: Option<f32>,
13    pub stop: Vec<Cow<'static, str>>,
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub environment: Option<String>,
16}
17
18#[derive(Debug, Serialize, Deserialize)]
19pub struct PredictEditsV3Request {
20    #[serde(flatten)]
21    pub input: zeta_prompt::ZetaPromptInput,
22    #[serde(default)]
23    pub trigger: PredictEditsRequestTrigger,
24}
25
26#[derive(Debug, Deserialize, Serialize)]
27pub struct PredictEditsV3Response {
28    pub request_id: String,
29    pub output: String,
30}
31
32#[derive(Debug, Deserialize, Serialize)]
33pub struct RawCompletionResponse {
34    pub id: String,
35    pub object: String,
36    pub created: u64,
37    pub model: String,
38    pub choices: Vec<RawCompletionChoice>,
39    pub usage: RawCompletionUsage,
40}
41
42#[derive(Debug, Deserialize, Serialize)]
43pub struct RawCompletionChoice {
44    pub text: String,
45    pub finish_reason: Option<String>,
46}
47
48#[derive(Debug, Serialize, Deserialize)]
49pub struct RawCompletionUsage {
50    pub prompt_tokens: u32,
51    pub completion_tokens: u32,
52    pub total_tokens: u32,
53}