windmill_api/models/
ai_web_search_config.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct AiWebSearchConfig {
17 #[serde(rename = "provider")]
18 pub provider: Provider,
19 #[serde(rename = "resource_path")]
20 pub resource_path: String,
21}
22
23impl AiWebSearchConfig {
24 pub fn new(provider: Provider, resource_path: String) -> AiWebSearchConfig {
26 AiWebSearchConfig {
27 provider,
28 resource_path,
29 }
30 }
31}
32#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
34pub enum Provider {
35 #[serde(rename = "exa")]
36 Exa,
37 #[serde(rename = "tavily")]
38 Tavily,
39 #[serde(rename = "linkup")]
40 Linkup,
41 #[serde(rename = "deepseek")]
42 Deepseek,
43}
44
45impl Default for Provider {
46 fn default() -> Provider {
47 Self::Exa
48 }
49}
50