omnivore_core/intelligence/
mod.rs

1pub mod embeddings;
2pub mod entity;
3pub mod relations;
4
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct IntelligenceConfig {
9    pub enable_entity_recognition: bool,
10    pub enable_relation_extraction: bool,
11    pub enable_embeddings: bool,
12    pub embedding_model: EmbeddingModel,
13}
14
15#[derive(Debug, Clone, Serialize, Deserialize)]
16#[serde(rename_all = "lowercase")]
17pub enum EmbeddingModel {
18    Local,
19    OpenAI,
20    Anthropic,
21}
22
23impl Default for IntelligenceConfig {
24    fn default() -> Self {
25        Self {
26            enable_entity_recognition: true,
27            enable_relation_extraction: true,
28            enable_embeddings: false,
29            embedding_model: EmbeddingModel::Local,
30        }
31    }
32}