Student support teams were overwhelmed with repetitive queries about courses and admission status, leading to slow response times.
Python • FastAPI • OpenAI • MongoDB Vector Search • Redis Streams • PubNub • Docker
# RAG Pipeline with Vector Search
async def generate_response(query: str, context: List[str]):
# Retrieve relevant documents
docs = await vector_db.similarity_search(query, k=3)
# Construct prompt with context
prompt = f"""
Context: {docs}
Question: {query}
Answer based on the context provided.
"""
# Generate response using LLM
response = await openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.content