1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4pub enum SearchType {
5 #[serde(rename = "GRAPH_COMPLETION")]
6 GraphCompletion,
7 #[serde(rename = "SUMMARIES")]
8 Summaries,
9 #[serde(rename = "INSIGHTS")]
10 Insights,
11 #[serde(rename = "CHUNKS")]
12 Chunks,
13}
14
15#[derive(Debug, Clone, Serialize, Deserialize, Default)]
16pub struct CognifyOptions {
17 #[serde(skip_serializing_if = "Option::is_none")]
18 pub datasets: Option<Vec<String>>,
19 #[serde(skip_serializing_if = "Option::is_none")]
20 pub custom_prompt: Option<String>,
21 #[serde(skip_serializing_if = "Option::is_none")]
22 pub run_in_background: Option<bool>,
23 #[serde(skip_serializing_if = "Option::is_none")]
24 pub chunks_per_batch: Option<u32>,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize, Default)]
28pub struct SearchOptions {
29 #[serde(skip_serializing_if = "Option::is_none")]
30 pub search_type: Option<SearchType>,
31 #[serde(skip_serializing_if = "Option::is_none")]
32 pub top_k: Option<u32>,
33 #[serde(skip_serializing_if = "Option::is_none")]
34 pub datasets: Option<Vec<String>>,
35}