talon_core/config/
search.rs1use serde::{Deserialize, Serialize};
4
5use super::defaults::{
6 default_candidate_limit, default_limit, default_rerank_batch_size, default_rerank_cache_size,
7 default_rerank_max_tokens, default_search_cache_size,
8};
9
10#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
12#[serde(deny_unknown_fields)]
13pub struct InspectConfig {
14 #[serde(default)]
18 pub ignore: Vec<String>,
19}
20
21#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
23#[serde(deny_unknown_fields)]
24pub struct SearchConfig {
25 #[serde(default = "default_candidate_limit")]
27 pub candidate_limit: u16,
28 #[serde(default = "default_limit")]
30 pub limit: u16,
31 #[serde(default = "default_search_cache_size")]
33 pub cache_size: usize,
34 #[serde(default = "default_rerank_cache_size")]
36 pub rerank_cache_size: usize,
37 #[serde(default = "default_rerank_batch_size")]
39 pub rerank_batch_size: usize,
40 #[serde(default = "default_rerank_max_tokens")]
42 pub rerank_max_tokens: u32,
43}
44
45impl Default for SearchConfig {
46 fn default() -> Self {
47 Self {
48 candidate_limit: default_candidate_limit(),
49 limit: default_limit(),
50 cache_size: default_search_cache_size(),
51 rerank_cache_size: default_rerank_cache_size(),
52 rerank_batch_size: default_rerank_batch_size(),
53 rerank_max_tokens: default_rerank_max_tokens(),
54 }
55 }
56}