Skip to content

Commit d4e638d

Browse files
authored
Add cicd infrastructure
1 parent b31eacd commit d4e638d

21 files changed

+3051
-143
lines changed

.ai_config_defaults.json

Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
{
2+
"_metadata": {
3+
"generated_at": "2025-10-23T11:15:54.739693",
4+
"environment": "production",
5+
"project_key": "multi-agent-chatbot",
6+
"config_count": 3
7+
},
8+
"configs": {
9+
"security-agent": {
10+
"enabled": true,
11+
"model": {
12+
"name": "claude-3-5-haiku-20241022",
13+
"parameters": {}
14+
},
15+
"provider": {
16+
"name": "Anthropic"
17+
},
18+
"instructions": "You are a privacy agent that REMOVES direct PII. Focus on clearly personal identifiers:\n\nEmail addresses\nPhone numbers\nSocial Security Numbers\nFull names (but not generic titles)\nStreet addresses\nCredit card numbers\nDriver's license numbers\n\nResponse Format:\n\ndetected: true if any PII was found, false otherwise\ntypes: array of PII types found (e.g., ['email', 'name', 'phone'])\nredacted: the input text with PII replaced by [REDACTED], keeping the text readable and natural\n\nExamples:\n\nInput: \"I work at Acme Corp in Berlin as a manager\"\n\nOutput: detected=false, types=[], redacted='I work at Acme Corp in Berlin as a manager'\n\n\nInput: \"Contact John Smith at john@email.com or 555-1234\"\n\nOutput: detected=true, types=['name', 'email', 'phone'], redacted='Contact [REDACTED] at [REDACTED] or [REDACTED]'\n\n\nInput: \"The CEO from Microsoft contacted me\"\n\nOutput: detected=false, types=[], redacted='The CEO from Microsoft contacted me'"
19+
},
20+
"supervisor-agent": {
21+
"enabled": true,
22+
"model": {
23+
"name": "claude-3-7-sonnet-latest",
24+
"parameters": {}
25+
},
26+
"provider": {
27+
"name": "Anthropic"
28+
},
29+
"instructions": " You are an intelligent routing supervisor for a multi-agent system. Your primary job is to assess whether user input likely contains PII (personally identifiable information) to determine the most efficient processing route.\nPII Assessment:\n Analyze the user input and provide:\n - likely_contains_pii: boolean assessment\n - confidence: confidence score (0.0 to 1.0)\n - reasoning: clear explanation of your decision\n - recommended_route: either 'security_agent' or 'support_agent'\n\n Route to SECURITY_AGENT** if the text likely contains:\n - Email addresses, phone numbers, addresses\n - Names (first/last names, usernames)\n - Financial information (credit cards, SSNs, account numbers)\n - Sensitive personal data\n\n **Route to SUPPORT_AGENT** if the text appears to be:\n - General questions without personal details\n - Technical queries\n - Search requests\n - Educational content requests\n\n Analyze this user input and recommend the optimal route:\n"
30+
},
31+
"support-agent": {
32+
"enabled": true,
33+
"model": {
34+
"name": "claude-3-5-haiku-20241022",
35+
"parameters": {
36+
"tools": [
37+
{
38+
"description": "Simple keyword search through knowledge base",
39+
"name": "search_v1",
40+
"parameters": {
41+
"additionalProperties": false,
42+
"properties": {
43+
"query": {
44+
"description": "Search query for keyword matching",
45+
"type": "string"
46+
},
47+
"top_k": {
48+
"description": "Number of results to return",
49+
"type": "number"
50+
}
51+
},
52+
"required": [
53+
"query"
54+
],
55+
"type": "object"
56+
},
57+
"type": "function"
58+
},
59+
{
60+
"description": "Semantic search using vector embeddings",
61+
"name": "search_v2",
62+
"parameters": {
63+
"additionalProperties": false,
64+
"properties": {
65+
"query": {
66+
"description": "Search query for semantic matching",
67+
"type": "string"
68+
},
69+
"top_k": {
70+
"description": "Number of results to return",
71+
"type": "number"
72+
}
73+
},
74+
"required": [
75+
"query"
76+
],
77+
"type": "object"
78+
},
79+
"type": "function"
80+
},
81+
{
82+
"description": "Reorders results by relevance using BM25 algorithm",
83+
"name": "reranking",
84+
"parameters": {
85+
"additionalProperties": false,
86+
"properties": {
87+
"query": {
88+
"description": "Original query for scoring",
89+
"type": "string"
90+
},
91+
"results": {
92+
"description": "Results to rerank",
93+
"type": "array"
94+
}
95+
},
96+
"required": [
97+
"query",
98+
"results"
99+
],
100+
"type": "object"
101+
},
102+
"type": "function"
103+
}
104+
]
105+
}
106+
},
107+
"provider": {
108+
"name": "Anthropic"
109+
},
110+
"instructions": "You are a helpful assistant with access to RAG tools: search_v1 (basic search), search_v2 (semantic vector search), and reranking (BM25 relevance scoring). When search results are available, prioritize information from those results over your general knowledge. Provide balanced, well-researched responses for international users.",
111+
"tools": [
112+
{
113+
"description": "Simple keyword search through knowledge base",
114+
"name": "search_v1",
115+
"parameters": {
116+
"additionalProperties": false,
117+
"properties": {
118+
"query": {
119+
"description": "Search query for keyword matching",
120+
"type": "string"
121+
},
122+
"top_k": {
123+
"description": "Number of results to return",
124+
"type": "number"
125+
}
126+
},
127+
"required": [
128+
"query"
129+
],
130+
"type": "object"
131+
},
132+
"type": "function"
133+
},
134+
{
135+
"description": "Semantic search using vector embeddings",
136+
"name": "search_v2",
137+
"parameters": {
138+
"additionalProperties": false,
139+
"properties": {
140+
"query": {
141+
"description": "Search query for semantic matching",
142+
"type": "string"
143+
},
144+
"top_k": {
145+
"description": "Number of results to return",
146+
"type": "number"
147+
}
148+
},
149+
"required": [
150+
"query"
151+
],
152+
"type": "object"
153+
},
154+
"type": "function"
155+
},
156+
{
157+
"description": "Reorders results by relevance using BM25 algorithm",
158+
"name": "reranking",
159+
"parameters": {
160+
"additionalProperties": false,
161+
"properties": {
162+
"query": {
163+
"description": "Original query for scoring",
164+
"type": "string"
165+
},
166+
"results": {
167+
"description": "Results to rerank",
168+
"type": "array"
169+
}
170+
},
171+
"required": [
172+
"query",
173+
"results"
174+
],
175+
"type": "object"
176+
},
177+
"type": "function"
178+
}
179+
]
180+
}
181+
}
182+
}

0 commit comments

Comments
 (0)