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}
15
16#[derive(Debug, Serialize, Deserialize)]
17pub struct PredictEditsV3Request {
18    #[serde(flatten)]
19    pub input: zeta_prompt::ZetaPromptInput,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub model: Option<String>,
22    #[serde(default)]
23    pub prompt_version: zeta_prompt::ZetaVersion,
24    #[serde(default)]
25    pub trigger: PredictEditsRequestTrigger,
26}
27
28#[derive(Debug, Deserialize, Serialize)]
29pub struct PredictEditsV3Response {
30    pub request_id: String,
31    pub output: String,
32}
33
34#[derive(Debug, Deserialize, Serialize)]
35pub struct RawCompletionResponse {
36    pub id: String,
37    pub object: String,
38    pub created: u64,
39    pub model: String,
40    pub choices: Vec<RawCompletionChoice>,
41    pub usage: RawCompletionUsage,
42}
43
44#[derive(Debug, Deserialize, Serialize)]
45pub struct RawCompletionChoice {
46    pub text: String,
47    pub finish_reason: Option<String>,
48}
49
50#[derive(Debug, Serialize, Deserialize)]
51pub struct RawCompletionUsage {
52    pub prompt_tokens: u32,
53    pub completion_tokens: u32,
54    pub total_tokens: u32,
55}