kernelx_core/capabilities/
mod.rs

1mod chat;
2mod complete;
3mod composite;
4mod embed;
5mod imagen;
6mod structured;
7mod tokenize;
8mod vision;
9
10pub use self::{
11    chat::{Chat, ChatMessage, Role},
12    complete::Complete,
13    composite::{StructuredLM, VisionLM, LLM},
14    embed::Embed,
15    imagen::ImageGen,
16    structured::Structured,
17    tokenize::Tokenize,
18    vision::Vision,
19};
20
21#[derive(Debug, Clone, PartialEq, Eq, Hash)]
22pub enum Capability {
23    Complete,
24    Chat,
25    Embed,
26    Structured,
27    Vision,
28    ImageGen,
29    Tokenize,
30}
31
32pub trait HasCapability: Send + Sync {
33    fn model_id(&self) -> &str;
34    fn config(&self) -> &crate::models::ModelConfig;
35}