Back
AI & Full Stack

Persian Support RAG Chatbot

Persian Support RAG Chatbot is an end-to-end Persian customer-support system that lets users ask questions through a right-to-left chat interface. The frontend is built with Next.js and Tailwind CSS, while the backend uses Django REST Framework to validate messages, call the AI service, and store conversation logs. The AI layer combines ChromaDB vector search, BM25 keyword retrieval, Reciprocal Rank Fusion, prompt-injection guardrails, a transaction-time tool, human handoff detection, and LLM response generation to provide grounded support answers from a knowledge base.

Year

2026

Role

Full Stack AI Developer

Technologies

Next.js, React, Django REST Framework, Python, ChromaDB, RAG, LLM, BM25, Tailwind CSS, SQLite

Persian Support RAG Chatbot preview - Image 1

Challenge

The main challenge was to build a reliable Persian support chatbot that could answer from a domain-specific knowledge base while staying safe against prompt injection, handling transactional time questions with deterministic tooling, and escalating sensitive or high-risk conversations to a human operator.

Solution

Designed a modular architecture with a Next.js RTL chat UI, a Django REST API for validation and logging, and a dedicated AI pipeline for retrieval and response generation. The RAG layer uses ChromaDB semantic search alongside BM25 keyword search, combines results with Reciprocal Rank Fusion, injects the most relevant chunks into the LLM prompt, and applies guardrails, monitoring, time-tool routing, and human handoff logic before returning the final response.

Results

Built a Persian RTL chat interface connected to a Django REST API.

Implemented hybrid RAG retrieval with ChromaDB, BM25, and Reciprocal Rank Fusion.

Added prompt-injection protection, RAG monitoring, and grounded answer generation.

Created a transaction-time tool for deposit and withdrawal timing questions.

Implemented human handoff detection for sensitive, angry, or high-risk conversations.

Stored chat logs, response timing, handoff state, and monitoring metadata in SQLite.