🚆 Chatbot for Railway Passengers

Inspiration

Every year, millions of Indian railway passengers lose money on refunds or miss out on compensation — simply because they don't know their rights. We wanted to fix that with a chatbot anyone can talk to, in their own language.


What it does

A RAG-based chatbot that answers questions about Indian Railway passenger rights — refunds, cancellations, delays — in 10+ Indian languages.

  • Ask in Hindi, Tamil, Telugu, Bengali, or English
  • Get answers pulled directly from official railway PDFs
  • Translated back to your language automatically

How we built it

PDF → Text Extraction → Chunking → Pinecone (vectors)
User Query → Language Detection → Sarvam AI (→ English)
         → Pinecone Search → Groq LLM → Sarvam AI (→ original language)

| Layer | Tool |

| PDF parsing | PyPDF2 | | Vector DB | Pinecone | | Embeddings | all-MiniLM-L6-v2 | | LLM | Groq (Llama 3) | | Translation | Sarvam AI API | | UI | Streamlit |


Challenges we ran into

  • IndicTrans2 has no hosted API — we had to swap to Sarvam AI mid-build
  • Language detection fails on very short queries — handled with a manual language selector fallback

Accomplishments that we're proud of

  • End-to-end multilingual pipeline working in under 4 seconds per query
  • Zero paid infrastructure — fully free stack from day one
  • One-command setup: streamlit run main.py

What we learned

  • RAG quality depends more on chunking strategy than model size
  • Sarvam AI handles Indian language nuance far better than generic translation APIs

What's next for Chatbot for Railway Passengers

  • Voice input using Sarvam's speech-to-text API
  • Live PNR status integration via Indian Railways API
  • WhatsApp bot deployment so passengers with no smartphone app can still access it

Built With

  • groq
  • pinecone
  • python
  • sarvam
  • sentence-transformer
  • streamlit
Share this project:

Updates