kernelx_core/capabilities/
mod.rs1mod 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}