Eng-Musa commited on
Commit
88fd288
·
1 Parent(s): f78a46e

grok client setup

Browse files
.env ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # OPENAI_API_KEY=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
2
+ OPENROUTER_API_KEY=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
3
+ TEMPERATURE=0.8
4
+ MAX_TOKENS=2000
5
+ RETRIEVE_K=5
6
+ TOP_P=0.9
7
+ MAX_CONVERSATION_HISTORY = 5
8
+ MODEL=deepseek/deepseek-r1-0528-qwen3-8b:free
9
+ BASE_URL=https://openrouter.ai/api/v1
10
+ #openai/o4-mini-high openai/gpt-oss-20b:free meta-llama/llama-3.2-11b-vision-instruct:free
11
+ #deepseek/deepseek-r1-0528-qwen3-8b:free
12
+
13
+ #GROQ
14
+ GROQ_API_KEY=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
15
+ G_TEMPERATURE = 0.7
16
+ G_MAX_CONVERSATION_HISTORY = 5
17
+ G_MODEL = compound-beta-mini
18
+ G_MODEL1 = compound-beta
19
+ G_TOP_P = 0.7
20
+ G_MAX_TOKENS = 2000
21
+ G_RETRIEVE_K = 8
22
+ MMR = mmr
23
+ G_FETCH_K = 20
24
+ LAMBDA_MULT = 0.5
25
+
26
+
Dockerfile CHANGED
@@ -1,16 +1,27 @@
1
- # Read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
2
- # you will also find guides on how best to write your Dockerfile
3
 
4
- FROM python:3.9
 
5
 
6
- RUN useradd -m -u 1000 user
7
- USER user
8
- ENV PATH="/home/user/.local/bin:$PATH"
 
 
9
 
10
- WORKDIR /app
 
 
 
 
 
 
 
 
11
 
12
- COPY --chown=user ./requirements.txt requirements.txt
13
- RUN pip install --no-cache-dir --upgrade -r requirements.txt
14
 
15
- COPY --chown=user . /app
16
- CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
+ # 1. Use even smaller base image
2
+ FROM python:3.11-slim AS base
3
 
4
+ # 2. Set working directory
5
+ WORKDIR /app
6
 
