refactor: LLM Typen und Traits nach nazarick-core verschoben, BaseAgent extrahiert

This commit is contained in:
Sithies
2026-03-16 22:06:30 +01:00
parent df29fdfa60
commit 30d63debd9
11 changed files with 127 additions and 66 deletions
+19
View File
@@ -0,0 +1,19 @@
// nazarick-core/src/llm/traits.rs
//
// LlmProvider Trait — gemeinsame Schnittstelle für alle LLM-Backends.
// Neue Provider (Ollama, Mistral) implementieren diesen Trait.
use crate::types::Result;
use crate::llm::types::{LlmRequest, LlmResponse};
/// Zentraler Trait für alle LLM-Provider.
/// Jeder Provider (LmStudio, Ollama, Mistral) implementiert diesen Trait.
#[async_trait::async_trait]
pub trait LlmProvider: Send + Sync {
/// Sendet eine Anfrage an das LLM und gibt die Antwort zurück.
async fn complete(&self, request: LlmRequest) -> Result<LlmResponse>;
/// Gibt den Namen des Providers zurück.
/// Wird für Logging und Usage-Tracking verwendet.
fn name(&self) -> &str;
}