Skip to main content

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}