7
+ # 3. Install only essential system dependencies
8
+ # --no-install-recommends avoids extra packages
9
+ RUN apt-get update && \
10
+ apt-get install -y --no-install-recommends gcc libpq-dev && \
11
+ rm -rf /var/lib/apt/lists/*
12
 
13
+ # 4. Copy requirements first for caching
14
+ COPY requirements.txt .
15
+
16
+ # 5. Upgrade pip & install Python deps with no cache
17
+ RUN python -m pip install --upgrade pip \
18
+ && pip install --no-cache-dir -r requirements.txt
19
+
20
+ # 6. Copy app code
21
+ COPY . .
22
 
23
+ # 7. Expose default FastAPI port (Uvicorn)
24
+ EXPOSE 8000
25
 
26
+ # 8. Run Uvicorn directly (better than python main.py)
27
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "1"]
__pycache__/main.cpython-312.pyc ADDED
Binary file (1.77 kB). View file
 
__pycache__/optimized_quiz.cpython-312.pyc ADDED
Binary file (4.67 kB). View file
 
clients/__pycache__/groq_client.cpython-312.pyc ADDED
Binary file (11.5 kB). View file
 
clients/groq_client.py ADDED
@@ -0,0 +1,341 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # clients/groq_client.py
2
+
3
+ import os
4
+ import json
5
+ from uuid import uuid4
6
+ from groq import Groq
7
+ from langchain_core.documents import Document
8
+ from langchain_huggingface import HuggingFaceEmbeddings
9
+ from langchain_chroma import Chroma
10
+ from dotenv import load_dotenv
11
+ import random
12
+ import shutil
13
+ from optimized_quiz import OPTIMIZED_QUESTIONS
14
+
15
+ load_dotenv() # load .env variables from root
16
+
17
+ # Config
18
+ GROQ_API_KEY = os.getenv("GROQ_API_KEY")
19
+ DATA_PATH = "data.json" # relative to root, so this works if run from root
20
+ CHROMA_PATH = "chroma_db"
21
+
22
+ TEMPERATURE = float(os.getenv("G_TEMPERATURE", 0.7))
23
+ MAX_TOKENS = int(os.getenv("G_MAX_TOKENS", 400))
24
+ RETRIEVE_K = int(os.getenv("G_RETRIEVE_K", 3))
25
+ TOP_P = float(os.getenv("G_TOP_P", 1.0))
26
+ MAX_CONVERSATION_HISTORY = int(os.getenv("G_MAX_CONVERSATION_HISTORY", 5))
27
+ MMR = str(os.getenv("MMR", "mmr"))
28
+ G_FETCH_K = int(os.getenv("G_FETCH_K", 20))
29
+ LAMBDA_MULT = float(os.getenv("LAMBDA_MULT", 0.5))
30
+ # Read environment variables with defaults
31
+ model_1 = os.getenv("G_MODEL", "compound-beta")
32
+ model_2 = os.getenv("G_MODEL1", "compound-beta-mini")
33
+
34
+
35
+ class GroqClient:
36
+ def __init__(self):
37
+ self.conversation_history = []
38
+
39
+ self.documents = self.load_json_data(DATA_PATH)
40
+ if not self.documents:
41
+ raise RuntimeError("No data loaded")
42
+
43
+ self.vector_store = self.init_vector_store(self.documents)
44
+ # self.retriever = self.vector_store.as_retriever(
45
+ # search_type="similarity", search_kwargs={"k": RETRIEVE_K}
46
+ # )
47
+
48
+ self.retriever = self.vector_store.as_retriever(
49
+ search_type=MMR, # Use Maximal Marginal Relevance
50
+ search_kwargs={
51
+ "k": RETRIEVE_K, # Final number of docs to return
52
+ "fetch_k": G_FETCH_K, # Number of docs to initially fetch before filtering for diversity
53
+ "lambda_mult": LAMBDA_MULT, # Balance between relevance (1.0) and diversity (0.0)
54
+ },
55
+ )
56
+
57
+ if not GROQ_API_KEY:
58
+ raise RuntimeError("GROQ_API_KEY not found in environment")
59
+
60
+ self.client = Groq(api_key=GROQ_API_KEY)
61
+
62
+ self.SYSTEM_MESSSAGE = (
63
+ "You are Moses's AI assistant, helpful, knowledgeable, professional, and friendly. "
64
+ "Use only the provided knowledge to answer questions about Moses's background, skills, projects, and experiences. "
65
+ "If knowledge is limited, give the most relevant answer possible without making things up. "
66
+ "Avoid repetitive openings such as 'I'm happy to...' or 'Sure, I'd be glad to...'. "
67
+ "Begin responses naturally, varying the first sentence. "
68
+ "Use first person when speaking as Moses. "
69
+ "Use third person when the question explicitly asks about Moses."
70
+ )
71
+
72
+ self.PROMPT_TEMPLATE = """
73
+ Use the following context to answer the question about Moses clearly and in detail.
74
+
75
+ Instructions:
76
+ - Avoid starting every response the same way; vary or skip the introduction unless it adds value.
77
+ - Keep answers concise and to the point.
78
+ - Use bullet points for lists.
79
+ - If the question is vague, ask for clarification.
80
+ - If the answer is short but the context allows, expand with relevant details.
81
+ - If unrelated or unanswerable from context, say:
82
+ "{fallback_response}"
83
+ - Give a short follow-up only when it is truly relevant.
84
+
85
+ Context:
86
+ {context}
87
+
88
+ Question:
89
+ {question}
90
+
91
+ Answer:
92
+ """
93
+
94
+ self.GREETINGS_TRIGGERS = {
95
+ "hi",
96
+ "hello",
97
+ "hey",
98
+ "greetings",
99
+ "good morning",
100
+ "good afternoon",
101
+ "good evening",
102
+ "hi?",
103
+ "hello?",
104
+ "hey?",
105
+ "greetings?",
106
+ "good morning?",
107
+ "good afternoon?",
108
+ "good evening?",
109
+ }
110
+
111
+ self.GREETINGS = [
112
+ "Hi there! I'm Moses's brainy sidekick. Feel free to ask about his work, skills, projects, or even a bit about his personal life!",
113
+ "Hey! I'm here to help you discover Moses's skills, projects, and professional journey.",
114
+ "Hello! I can answer questions about Moses's work, experience, and what he's been up to. What would you like to know?",
115
+ "Hi! 👋 I'm like Siri, but for Moses 😄 Wanna know what he's good at or what he's been working on? Let's chat! 💬🔍",
116
+ "Greetings, human! 👽 I'm Moses's digital buddy. Ask me anything—skills, projects, secret talents... okay, maybe not too secret 🤫🚀",
117
+ "Sup! 😎 I'm the all-knowing assistant of Moses. Got questions about his work, skills, projects, or even fun facts about him? Ask about what he does, what he's built, or what makes him awesome.",
118
+ ]
119
+
120
+ self.FALLBACK_RESPONSES = [
121
+ "Hmm, I don't have enough info to answer that right now. But feel free to ask about Moses's skills, projects, or professional experience!",
122
+ "That one's a bit outside my data zone! 😅 Try asking about Moses's work, what he's good at, or cool stuff he's built.",
123
+ "Oops! That question flew over my circuits 🤖💨. But hey, I can tell you all about Moses's projects, skills, or career highlights!",
124
+ "I couldn't find anything on that—yet! Let's try something else like Moses's background, his latest work, or what he's great at.",
125
+ "Either I need a software upgrade or that question's too mysterious 😜. Ask me about Moses's projects, skills, or even a fun fact!",
126
+ ]
127
+
128
+ self.BLACKLIST = [
129
+ # SQL Injection keywords
130
+ "SELECT",
131
+ "DROP",
132
+ "INSERT",
133
+ "UPDATE",
134
+ "DELETE",
135
+ "ALTER",
136
+ "TRUNCATE",
137
+ "REPLACE",
138
+ "EXEC",
139
+ "EXECUTE",
140
+ "UNION",
141
+ "ALL",
142
+ "CREATE",
143
+ "GRANT",
144
+ "REVOKE",
145
+ "MERGE",
146
+ "--",
147
+ ";",
148
+ "/*",
149
+ "*/",
150
+ "@@",
151
+ "@",
152
+ "CHAR(",
153
+ "NCHAR(",
154
+ "VARCHAR(",
155
+ "NVARCHAR(",
156
+ # XSS payload markers
157
+ "<script>",
158
+ "</script>",
159
+ "<img",
160
+ "onerror=",
161
+ "onload=",
162
+ "onclick=",
163
+ "onmouseover=",
164
+ "javascript:",
165
+ "vbscript:",
166
+ "data:text/html",
167
+ "<iframe",
168
+ "</iframe>",
169
+ "<object",
170
+ "<embed",
171
+ # Command injection patterns
172
+ "|",
173
+ "&",
174
+ "&&",
175
+ "||",
176
+ "$(",
177
+ "`",
178
+ "$(whoami)",
179
+ "$(ls)",
180
+ "$(cat",
181
+ "$(echo",
182
+ # Path traversal
183
+ "../",
184
+ "..\\",
185
+ "%2e%2e/",
186
+ "%2e%2e\\",
187
+ "%2e%2e%2f",
188
+ "%2e%2e%5c",
189
+ # Other suspicious patterns
190
+ "sleep(",
191
+ "benchmark(",
192
+ "load_file(",
193
+ "outfile",
194
+ "dumpfile",
195
+ ]
196
+
197
+ def load_json_data(self, path):
198
+ try:
199
+ with open(path, "r", encoding="utf-8") as f:
200
+ data = json.load(f)
201
+
202
+ documents = []
203
+
204
+ if "qa" in data:
205
+ for item in data["qa"]:
206
+ text = f"Q: {item['question']}\nA: {item['answer']}"
207
+ documents.append(
208
+ Document(
209
+ page_content=text,
210
+ metadata={
211
+ "id": item.get("id", str(uuid4())),
212
+ "category": item.get("category", "QA"),
213
+ },
214
+ )
215
+ )
216
+
217
+ if "chunks" in data:
218
+ for item in data["chunks"]:
219
+ documents.append(
220
+ Document(
221
+ page_content=item["chunk"],
222
+ metadata={
223
+ "id": item.get("id", str(uuid4())),
224
+ "category": "Chunk",
225
+ },
226
+ )
227
+ )
228
+
229
+ return documents
230
+
231
+ except Exception as e:
232
+ print(f"Error loading JSON data: {e}")
233
+ return []
234
+
235
+ def init_vector_store(self, documents):
236
+ embeddings_model = HuggingFaceEmbeddings(
237
+ model_name="sentence-transformers/all-MiniLM-L6-v2"
238
+ )
239
+
240
+ # Clear old data to avoid duplicates
241
+ if os.path.exists(CHROMA_PATH):
242
+ shutil.rmtree(CHROMA_PATH)
243
+
244
+ uuids = [str(uuid4()) for _ in documents]
245
+
246
+ vector_store = Chroma(
247
+ collection_name="user_data",
248
+ embedding_function=embeddings_model,
249
+ persist_directory=CHROMA_PATH,
250
+ )
251
+
252
+ vector_store.add_documents(documents=documents, ids=uuids)
253
+ return vector_store
254
+
255
+ # def sanitize_input(self, user_input):
256
+ # cleaned = re.sub(r"[\x00-\x1f\x7f]", "", user_input)
257
+ # if len(cleaned) > 200:
258
+ # cleaned = cleaned[:200]
259
+
260
+ # for bad in self.BLACKLIST:
261
+ # if bad.lower() in cleaned.lower():
262
+ # return None
263
+ # return cleaned.strip()
264
+
265
+ # def correct_spelling(self, text):
266
+ # corrected = TextBlob(text).correct()
267
+ # return str(corrected)
268
+
269
+ def handle_unknown_query(self):
270
+ return random.choice(self.FALLBACK_RESPONSES)
271
+
272
+ def get_next_questions(self):
273
+ return random.sample(OPTIMIZED_QUESTIONS, 5)
274
+
275
+ def get_model(self):
276
+ return random.choice([model_1, model_2])
277
+
278
+ # ---------------MAIN-----------------
279
+
280
+ def ask(self, raw_query: str) -> str:
281
+ # q_corrected = self.correct_spelling(raw_query)
282
+ # q = self.sanitize_input(q_corrected)
283
+
284
+ q = raw_query
285
+ if q is None or q == "":
286
+ return random.choice(self.FALLBACK_RESPONSES)
287
+
288
+ if q.lower() in self.GREETINGS_TRIGGERS:
289
+ return random.choice(self.GREETINGS)
290
+
291
+ self.conversation_history.append({"role": "user", "content": q})
292
+
293
+ if len(self.conversation_history) > MAX_CONVERSATION_HISTORY:
294
+ self.conversation_history = self.conversation_history[
295
+ -MAX_CONVERSATION_HISTORY:
296
+ ]
297
+
298
+ docs = self.retriever.invoke(q)
299
+ # print("Retrieved docs:", docs)
300
+
301
+ if not docs:
302
+ return random.choice(self.FALLBACK_RESPONSES)
303
+
304
+ context = "\n".join([d.page_content for d in docs])
305
+ # print("Context string:\n", context)
306
+
307
+ fallback = self.handle_unknown_query()
308
+ prompt = self.PROMPT_TEMPLATE.format(
309
+ context=context, question=q, fallback_response=fallback
310
+ )
311
+
312
+ messages = (
313
+ [
314
+ {
315
+ "role": "system",
316
+ "content": self.SYSTEM_MESSSAGE,
317
+ },
318
+ ]
319
+ + self.conversation_history
320
+ + [
321
+ {"role": "user", "content": prompt},
322
+ ]
323
+ )
324
+
325
+ try:
326
+ completion = self.client.chat.completions.create(
327
+ model=self.get_model(),
328
+ messages=messages,
329
+ temperature=TEMPERATURE,
330
+ max_completion_tokens=MAX_TOKENS,
331
+ top_p=TOP_P,
332
+ stream=False,
333
+ )
334
+ response = completion.choices[0].message.content
335
+ if response and response.strip():
336
+ return response.strip()
337
+ else:
338
+ return "Sorry, I didn't quite get that. Could you please rephrase your question?"
339
+
340
+ except Exception as e:
341
+ return f"Error while calling LLM or retrieving docs: {e}"
data.json ADDED
@@ -0,0 +1,691 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "qa": [
3
+ {
4
+ "category": "Education",
5
+ "question": "What is your Bachelor's degree and academic background?",
6
+ "answer": "I hold a Bachelor of Science degree in Electrical and Electronics Engineering from Machakos University (2017 - 2023), awarded Second Class Honors (Upper Division). My focus was on electrical systems, complex math and electronic circuit design. I specialized in control systems and embedded programming, and completed projects in IoT applications."
7
+ },
8
+ {
9
+ "category": "Education",
10
+ "question": "Do you have any technical certifications?",
11
+ "answer": "Yes, I earned a Certificate in Computer Support and Maintenance from Kisii National Polytechnic (March 2017 - August 2017) with Credit achievement. The training covered hardware troubleshooting and maintenance, network configuration and management, as well as software installation and support."
12
+ },
13
+ {
14
+ "category": "Education",
15
+ "question": "What secondary education qualifications do you have?",
16
+ "answer": "I completed my Kenya Certificate of Secondary School Education at Cardinal Otunga High School (2013 - 2017). During this period, I had a strong focus on mathematics and sciences and participated actively in the science club and technology projects. Advanced to the national level in the Engineering Fair under the Department of Energy and Transport with a project focused on automating the detection of overweight vehicles at weighbridges."
17
+ },
18
+ {
19
+ "category": "Education",
20
+ "question": "What is your primary school education background?",
21
+ "answer": "I attended Getenga PAG Primary School from 2009 to 2015. Prior to that, I studied at Nyamoronga D.O.K until 2009."
22
+ },
23
+
24
+ {
25
+ "category": "Continuous Learning",
26
+ "question": "What topics are you currently learning or interested in?",
27
+ "answer": "AI & ML: Python, TensorFlow."
28
+ },
29
+ {
30
+ "category": "Continuous Learning",
31
+ "question": "What topics are you currently learning or interested in?",
32
+ "answer": "Full-Stack Development: Spring Boot, Angular, .NET."
33
+ },
34
+ {
35
+ "category": "Continuous Learning",
36
+ "question": "What topics are you currently learning or interested in?",
37
+ "answer": "Database Management: PostgreSQL, MongoDB optimization."
38
+ },
39
+ {
40
+ "category": "Continuous Learning",
41
+ "question": "What topics are you currently learning or interested in?",
42
+ "answer": "DevOps Practices: Docker, CI/CD, Cloud Services."
43
+ },
44
+ {
45
+ "category": "Personal Information",
46
+ "question": "What is your full name?",
47
+ "answer": "Moses Mangabo."
48
+ },
49
+
50
+ {
51
+ "category": "Certification",
52
+ "question": "What is the Generative AI Professional certification?",
53
+ "answer": "Generative AI Professional from Oracle University, awarded in August 2025. Proficient in LLMs, OCI Generative AI, RAG, and AI agent deployment. Skills include Large Language Models (LLMs), Prompt Engineering, Model Fine-tuning, LangChain Integration, and more."
54
+ },
55
+ {
56
+ "category": "Certification",
57
+ "question": "What is the Certified AI Foundations certification?",
58
+ "answer": "Certified AI Foundations from Oracle University, awarded in July 2025. Focused on foundational AI and ML skills with hands-on experience using Oracle Cloud. Skills include AI, ML, Deep Learning, Generative AI, CNNs, RNNs, and LSTMs."
59
+ },
60
+ {
61
+ "category": "Certification",
62
+ "question": "What is the Deep Learning certification?",
63
+ "answer": "Deep Learning certification from Simplilearn, awarded in June 2025. Covers deep learning fundamentals, CNN, RNN, and deep learning applications. Skills include TensorFlow, Python, and Neural Networks."
64
+ },
65
+ {
66
+ "category": "Certification",
67
+ "question": "What is the ML and AI certification?",
68
+ "answer": "ML and AI certification from AWS, awarded in June 2025. Covers fundamentals of Machine Learning and Artificial Intelligence. Skills include AI, ML, Deep Learning, and Generative AI."
69
+ },
70
+ {
71
+ "category": "Certification",
72
+ "question": "What is the Hackathon certification?",
73
+ "answer": "Hackathon certificate from Equity Bank, awarded in April 2023. Focused on AI-driven solutions for streamlined healthcare operations. Skills include Python, HTML, CSS, JavaScript, Bootstrap, and AI."
74
+ },
75
+ {
76
+ "category": "Certification",
77
+ "question": "What is the Banking and Credit certification?",
78
+ "answer": "Banking and Credit certification from Moody's, awarded in April 2025. Covers foundations of banking and credit. Skills include Banking Operations and Credit Analysis."
79
+ },
80
+ {
81
+ "category": "Certification",
82
+ "question": "What is the Angular (basic) certification?",
83
+ "answer": "Angular (basic) certification from HackerRank, awarded in September 2024. Passed the HackerRank skill certification test. Skills include JavaScript and TypeScript."
84
+ },
85
+ {
86
+ "category": "Certification",
87
+ "question": "What is the SQL Basics certification?",
88
+ "answer": "SQL Basics certification from HackerRank, awarded in September 2024. Passed the HackerRank skill certification test. Skills include SQL."
89
+ },
90
+ {
91
+ "category": "Certification",
92
+ "question": "What is the JavaScript certification?",
93
+ "answer": "JavaScript certification from LinkedIn, awarded in September 2024. Covers from basic syntax to advanced technical concepts. Skills include JavaScript."
94
+ },
95
+ {
96
+ "category": "Certification",
97
+ "question": "What is the Java Algorithms certification?",
98
+ "answer": "Java Algorithms certification from LinkedIn, awarded in June 2024. Focuses on enhancing Java programming by mastering efficient algorithm design. Skills include Java and Algorithms."
99
+ },
100
+ {
101
+ "category": "Certification",
102
+ "question": "What is the Learning Angular certification?",
103
+ "answer": "Learning Angular certification from LinkedIn, awarded in June 2024. Comprehensive introduction to Angular covering its key features. Skills include Angular."
104
+ },
105
+ {
106
+ "category": "Certification",
107
+ "question": "What is the Learning TypeScript certification?",
108
+ "answer": "Learning TypeScript certification from LinkedIn, awarded in June 2024. Covers TypeScript fundamentals for improved JavaScript efficiency and error prevention. Skills include TypeScript."
109
+ },
110
+ {
111
+ "category": "Certification",
112
+ "question": "What is the Memory Management certification?",
113
+ "answer": "Memory Management certification from LinkedIn, awarded in May 2024. Covers Java memory management including garbage collection, JVM tuning, and spotting memory leaks. Skills include Java and Memory Management."
114
+ },
115
+ {
116
+ "category": "Certification",
117
+ "question": "What is the Spring Boot certification?",
118
+ "answer": "Spring Boot certification from LinkedIn, awarded in May 2024. Focused on mastering Spring Boot for efficient enterprise Java application development. Skills include Spring Boot and Spring Framework."
119
+ },
120
+ {
121
+ "category": "Certification",
122
+ "question": "What is the Learning JDBC certification?",
123
+ "answer": "Learning JDBC certification from LinkedIn, awarded in May 2024. Covers Java Database Connectivity (JDBC) for relational database integration. Skills include Java."
124
+ },
125
+ {
126
+ "category": "Certification",
127
+ "question": "What is the Java Collections certification?",
128
+ "answer": "Java Collections certification from LinkedIn, awarded in May 2024. Focuses on mastering Java Collections framework for efficient data structure management. Skills include Java and Java Frameworks."
129
+ },
130
+ {
131
+ "category": "Certification",
132
+ "question": "What is the Objects and APIs certification?",
133
+ "answer": "Objects and APIs certification from LinkedIn, awarded in May 2024. Covers Java 17 fundamentals including objects, APIs, inheritance, and error handling. Skills include Java."
134
+ },
135
+ {
136
+ "category": "Certification",
137
+ "question": "What is the Exception Handling certification?",
138
+ "answer": "Exception Handling certification from LinkedIn, awarded in May 2024. Focuses on exception handling in Spring Boot applications for robust error management. Skills include Java and Exception Handling."
139
+ },
140
+ {
141
+ "category": "Certifications",
142
+ "question": "What certifications do you hold?",
143
+ "answer": "Generative AI Professional by Oracle University (August 2025). Proficient in LLMs, OCI Generative AI, RAG, and AI agent deployment. Skills include Large Language Models (LLMs), Prompt Engineering, LLM Architectures, Model Fine-tuning, Generative AI, OCI Generative AI Service, OCI AI Clusters, Model Inference, Model Endpoints, AI Security Architecture, LangChain Integration, Oracle Database 23ai, Retrieval-Augmented Generation (RAG), Document Loading and Chunking, Embeddings Creation, Vector Indexing, Similarity Search, RAG Workflow Design, AI Agents Development, Knowledge Base Creation, and Chatbot Deployment."
144
+ },
145
+ {
146
+ "category": "Certifications",
147
+ "question": "What certifications do you hold?",
148
+ "answer": "Certified AI Foundations by Oracle University (July 2025). Foundational AI and ML skills with hands-on experience using Oracle Cloud. Skills include AI, ML, Deep Learning, Generative AI, LLMs, CNNs, RNNs, LSTMs, and Vector Database."
149
+ },
150
+ {
151
+ "category": "Certifications",
152
+ "question": "What certifications do you hold?",
153
+ "answer": "Deep Learning by Simplilearn (June 2025). Covers deep learning fundamentals, CNN, RNN, and Deep Learning applications. Skills include TensorFlow, Python, and Neural Networks."
154
+ },
155
+ {
156
+ "category": "Certifications",
157
+ "question": "What certifications do you hold?",
158
+ "answer": "ML and AI by AWS (June 2025). Fundamentals of Machine Learning and Artificial Intelligence. Skills include AI, ML, Deep Learning, and Generative AI."
159
+ },
160
+ {
161
+ "category": "Certifications",
162
+ "question": "What certifications do you hold?",
163
+ "answer": "Hackathon by Equity Bank (April 2023). AI-driven solutions for streamlined healthcare operations. Skills include Python, HTML, CSS, JavaScript, Bootstrap, and AI."
164
+ },
165
+ {
166
+ "category": "Certifications",
167
+ "question": "What certifications do you hold?",
168
+ "answer": "Banking and Credit by Moody's (April 2025). Foundations of Banking and Credit. Skills include Banking Operations and Credit Analysis."
169
+ },
170
+ {
171
+ "category": "Certifications",
172
+ "question": "What certifications do you hold?",
173
+ "answer": "Angular (Basic) by Hackerank (September 2024). Passed the Hackerank skill certification test. Skills include JavaScript and TypeScript."
174
+ },
175
+ {
176
+ "category": "Certifications",
177
+ "question": "What certifications do you hold?",
178
+ "answer": "SQL Basics by Hackerank (September 2024). Passed the Hackerank skill certification test. Skills include SQL."
179
+ },
180
+ {
181
+ "category": "Certifications",
182
+ "question": "What certifications do you hold?",
183
+ "answer": "JavaScript by LinkedIn (September 2024). Covers basic syntax to advanced technical concepts. Skills include JavaScript."
184
+ },
185
+ {
186
+ "category": "Certifications",
187
+ "question": "What certifications do you hold?",
188
+ "answer": "Java Algorithms by LinkedIn (June 2024). Enhancing Java programming by mastering efficient algorithm design. Skills include Java and Algorithms."
189
+ },
190
+ {
191
+ "category": "Certifications",
192
+ "question": "What certifications do you hold?",
193
+ "answer": "Learning Angular by LinkedIn (June 2024). Comprehensive introduction to Angular, covering its key features. Skills include Angular."
194
+ },
195
+ {
196
+ "category": "Certifications",
197
+ "question": "What certifications do you hold?",
198
+ "answer": "Learning TypeScript by LinkedIn (June 2024). TypeScript fundamentals for improved JavaScript efficiency and error prevention. Skills include TypeScript."
199
+ },
200
+ {
201
+ "category": "Certifications",
202
+ "question": "What certifications do you hold?",
203
+ "answer": "Memory Management by LinkedIn (May 2024). Java Memory Management: Garbage Collection, JVM Tuning, and Spotting Memory Leaks. Skills include Java and Memory Management."
204
+ },
205
+ {
206
+ "category": "Certifications",
207
+ "question": "What certifications do you hold?",
208
+ "answer": "Spring Boot by LinkedIn (May 2024). Master Spring Boot for efficient enterprise Java application development. Skills include Spring Boot and Spring Framework."
209
+ },
210
+ {
211
+ "category": "Certifications",
212
+ "question": "What certifications do you hold?",
213
+ "answer": "Learning JDBC by LinkedIn (May 2024). Master Java Database Connectivity (JDBC) for efficient relational database integration in Java applications. Skills include Java."
214
+ },
215
+ {
216
+ "category": "Certifications",
217
+ "question": "What certifications do you hold?",
218
+ "answer": "Java Collections by LinkedIn (May 2024). Master Java Collections framework for efficient data structure management and operations in Java applications. Skills include Java and Java Frameworks."
219
+ },
220
+ {
221
+ "category": "Certifications",
222
+ "question": "What certifications do you hold?",
223
+ "answer": "Objects and APIs by LinkedIn (May 2024). Master Java 17 fundamentals, including objects, APIs, inheritance, and efficient error handling for modern application development. Skills include Java."
224
+ },
225
+ {
226
+ "category": "Certifications",
227
+ "question": "What certifications do you hold?",
228
+ "answer": "Exception Handling by LinkedIn (May 2024). Master exception handling in Spring Boot applications, ensuring robust error management and application stability. Skills include Java and Exception Handling."
229
+ },
230
+ {
231
+ "category": "Experience",
232
+ "question": "What is your current role and responsibilities at Equity Bank?",
233
+ "answer": "I work as a Software Developer at Equity Bank (Feb 2025 - Present). I collaborate with developers, designers, QA, DevOps, and product managers to build modern, scalable banking platforms and digital experiences. I focus on improving user experience across six countries, contributing to accessibility, localization, backend API improvements, and support. Continuous learning and teamwork are key aspects of my role."
234
+ },
235
+ {
236
+ "category": "Experience",
237
+ "question": "What was your role and key projects during your internship at E&M Technology?",
238
+ "answer": "I was a Software Developer Intern at E&M Technology (Jan 2024 - Feb 2025), working with a diverse team to develop localized solutions for Kenya with potential scalability in Africa. Key projects included an Energy Management System (EMS) for power monitoring and management, an e-bike rental system for Tatu City residents, and a SayonApps initiative for electronics sales. I participated in site visits and client training."
239
+ },
240
+ {
241
+ "category": "Experience",
242
+ "question": "What experiences did you gain as a Hackathon participant and Digital Banking Trainer at Equity Bank?",
243
+ "answer": "As a finalist at the Equity Hackathon (Jul 2021 - Oct 2022), I helped design an AI-powered consultation feature to streamline Equity Afya clinic operations. I served as Vice President and President of Machakos ELC, led community initiatives, mentored Wings to Fly scholars, and supported Equity Bank digitization efforts at various branches. I also engaged in environmental activities like tree planting and market clean-ups."
244
+ },
245
+ {
246
+ "category": "Experience",
247
+ "question": "What were your responsibilities during your Industrial Attachment at Machakos County?",
248
+ "answer": "During my Industrial Attachment at Machakos County (Jan 2021 - Apr 2021), I designed electronic control systems for solar-powered street lighting and assisted in maintaining network infrastructure. I optimized hardware and software use and supported flood lighting systems by troubleshooting across various locations."
249
+ },
250
+ {
251
+ "category": "Experience",
252
+ "question": "What is your current role?",
253
+ "answer": "Software Developer at Equity Bank (Feb 2025 - Present). I work closely with a team of developers, designers, QA, DevOps, and product managers to help build modern and scalable banking platforms and digital experiences. I support efforts to improve user experience, making sure customers across the six countries feel right at home using our system. I contribute to accessibility and localization tasks, improve backend APIs, and offer support to make sure everything runs smoothly. My focus is on continuous learning, teamwork, and building features that truly make banking easier for users. Technologies: Angular, .NET, SCSS, Jest, JavaScript, TypeScript."
254
+ },
255
+ {
256
+ "category": "Experience",
257
+ "question": "What past roles have you held?",
258
+ "answer": "Software Developer Intern at E&M Technology (Jan 2024 - Feb 2025). With my background in Engineering, a diverse team and I were assigned to develop localized solutions aimed at making life easier for Kenyans, with the potential to scale across Africa. I worked on an Energy Management System (EMS) that optimized how we monitor and manage power usage. I also contributed to the development of an e-bike rental system designed for residents of Tatu City, and a SayonApps initiative that encouraged customers to purchase electronics and cookers. The EMS was pilot-tested at Ruaraka Apartments to demonstrate proof of concept, while the e-bike system was tested within Tatu City. I actively participated in site visits and client training sessions to support implementation and gather user feedback. Technologies: Spring Boot, Angular, MongoDB, PostgreSQL, DLMS/COSEM, STS Compliance, GPS, JWT, USSD, Daraja API, JUnit, Jasmine, Git."
259
+ },
260
+ {
261
+ "category": "Experience",
262
+ "question": "What past roles have you held?",
263
+ "answer": "Hackathon & Digital Banking Trainer at Equity Bank (Jul 2021 - Oct 2022). As a finalist at the Equity Hackathon, I helped design an AI-powered consultation feature that aimed to streamline operations in Equity Afya clinics. This experience deepened my understanding of practical innovation and its real-world impact on healthcare delivery. Beyond the competition, I served as both Vice President and later President of the Machakos ELC, where I helped lead community-focused initiatives. I also participated in mentoring Wings to Fly scholars and supported digitization efforts by Equity Bank at the Voi, Machakos, and Tala branches. Additionally, I took part in environmental activities, including tree planting and market clean-up efforts in Machakos town. Technologies: Leadership, Environmental Stewardship, Python, HTML, CSS, JavaScript, Bootstrap, AI, Microsoft Office Suite."
264
+ },
265
+ {
266
+ "category": "Experience",
267
+ "question": "What past roles have you held?",
268
+ "answer": "Industrial Attachment at Machakos County (Jan 2021 - Apr 2021). During my industrial attachment, I designed electronic control systems for solar-powered street lighting and assisted in maintaining network infrastructure. I also helped optimize hardware and software usage, improving overall system efficiency. As part of my role, I visited various locations across Machakos County to troubleshoot and support flood lighting systems. Technologies: AutoCAD, PowerWorld Simulator, MATLAB, Wiring, Circuit Analysis."
269
+ },
270
+
271
+ {
272
+ "category": "Technical Skills",
273
+ "question": "What programming languages are you proficient in?",
274
+ "answer": "Java (Expert), JavaScript (Advanced), TypeScript (Advanced), Micropython (Proficient), Python (Beginner)."
275
+ },
276
+ {
277
+ "category": "Technical Skills",
278
+ "question": "What frameworks do you use?",
279
+ "answer": "Spring Boot (Advanced), Angular (Advanced), TensorFlow (Novice)."
280
+ },
281
+ {
282
+ "category": "Technical Skills",
283
+ "question": "What databases are you familiar with?",
284
+ "answer": "PostgreSQL (Advanced), MongoDB (Advanced)."
285
+ },
286
+ {
287
+ "category": "Technical Skills",
288
+ "question": "What DevOps tools do you use?",
289
+ "answer": "Docker (Above Average)."
290
+ },
291
+ {
292
+ "category": "Technical Skills",
293
+ "question": "What testing tools do you use?",
294
+ "answer": "JUnit (Advanced), Jasmine (Proficient), Jest (Intermediate)."
295
+ },
296
+ {
297
+ "category": "Technical Skills",
298
+ "question": "What operating systems are you comfortable with?",
299
+ "answer": "Linux (Above Average), Windows (Expert)."
300
+ },
301
+ {
302
+ "category": "Soft Skills",
303
+ "question": "What soft skills do you possess?",
304
+ "answer": "Problem Solving (Exceptional), Organizational (Expert), Team Collaboration (Expert), Client Training (Advanced), Technical Documentation (Advanced)."
305
+ },
306
+ {
307
+ "category": "Tech Stack",
308
+ "question": "What is your frontend tech stack?",
309
+ "answer": "TypeScript, JavaScript, Angular, HTML/CSS/SCSS."
310
+ },
311
+ {
312
+ "category": "Tech Stack",
313
+ "question": "What is your backend tech stack?",
314
+ "answer": "Java, Spring Boot."
315
+ },
316
+ {
317
+ "category": "Tech Stack",
318
+ "question": "What is your AI/ML tech stack?",
319
+ "answer": "Python, TensorFlow."
320
+ },
321
+ {
322
+ "category": "Tech Stack",
323
+ "question": "What databases do you work with?",
324
+ "answer": "PostgreSQL, MongoDB."
325
+ },
326
+ {
327
+ "category": "Tech Stack",
328
+ "question": "What DevOps and tools do you use?",
329
+ "answer": "Docker, Git/GitHub, Linux, Windows, Kicad, Matlab, Tinkercad, MS Office."
330
+ },
331
+ {
332
+ "category": "Technical Skills",
333
+ "question": "What programming languages are you proficient in and at what level?",
334
+ "answer": "I am proficient in Java (90%), JavaScript (85%), TypeScript (85%), Micropython (75%), and Python (25%)."
335
+ },
336
+ {
337
+ "category": "Technical Skills",
338
+ "question": "Which frameworks do you work with and how skilled are you?",
339
+ "answer": "I work with Spring Boot (85%), Angular (85%), and TensorFlow (10%)."
340
+ },
341
+ {
342
+ "category": "Technical Skills",
343
+ "question": "What databases do you have experience with?",
344
+ "answer": "I have experience with PostgreSQL (80%) and MongoDB (80%)."
345
+ },
346
+ {
347
+ "category": "Technical Skills",
348
+ "question": "Which DevOps tools and operating systems are you familiar with?",
349
+ "answer": "I am familiar with Docker (60%), Linux (60%), and Windows (90%)."
350
+ },
351
+ {
352
+ "category": "Technical Skills",
353
+ "question": "What testing tools do you use and how proficient are you?",
354
+ "answer": "I use JUnit (80%), Jasmine (75%), and Jest (50%)."
355
+ },
356
+ {
357
+ "category": "Soft Skills",
358
+ "question": "What are your strongest soft skills?",
359
+ "answer": "My strongest soft skills are Problem Solving (95%), Organizational skills (90%), Team Collaboration (90%), Client Training (85%), and Technical Documentation (85%)."
360
+ },
361
+ {
362
+ "category": "Technical Stack",
363
+ "question": "What technologies do you use in Frontend development?",
364
+ "answer": "For Frontend development, I use TypeScript, JavaScript, Angular, and HTML/CSS/SCSS."
365
+ },
366
+ {
367
+ "category": "Technical Stack",
368
+ "question": "What technologies are in your Backend stack?",
369
+ "answer": "My Backend stack includes Java and Spring Boot."
370
+ },
371
+ {
372
+ "category": "Technical Stack",
373
+ "question": "What AI/ML technologies do you work with?",
374
+ "answer": "I work with Python and TensorFlow for AI/ML projects."
375
+ },
376
+ {
377
+ "category": "Technical Stack",
378
+ "question": "Which databases do you use in your tech stack?",
379
+ "answer": "I use PostgreSQL and MongoDB as databases."
380
+ },
381
+ {
382
+ "category": "Technical Stack",
383
+ "question": "What DevOps tools and general software do you use?",
384
+ "answer": "I use Docker, Git/GitHub, Linux, Windows, Kicad, Matlab, Tinkercad, and Microsoft Office."
385
+ },
386
+
387
+ {
388
+ "category": "Projects",
389
+ "question": "What is the Equity Online project about?",
390
+ "answer": "Equity Online is a secure, user-friendly, and scalable internet banking platform developed collaboratively at Equity Bank Limited in 2025. It enables individuals and businesses to perform various banking and lifestyle activities conveniently online. The platform was built using JavaScript, TypeScript, Angular, Jest, SCSS, C#, .NET Framework, Azure, Docker, and Kubernetes. Demo: https://equityonline.equitygroupholdings.com/"
391
+ },
392
+ {
393
+ "category": "Projects",
394
+ "question": "Can you describe the Electricity Metering System you worked on?",
395
+ "answer": "The Electricity Metering System upgrades how KPLC meters function, allowing remote token recharge, power control, balance checks, and token transfers. It follows DLMS/COSEM standards with role-based access and integrates with major financial services for payments. Built with Spring Boot, Angular, PostgreSQL, MongoDB, USSD, Africa's Talking API, Daraja API, STS, DLMS, and IoT technologies. Demo: https://property.emtechhouse.co.ke:8910/login, Code: https://github.com/Eng-Musa"
396
+ },
397
+ {
398
+ "category": "Projects",
399
+ "question": "What undergraduate projects did you complete?",
400
+ "answer": "In my final year at Machakos University, I designed a Social Distance Alert System, Water Level Sensor, and Wireless Switch. These projects were tested in AUTODESK Tinkercad and real-world conditions, focusing on practical, low-cost hardware solutions. Technologies used include Arduino Uno-R3, C++, AUTODESK, TinkerCAD, and IoT. Demo and Code: https://www.tinkercad.com/things/9orIRY1Cqqi-social-distancing-alert-sytem?sharecode=h15kysl84Z508bldvRojDIbx9PHtcSK9zsb7LdxVSew"
401
+ },
402
+ {
403
+ "category": "Projects",
404
+ "question": "Tell me about the Goldbach Conjecture Verifier project.",
405
+ "answer": "The Goldbach Conjecture Verifier explores one of the oldest unsolved problems in number theory, originally proposed in 1742. The project was developed personally in 2025 using Java, Spring Boot, Angular, and deployed on Vercel and Render. Demo: https://goldbach-conjecture.vercel.app/, Code: https://github.com/Eng-Musa"
406
+ },
407
+ {
408
+ "category": "Projects",
409
+ "question": "What are some other notable projects you have worked on recently?",
410
+ "answer": "I worked on an Employee Onboarding System (2025) built with Angular 20, Sass, TypeScript, and Jest; an Energy Management System (2024) at E&M Technology House using Spring Boot, Angular, MongoDB, and PostgreSQL; M-Swift Website (2024) using Angular, TypeScript, and Firebase; E-Bike Rental System (2024) at E&M Technology House; Sayona pps project (2024); Banking System (2023) developed personally with Java and Postman; and participated in the Equity Hackathon (2023) developing AI-driven healthcare solutions. Most projects have code repositories at https://github.com/Eng-Musa."
411
+ },
412
+ {
413
+ "category": "Projects",
414
+ "question": "What is Equity Online?",
415
+ "answer": "Equity Online is a secure, scalable internet banking platform developed at Equity Bank. It enables users to perform banking and lifestyle activities remotely. Built with Angular, .NET Framework, Azure, Docker, and Kubernetes. [Demo](https://equityonline.equitygroupholdings.com/)"
416
+ },
417
+ {
418
+ "category": "Projects",
419
+ "question": "What is the Electricity Metering System?",
420
+ "answer": "A smart metering system for KPLC that supports remote token recharge, power control, and peer-to-peer token sharing. Integrated with DLMS/COSEM standards and APIs like Africa's Talking and Daraja. Built with Spring Boot, Angular, PostgreSQL, and MongoDB. [Demo](https://property.emtechhouse.co.ke:8910/login)"
421
+ },
422
+ {
423
+ "category": "Projects",
424
+ "question": "What is the Goldbach Conjecture Verifier?",
425
+ "answer": "A personal project exploring the Goldbach Conjecture using a web-based verifier built with Angular and Spring Boot, deployed on Vercel and Render. [Demo](https://goldbach-conjecture.vercel.app/) [Code](https://github.com/Eng-Musa)"
426
+ },
427
+ {
428
+ "category": "Projects",
429
+ "question": "What is the Employee Onboarding System?",
430
+ "answer": "A modern onboarding platform with role-based access, built using Angular 20, Sass, TypeScript, and tested with Jest. [Demo](https://employee-management-system-eos.vercel.app/login) [Code](https://github.com/Eng-Musa)"
431
+ },
432
+ {
433
+ "category": "Projects",
434
+ "question": "What is the M-Swift Website?",
435
+ "answer": "A responsive landing page for M-Swift Solutions built with Angular, TypeScript, and Firebase. [Demo](https://m-swift-solutions.vercel.app/) [Code](https://github.com/Eng-Musa)"
436
+ },
437
+ {
438
+ "category": "Projects",
439
+ "question": "What is the E-Bike Rental System?",
440
+ "answer": "A GPS-enabled bike rental system with payment integration and location-based restrictions for Tatu City. Built with Spring Boot, Angular, PostgreSQL, and GPS API. [Code](https://github.com/Eng-Musa)"
441
+ },
442
+ {
443
+ "category": "Projects",
444
+ "question": "What is Sayona PPS?",
445
+ "answer": "A GPS-integrated tracking and reporting system for Sayona, enhancing logistics and asset monitoring. Built with Spring Boot, Angular, PostgreSQL, and GPS API. [Code](https://github.com/Eng-Musa)"
446
+ },
447
+ {
448
+ "category": "Projects",
449
+ "question": "What is the Banking System project?",
450
+ "answer": "A basic banking backend system created using Java and Postman for API testing and validation. [Code](https://github.com/Eng-Musa)"
451
+ },
452
+ {
453
+ "category": "Projects",
454
+ "question": "What was built for the Equity Hackathon?",
455
+ "answer": "An AI-powered health consultation tool for Equity Afya clinics, offering location-based clinic recommendations. Built with Python, JavaScript, HTML, and CSS. [Demo](https://equity.hackerearth.com/) [Code](https://github.com/Eng-Musa)"
456
+ },
457
+ {
458
+ "category": "Projects",
459
+ "question": "What are your Undergraduate Projects?",
460
+ "answer": "Designed hardware solutions including a Social Distance Alert System, Water Level Sensor, and Wireless Switch using Arduino and TinkerCAD. [Demo & Code](https://www.tinkercad.com/things/9orIRY1Cqqi-social-distancing-alert-sytem?sharecode=h15kysl84Z508bldvRojDIbx9PHtcSK9zsb7LdxVSew)"
461
+ },
462
+ {
463
+ "category": "Projects",
464
+ "question": "What is the summary of all your projects?",
465
+ "answer": "I have completed 15+ diverse projects ranging from enterprise banking platforms and smart metering systems to AI-powered health tools and IoT-based hardware prototypes. These projects span personal initiatives, hackathon contributions, and professional work at Equity Bank and E&M Technology House."
466
+ },
467
+ {
468
+ "category": "Leadership",
469
+ "question": "What leadership roles have you held?",
470
+ "answer": "Team Lead for Energy and Power Squad (Jan 2024 - Feb 2025). Led a cross-functional team focused on developing localized energy solutions, including EMS and e-bike systems. Oversaw technical implementation, site visits, and client engagement."
471
+ },
472
+ {
473
+ "category": "Leadership",
474
+ "question": "What leadership roles have you held?",
475
+ "answer": "Vice President, Machakos University Equity Leaders Club Chapter (Feb 2018 - Feb 2019). Collaboratively registered the club and mobilized new members to build a strong foundation for student leadership and community engagement."
476
+ },
477
+ {
478
+ "category": "Leadership",
479
+ "question": "What leadership roles have you held?",
480
+ "answer": "President, Machakos University Equity Leaders Club Chapter (Feb 2019 - Dec 2022). Led volunteer mentorship at Kangundo Boys and Machakos Boys, organized Machakos town market clean-up, visited children's homes, and served as a chaperone during Wings to Fly annual congresses."
481
+ },
482
+ {
483
+ "category": "Leadership",
484
+ "question": "What leadership roles have you held?",
485
+ "answer": "President, Engineering Club (Dec 2015 - Dec 2016). Spearheaded technical workshops and peer learning initiatives to foster innovation and creative thinking."
486
+ },
487
+ {
488
+ "category": "Leadership",
489
+ "question": "What leadership roles have you held?",
490
+ "answer": "Class Representative 4D, Cardinal Otunga Boys (Mar 2013 - Dec 2016). Acted as liaison between students and faculty, advocating for academic and welfare needs while promoting teamwork and discipline."
491
+ },
492
+ {
493
+ "category": "Leadership",
494
+ "question": "What was your role as Team Lead for the Energy and Power Squad?",
495
+ "answer": "I served as Team Lead for the Energy and Power Squad from January 2024 to February 2025, overseeing project coordination and leading team efforts in delivering energy-related solutions."
496
+ },
497
+ {
498
+ "category": "Leadership",
499
+ "question": "What were your responsibilities as Vice President of the Machakos University Equity Leaders Club?",
500
+ "answer": "As Vice President from February 2018 to February 2019, I collaboratively registered the club and mobilized new members to build a strong leadership community."
501
+ },
502
+ {
503
+ "category": "Leadership",
504
+ "question": "What did you accomplish as President of the Machakos University Equity Leaders Club?",
505
+ "answer": "From February 2019 to December 2022, I served as President, leading volunteer mentorship programs at Kangundo Boys and Machakos Boys schools, organizing Machakos town market cleaning, visiting children's homes, and acting as a chaperone for Wings to Fly annual congresses."
506
+ },
507
+ {
508
+ "category": "Leadership",
509
+ "question": "What was your role in the Engineering Club?",
510
+ "answer": "I was the Engineering Club President from December 2015 to December 2016, leading club activities and initiatives."
511
+ },
512
+ {
513
+ "category": "Leadership",
514
+ "question": "Did you hold any representative roles during secondary school?",
515
+ "answer": "Yes, I was the Class Representative for class 4D at Cardinal Otunga Boys from March 2013 to December 2016."
516
+ },
517
+ {
518
+ "category": "---------------------🛑🛑🛑🛑🛑🛑",
519
+ "question": "Where are you from?",
520
+ "answer": "I am from Kenya, in Eastern Africa."
521
+ },
522
+ {
523
+ "category": "Personal",
524
+ "question": "Where are you from?",
525
+ "answer": "I am from Nairobi, Kenya."
526
+ },
527
+ {
528
+ "category": "Experience",
529
+ "question": "How many years of experience do you have in software development?",
530
+ "answer": "3 years."
531
+ },
532
+ {
533
+ "category": "Languages",
534
+ "question": "Which languages do you speak?",
535
+ "answer": "English, Swahili, Ekegusii and some Kamba."
536
+ },
537
+ {
538
+ "category": "Interests",
539
+ "question": "What outdoor activities do you enjoy?",
540
+ "answer": "Outside of code, you'll find me out in nature hiking, taking long walks, swimming, running, or biking. Fun fact: My personal best for a 10km run is 39 minutes 😅."
541
+ },
542
+ {
543
+ "category": "Interests",
544
+ "question": "What kind of content do you enjoy watching?",
545
+ "answer": "I enjoy watching documentaries,especially those that explore history, science, innovation, and human resilience. They fuel my curiosity and broaden my perspective beyond the tech world. One of my favorite channels is Veritasium"
546
+ },
547
+ {
548
+ "category": "Tools",
549
+ "question": "What's your preferred development environment?",
550
+ "answer": "VS Code and IntelliJ IDEA."
551
+ },
552
+ {
553
+ "category": "Contact",
554
+ "question": "What are your communication channels?",
555
+ "answer": "+254 727 587 966 | mangabomoses@gmail.com | Tatu City, Kiambu | https://mosesmangabo.vercel.app/ | https://www.linkedin.com/in/moses-mangabo/"
556
+ },
557
+ {
558
+ "category": "Contact",
559
+ "question": "How can someone reach you or learn more about your work?",
560
+ "answer": "Phone: +254 727 587 966, Email: mangabomoses@gmail.com, Location: Tatu City, Kiambu, Portfolio: https://mosesmangabo.vercel.app/, LinkedIn: https://www.linkedin.com/in/moses-mangabo/"
561
+ }
562
+ ],
563
+ "chunks": [
564
+ {
565
+ "chunk": "Moses Mangabo - full-stack software developer from Nairobi, Kenya. Specializes in Java, Spring Boot, Angular, PostgreSQL, MongoDB and modern frontend tooling."
566
+ },
567
+ {
568
+ "chunk": "Bachelor of Science in Electrical and Electronics Engineering, Machakos University (2017-2023). Graduated Second Class Honors (Upper Division) with emphasis on electrical systems, complex mathematics, electronic circuit design, control systems, and embedded programming."
569
+ },
570
+ {
571
+ "chunk": "Undergraduate IoT projects: Social Distance Alert System, Water Level Sensor and Wireless Switch. Prototyped in AUTODESK Tinkercad and tested in real-world conditions using Arduino Uno-R3 and C++."
572
+ },
573
+ {
574
+ "chunk": "Certificate in Computer Support and Maintenance, Kisii National Polytechnic (Mar-Aug 2017) — practical skills in hardware troubleshooting, network configuration and software installation/support."
575
+ },
576
+ {
577
+ "chunk": "Primary and early education: Attended Nyamoronga D.O.K. until 2009, then Getenga PAG Primary School (2009-2012)."
578
+ },
579
+ {
580
+ "chunk": "Secondary education: Cardinal Otunga High School (2013-2017). Strong focus on mathematics and sciences; advanced to national level in the Engineering Fair with a weighbridge automation project."
581
+ },
582
+ {
583
+ "chunk": "Current role: Software Developer at Equity Bank (Feb 2025 - Present). Builds scalable banking platforms, contributes to accessibility and localization, improves backend APIs and supports cross-functional teams across six countries."
584
+ },
585
+ {
586
+ "chunk": "Previous role: Software Developer Intern at E&M Technology (Jan 2024 - Feb 2025). Worked on Energy Management System (EMS), e-bike rental system, and SayonApps; performed site visits and client trainings during pilot rollouts."
587
+ },
588
+ {
589
+ "chunk": "Energy Management System (EMS): DLMS/COSEM-compliant smart metering solution enabling remote token recharge, power on/off, balance checks and peer-to-peer token transfers. Integrations: USSD, Africa's Talking API, Daraja API, STS compliance, PostgreSQL and MongoDB backends."
590
+ },
591
+ {
592
+ "chunk": "Equity Online project: collaborative internet banking platform (Equity Bank). Tech: Angular, TypeScript, JavaScript, Jest, SCSS, C#, .NET Framework, Azure, Docker, Kubernetes. Demo URL available."
593
+ },
594
+ {
595
+ "chunk": "Goldbach Conjecture Verifier: personal project exploring number theory; built with Java, Spring Boot and Angular and deployed on Vercel/Render as a web-based verifier."
596
+ },
597
+ {
598
+ "chunk": "Tech strengths (concise): Java (expert), JavaScript/TypeScript (advanced), Spring Boot & Angular (advanced), PostgreSQL & MongoDB (advanced), Docker (intermediate)."
599
+ },
600
+ {
601
+ "chunk": "Testing & tooling experience: JUnit (advanced), Jasmine (proficient), Jest (intermediate). Comfortable with Git, CI/CD workflows and VS Code / IntelliJ IDEA development environments."
602
+ },
603
+ {
604
+ "chunk": "AI & certifications summary: Generative AI Professional and Certified AI Foundations (Oracle University, 2025), Deep Learning (Simplilearn), ML & AI (AWS) — hands-on experience with LLM concepts, RAG, embeddings and model inference workflows."
605
+ },
606
+ {
607
+ "chunk": "Hands-on RAG-related skills: document loading and chunking, embeddings creation, vector indexing, similarity search, LangChain integration, and designing RAG retrieval workflows."
608
+ },
609
+ {
610
+ "chunk": "Leadership & volunteering: Team Lead (Energy & Power Squad, Jan 2024-Feb 2025), Vice President (Machakos University Equity Leaders Club, Feb 2018-Feb 2019), President (Feb 2019-Dec 2022). Organized mentorships, community cleanup, and Wings to Fly chaperone duties."
611
+ },
612
+ {
613
+ "chunk": "Early leadership roles: Engineering Club President (Dec 2015-Dec 2016) and Class Representative 4D at Cardinal Otunga Boys (Mar 2013-Dec 2016)."
614
+ },
615
+ {
616
+ "chunk": "Soft skills snapshot: exceptional problem solving, strong organization, team collaboration, client training experience, and technical documentation capabilities."
617
+ },
618
+ {
619
+ "chunk": "Hobbies & fitness: enjoys hiking, long walks, swimming, running and biking. Personal best 10 km run: 39 minutes. Also enjoys watching documentaries (science, history, innovation)."
620
+ },
621
+ {
622
+ "chunk": "Project links and repos: most projects have demos and code hosted (examples: Equity Online demo, EMS demo, Goldbach demo). Primary code repository: https://github.com/Eng-Musa."
623
+ },
624
+ {
625
+ "chunk": "Practical electrical engineering experience: industrial attachment at Machakos County (Jan-Apr 2021) designing solar-powered street lighting control systems and troubleshooting flood lighting and network infrastructure."
626
+ },
627
+ {
628
+ "chunk": "IoT & embedded focus: specialized in embedded programming, control systems, and low-cost hardware prototypes using Arduino and MicroPython where applicable."
629
+ },
630
+ {
631
+ "chunk": "DevOps & environment: experience deploying containerized applications (Docker), working with Azure, and familiar with Kubernetes orchestration for scalable services."
632
+ },
633
+ {
634
+ "chunk": "Moses Mangabo holds a Bachelor of Science in Electrical and Electronics Engineering from Machakos University (2017-2023), graduating with Second Class Honors (Upper Division). His academic focus included electrical systems, complex mathematics, and electronic circuit design. He specialized in control systems and embedded programming, completing IoT-based projects."
635
+ },
636
+ {
637
+ "chunk": "In 2017, Moses earned a Certificate in Computer Support and Maintenance from Kisii National Polytechnic. The program covered hardware troubleshooting, network configuration and management, and software installation and support. He achieved a Credit grade."
638
+ },
639
+ {
640
+ "chunk": "Moses completed his KCSE at Cardinal Otunga High School (2013-2017), excelling in mathematics and sciences. He actively participated in the science club and advanced to the national level in the Engineering Fair with a project on automating overweight vehicle detection at weighbridges."
641
+ },
642
+ {
643
+ "chunk": "Moses attended Getenga PAG Primary School (2009-2012) and previously studied at Nyamoronga D.O.K until 2009. His early education laid the foundation for his technical and analytical skills."
644
+ },
645
+ {
646
+ "chunk": "Moses is currently exploring Artificial Intelligence and Machine Learning, focusing on Python and TensorFlow. His learning includes model training, neural networks, and practical applications of AI in real-world systems."
647
+ },
648
+ {
649
+ "chunk": "Moses is expanding his full-stack development skills with technologies like Spring Boot, Angular, and .NET. He is focused on building scalable, enterprise-grade applications with robust backend and dynamic frontend capabilities."
650
+ },
651
+ {
652
+ "chunk": "Moses is learning PostgreSQL and MongoDB optimization techniques. His focus includes query performance tuning, indexing strategies, and schema design for scalable data systems."
653
+ },
654
+ {
655
+ "chunk": "Moses is gaining hands-on experience in DevOps tools and practices, including Docker, CI/CD pipelines, and cloud services. His goal is to streamline development workflows and improve deployment efficiency."
656
+ },
657
+ {
658
+ "chunk": "Moses earned the Generative AI Professional certification from Oracle University in August 2025. He is proficient in LLMs, OCI Generative AI, RAG, and AI agent deployment. His skills include LangChain integration, model fine-tuning, embeddings creation, vector indexing, similarity search, and chatbot deployment."
659
+ },
660
+ {
661
+ "chunk": "Moses completed the Deep Learning certification from Simplilearn in June 2025. He gained expertise in CNNs, RNNs, and deep learning applications using TensorFlow and Python."
662
+ },
663
+ {
664
+ "chunk": "In June 2025, Moses earned the ML and AI certification from AWS. The course covered core concepts of machine learning, deep learning, and generative AI."
665
+ },
666
+ {
667
+ "chunk": "Moses received a Hackathon certificate from Equity Bank in April 2023 for developing AI-driven healthcare solutions. He utilized Python, HTML, CSS, JavaScript, and Bootstrap to streamline operations."
668
+ },
669
+ {
670
+ "chunk": "In April 2025, Moses earned a Banking and Credit certification from Moody's. He gained foundational knowledge in banking operations and credit analysis."
671
+ },
672
+ {
673
+ "chunk": "Moses holds multiple certifications in Angular and JavaScript, including Angular (basic) from HackerRank and JavaScript from LinkedIn. These validate his proficiency in JavaScript, TypeScript, and Angular development."
674
+ },
675
+ {
676
+ "chunk": "Moses is certified in SQL Basics (HackerRank), Java Algorithms, Java Collections, JDBC, and Java Memory Management (LinkedIn). These credentials highlight his backend development and database integration skills."
677
+ },
678
+ {
679
+ "chunk": "Moses earned certifications in Spring Boot and Exception Handling from LinkedIn in May 2024. He is skilled in building robust enterprise applications and managing errors effectively in Java environments."
680
+ },
681
+ {
682
+ "chunk": "Moses completed certifications in Learning TypeScript and Objects & APIs from LinkedIn. He is proficient in TypeScript fundamentals and Java 17 features including inheritance and error handling."
683
+ },
684
+ {
685
+ "chunk": "Moses is proficient in Retrieval-Augmented Generation (RAG) workflows. His skills include document loading and chunking, embeddings creation, vector indexing, similarity search, LangChain integration, and knowledge base creation. He applies these in chatbot deployment and AI agent development."
686
+ },
687
+ {
688
+ "chunk": "Moses Mangabo's communication channels include: Phone: +254 727 587 966, Email: mangabomoses@gmail.com, Location: Tatu City, Kiambu, Portfolio: https://mosesmangabo.vercel.app/, LinkedIn: https://www.linkedin.com/in/moses-mangabo/"
689
+ }
690
+ ]
691
+ }
main.py CHANGED
@@ -1,7 +1,33 @@
1
  from fastapi import FastAPI
 
 
 
