Skip to content

RitwijParmar/ManoVarta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

238 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ManoVarta

ManoVarta is a multilingual conversational screening system for mental-health check-ins. Instead of presenting PHQ-9 and GAD-7 as a rigid questionnaire, it runs a guided conversation, extracts symptom evidence from the dialogue, updates item-level scores, and routes safety-sensitive cases through a separate escalation path.

This repository contains the application code, training workflows, evaluation tests, and report source for the final project implementation.

Current scope

  • Languages: English and Hindi
  • Additional robustness condition: Hinglish
  • Screening targets: PHQ-9 and GAD-7
  • Voice support: browser and cloud speech paths
  • Safety support: separate review / urgent escalation logic

ManoVarta is a screening-support prototype. It is not a therapy product, not a diagnostic device, and not a replacement for licensed clinical care.

Repository layout

  • manovarta_core/
    • FastAPI runtime
    • dialogue planner
    • scoring engine
    • safety logic
    • frontend assets
  • manovarta_admin/
    • Django admin-side project files
  • screening/
    • data/admin models and management utilities
  • data/
    • seed, gold, and processed datasets
  • training/
    • training and evaluation entry points
  • tests/
    • automated regression coverage
  • tools/
    • export, deployment, reporting, and utility scripts
  • reports/acl_paper/
    • final paper source bundle
  • docs/
    • architecture, deployment, data/training, and testing notes

Architecture summary

ManoVarta uses a controller-led stack:

  1. The web client collects typed or spoken user input.
  2. The API runtime maintains session state and exposes live endpoints.
  3. The dialogue planner chooses the next topic and follow-up.
  4. The scoring engine updates PHQ-9 / GAD-7 evidence state.
  5. The safety stack checks for review or urgent risk.
  6. Model backends generate live phrasing and structured extraction.

The important design decision is that the application owns the screening flow. The models help with phrasing, extraction, and scoring, but they do not control the full workflow end-to-end.

More detail:

Current live deployment

Public app:

Current live split:

  • live reply: gemini-3-flash-preview
  • live analysis: gemini-3-pro-preview
  • extraction: remote trained Aya
  • safety: local checkpoint + rules

Useful runtime endpoints:

More detail:

Data and training

The repository uses a layered data setup:

  • data/seed/ for seed supervision and compact runtime data
  • data/gold/ for bilingual gold packets and adjudication material
  • data/processed/ for exported training/evaluation files

Training was split across:

  • Google Colab for compact fine-tuning and fast iteration
  • GCP / Vertex AI for Aya continuation training

More detail:

Running locally

Install dependencies:

python3 -m venv .venv
source .venv/bin/activate
pip install -e .[runtime-cloud]

Start the runtime:

uvicorn manovarta_core.api:app --reload

Open the web client at:

  • http://127.0.0.1:8000

Testing

Common focused runs:

python3 -m pytest -q tests/test_dialogue.py
python3 -m pytest -q tests/test_api.py
python3 -m pytest -q tests/test_llm.py

More detail:

Final project sources

The repository keeps final source material, not every generated submission artifact.

  • final paper source: reports/acl_paper/
  • code and tests: top-level application folders
  • deployment utilities: tools/

Generated submission zips, demo renders, and temporary packaging folders are intentionally kept out of git so the repository stays reviewable.

About

ManoVarta: Multilingual Conversational AI Chatbot for Mental Health Screening

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors