vapi_client/models/
trieve_knowledge_base_search_plan.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct TrieveKnowledgeBaseSearchPlan {
16 #[serde(rename = "topK", skip_serializing_if = "Option::is_none")]
18 pub top_k: Option<f64>,
19 #[serde(rename = "removeStopWords", skip_serializing_if = "Option::is_none")]
21 pub remove_stop_words: Option<bool>,
22 #[serde(rename = "scoreThreshold", skip_serializing_if = "Option::is_none")]
24 pub score_threshold: Option<f64>,
25 #[serde(rename = "searchType")]
27 pub search_type: SearchTypeTrue,
28}
29
30impl TrieveKnowledgeBaseSearchPlan {
31 pub fn new(search_type: SearchTypeTrue) -> TrieveKnowledgeBaseSearchPlan {
32 TrieveKnowledgeBaseSearchPlan {
33 top_k: None,
34 remove_stop_words: None,
35 score_threshold: None,
36 search_type,
37 }
38 }
39}
40#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
42pub enum SearchTypeTrue {
43 #[serde(rename = "fulltext")]
44 Fulltext,
45 #[serde(rename = "semantic")]
46 Semantic,
47 #[serde(rename = "hybrid")]
48 Hybrid,
49 #[serde(rename = "bm25")]
50 Bm25,
51}
52
53impl Default for SearchTypeTrue {
54 fn default() -> SearchTypeTrue {
55 Self::Fulltext
56 }
57}