Add API communication

This commit is contained in:
2024-12-27 02:27:22 -05:00
parent eb2a0d12c4
commit 809ab9a979
12 changed files with 247 additions and 52 deletions

View File

@ -0,0 +1,41 @@
use serde::{Deserialize, Serialize};
#[derive(Deserialize)]
pub struct RetrieveModelResponse {
pub id: String,
}
#[derive(Deserialize)]
pub struct ListModelsResponse {
pub data: Vec<RetrieveModelResponse>,
}
#[derive(Serialize, Deserialize)]
pub struct ChatCompletionMessage {
pub role: String,
pub content: String,
}
#[derive(Deserialize)]
pub struct ChatCompletionChoice {
pub message: ChatCompletionMessage,
}
#[derive(Deserialize)]
pub struct ChatCompletionUsage {
pub total_tokens: i32,
pub total_time: f32,
}
#[derive(Deserialize)]
pub struct ChatCompletionResponse {
pub model: String,
pub choices: Vec<ChatCompletionChoice>,
pub usage: ChatCompletionUsage,
}
#[derive(Serialize)]
pub struct ChatCompletionRequest {
pub model: String,
pub messages: Vec<ChatCompletionMessage>,
}