2
 
3
  app = FastAPI()
4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  @app.get("/")
6
- def greet_json():
7
- return {"Hello": "World!"}
 
1
  from fastapi import FastAPI
2
+ from pydantic import BaseModel
3
+ from functools import lru_cache
4
+ from clients.groq_client import GroqClient
5
 
6
  app = FastAPI()
7
 
8
+ class QueryRequest(BaseModel):
9
+ query: str
10
+
11
+ # Lazy singleton for GroqClient
12
+ @lru_cache(maxsize=1)
13
+ def get_groq_client():
14
+ return GroqClient()
15
+
16
+ @app.post("/chat")
17
+ async def chat_endpoint(request: QueryRequest):
18
+ try:
19
+ groq_client = get_groq_client()
20
+ response = groq_client.ask(request.query)
21
+ if response.startswith("Error while"):
22
+ return {"status_code": 500, "response": response, "next_questions": []}
23
+ return {
24
+ "status_code": 200,
25
+ "response": response,
26
+ "next_questions": groq_client.get_next_questions(),
27
+ }
28
+ except Exception as e:
29
+ return {"status_code": 500, "response": f"Internal error: {e}", "next_questions": []}
30
+
31
  @app.get("/")
32
+ def healthcheck():
33
+ return {"status": "ok"}
optimized_quiz.py ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ OPTIMIZED_QUESTIONS = [
2
+ "What is your Bachelor's degree and academic background?",
3
+ "Do you have any technical certifications?",
4
+ "What secondary education qualifications do you have?",
5
+ "What is your primary school education background?",
6
+ "What topics are you currently learning or interested in?",
7
+ "What is your full name?",
8
+ "What is the Generative AI Professional certification?",
9
+ "What is the Certified AI Foundations certification?",
10
+ "What is the Deep Learning certification?",
11
+ "What is the ML and AI certification?",
12
+ "What is the Hackathon certification?",
13
+ "What is the Banking and Credit certification?",
14
+ "What is the Angular (basic) certification?",
15
+ "What is the SQL Basics certification?",
16
+ "What is the JavaScript certification?",
17
+ "What is the Java Algorithms certification?",
18
+ "What is the Learning Angular certification?",
19
+ "What is the Learning TypeScript certification?",
20
+ "What is the Memory Management certification?",
21
+ "What is the Spring Boot certification?",
22
+ "What is the Learning JDBC certification?",
23
+ "What is the Java Collections certification?",
24
+ "What is the Objects and APIs certification?",
25
+ "What is the Exception Handling certification?",
26
+ "What certifications do you hold?",
27
+ "What is your current role and responsibilities at Equity Bank?",
28
+ "What was your role and key projects during your internship at E&M Technology?",
29
+ "What experiences did you gain as a Hackathon participant and Digital Banking Trainer at Equity Bank?",
30
+ "What were your responsibilities during your Industrial Attachment at Machakos County?",
31
+ "What is your current role?",
32
+ "What past roles have you held?",
33
+ "What programming languages are you proficient in?",
34
+ "What frameworks do you use?",
35
+ "What databases are you familiar with?",
36
+ "What DevOps tools do you use?",
37
+ "What testing tools do you use?",
38
+ "What operating systems are you comfortable with?",
39
+ "What soft skills do you possess?",
40
+ "What is your frontend tech stack?",
41
+ "What is your backend tech stack?",
42
+ "What is your AI/ML tech stack?",
43
+ "What databases do you work with?",
44
+ "What DevOps and tools do you use?",
45
+ "What programming languages are you proficient in and at what level?",
46
+ "Which frameworks do you work with and how skilled are you?",
47
+ "What databases do you have experience with?",
48
+ "Which DevOps tools and operating systems are you familiar with?",
49
+ "What testing tools do you use and how proficient are you?",
50
+ "What are your strongest soft skills?",
51
+ "What technologies do you use in Frontend development?",
52
+ "What technologies are in your Backend stack?",
53
+ "What AI/ML technologies do you work with?",
54
+ "Which databases do you use in your tech stack?",
55
+ "What DevOps tools and general software do you use?",
56
+ "What is the Equity Online project about?",
57
+ "Can you describe the Electricity Metering System you worked on?",
58
+ "What undergraduate projects did you complete?",
59
+ "Tell me about the Goldbach Conjecture Verifier project.",
60
+ "What are some other notable projects you have worked on recently?",
61
+ "What is Equity Online?",
62
+ "What is the Electricity Metering System?",
63
+ "What is the Goldbach Conjecture Verifier?",
64
+ "What is the Employee Onboarding System?",
65
+ "What is the M-Swift Website?",
66
+ "What is the E-Bike Rental System?",
67
+ "What is Sayona PPS?",
68
+ "What is the Banking System project?",
69
+ "What was built for the Equity Hackathon?",
70
+ "What are your Undergraduate Projects?",
71
+ "What is the summary of all your projects?",
72
+ "What leadership roles have you held?",
73
+ "What was your role as Team Lead for the Energy and Power Squad?",
74
+ "What were your responsibilities as Vice President of the Machakos University Equity Leaders Club?",
75
+ "What did you accomplish as President of the Machakos University Equity Leaders Club?",
76
+ "What was your role in the Engineering Club?",
77
+ "Did you hold any representative roles during secondary school?",
78
+ "Where are you from?",
79
+ "How many years of experience do you have in software development?",
80
+ "Which languages do you speak?",
81
+ "What outdoor activities do you enjoy?",
82
+ "What kind of content do you enjoy watching?",
83
+ "What's your preferred development environment?",
84
+ "What are your communication channels?",
85
+ "How can someone reach you or learn more about your work?",
86
+ "What IoT projects did you work on during your undergraduate studies?",
87
+ "What is your experience with embedded programming and control systems?",
88
+ "Can you describe your role in developing the Energy Management System at E&M Technology?",
89
+ "What are your key skills in Retrieval-Augmented Generation (RAG) workflows?",
90
+ "What volunteer or community engagement activities have you participated in?",
91
+ "What is your proficiency level in Java, JavaScript, and TypeScript?",
92
+ "What tools do you use for testing and version control in your development work?"
93
+ ]
requirements.txt CHANGED
@@ -1,2 +1,9 @@
1
  fastapi
 
2
  uvicorn[standard]
 
 
 
 
 
 
 
1
  fastapi
2
+ pydantic
3
  uvicorn[standard]
4
+ python-dotenv
5
+ groq
6
+ langchain-core
7
+ langchain-huggingface
8
+ langchain-chroma
9
+ sentence-transformers