predict_edits_v3.rs

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