robson_core/llm.rs
1use anyhow::Result;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct LlmMessage {
6 pub role: String,
7 pub content: String,
8}
9
10#[async_trait::async_trait]
11pub trait LlmProvider: Send + Sync {
12 async fn complete(&self, messages: Vec<LlmMessage>) -> Result<String>;
13}