
In progress
ML / Automation Engineer
LLM-Powered Telecom FAQ Bot
A retrieval-augmented FAQ assistant for telecom documentation, procedures, and troubleshooting workflows.
Built a retrieval-augmented telecom FAQ assistant that combines local TF-IDF search, automatic web-source fallback, and optional LLM synthesis. It answers open-ended telecom questions from a dynamic, expanding corpus.
Architecture
The bot is organized as a FastAPI service with a retriever layer, a lightweight API, and room for local or hosted model backends.
Repository contents
The repo now contains the first service files, dependency list, and README setup steps so the project can grow into a full assistant implementation.
Run instructions
The service can be launched locally with Uvicorn and queried through the FAQ endpoint or the document listing endpoint.
How it answers open-ended questions
The FAQ bot uses a RAG pipeline instead of a static article matcher.
Sample knowledge base
The initial corpus covers core telecom topics and can be expanded dynamically through ingestion endpoints.
Example conversations
These examples show how the FAQ bot retrieves grounded answers from the telecom knowledge base.
Open-source data enrichment
The API includes two ingestion endpoints to expand the knowledge base with external telecom content.
Live API examples
Use these curl commands to interact with the running FastAPI service.
Live Demo
Local API Demo
Base URL: http://localhost:8000
Run the FastAPI service locally and try the FAQ endpoint against the telecom knowledge base. The bot uses local TF-IDF search, automatic fallback enrichment, and optional LLM synthesis.
Health check for the service.
List the searchable telecom documents.
Search the telecom FAQ corpus.
Return a grounded FAQ answer with sources. Enable ENABLE_LLM=true to synthesize answers through an LLM.
Ingest public telecom web sources into the knowledge base.
Ingest a Hugging Face dataset into the knowledge base.
Request Example
# Ask a question (local retrieval only)
curl -X POST http://localhost:8000/faq \
-H "Content-Type: application/json" \
-d '{"question":"What is DPI?","top_k":3}'
# Enable local LLM synthesis with Ollama
ENABLE_LLM=true uvicorn app.main:app --reload
# With LLM enabled, the same request returns a synthesized grounded answerResponse Example
{
"answer": "Deep Packet Inspection (DPI) inspects packet payloads beyond IP headers to classify traffic, enforce QoS, detect threats, and enable lawful interception. Operators use it for traffic shaping and policy enforcement.",
"sources": [
{
"title": "DPI (Deep Packet Inspection)",
"snippet": "DPI inspects packet payloads beyond IP headers...",
"score": 0.71
}
]
}Interactive FAQ Playground
Ask the telecom FAQ bot
POST http://localhost:8000/faq