kernelx_core/capabilities/complete.rs
1use crate::{capabilities::HasCapability, models::ModelConfig, Result};
2use async_trait::async_trait;
3
4#[async_trait]
5pub trait Complete: HasCapability {
6 async fn complete(&self, prompt: &str) -> Result<String> {
7 self.complete_impl(self.model_id(), prompt, self.config())
8 .await
9 }
10
11 #[doc(hidden)]
12 async fn complete_impl(
13 &self,
14 model: &str,
15 prompt: &str,
16 config: &ModelConfig,
17 ) -> Result<String>;
18}