Skip to content

Latest commit

 

History

History
84 lines (60 loc) · 3.76 KB

File metadata and controls

84 lines (60 loc) · 3.76 KB

dwani.ai — Conversational AI Agents for Indian languages

Conversational AI agents for Indian languages.
Try it: talk.dwani.ai


Prerequisites

  • Local: Python 3.10+, ASR / TTS / LLM services (see External services).
  • Docker: Docker and Docker Compose. Integrated stack needs GPU with ≥24 GB VRAM.

Quick start

Goal Command
Docker (host ASR/TTS/LLM) cp .env.example .envdocker compose up -dhttp://localhost
Docker dev (build from source) docker compose -f compose-dev.yml up -d --build
Production (integrated TTS + LLM) docker compose -f compose-integrated-qwen.yml up -d
Local Python Set env URLs → cd talk-server && pip install -r requirements.txt && python main.py

Running

Docker (backend + UI in containers; ASR/TTS/LLM on host):
Copy .env.example to .env, set DWANI_API_BASE_URL_* if needed (defaults use host.docker.internal:10803/10804/10802). Run docker compose up -d. Open http://localhost.

Integrated stack (TTS + LLM + ASR in compose; ASR):

16 GB VRAM - GPU on server Run docker compose -f compose-integrated-qwen.yml up -d. Needs GPU. Open http://localhost.

6GB < 16 GB VRAM - GPU on laptop Run docker compose -f compose-integrated-qwen-local.yml up -d. Needs GPU. Open http://localhost.

Local Python (no UI):
Export DWANI_API_BASE_URL_ASR, DWANI_API_BASE_URL_TTS, DWANI_API_BASE_URL_LLM. Then cd talk-server && pip install -r requirements.txt && python main.py. API at http://localhost:8000.

Agent mode

The UI can use the LLM or an ADK agent (travel planner, viva examiner, fix-my-city, orchestrator, warehouse, chess). See agents/README.md.

External services

Service Port Notes
ASR 10803 asr-indic-server
TTS 10804 tts-indic-server
LLM 10802 vLLM / OpenAI-compatible; docs/llm-setup.md

Environment variables

Variable Required Description
DWANI_API_BASE_URL_ASR Yes ASR URL
DWANI_API_BASE_URL_TTS Yes TTS URL
DWANI_API_BASE_URL_LLM Yes LLM URL (OpenAI-compatible)
DWANI_LLM_MODEL No Model name (default: gemma3)
DWANI_AGENT_BASE_URL No Agents service URL in agent mode (e.g. http://agents:8081)
DWANI_API_KEY No Optional API key required by talk-server when set
DWANI_REDIS_URL No Redis URL for persistent chat sessions
AGENTS_API_KEY No Optional API key required by agents service when set
AGENTS_REDIS_URL No Redis URL for agent conversation history persistence
DWANI_TALK_SERVER_TAG No Docker image tag for talk-server (default: latest)
DWANI_TALK_UI_TAG No Docker image tag for talk-ui (default: latest)
DWANI_TALK_AGENTS_TAG No Docker image tag for agents (default: latest)

See .env.example for timeouts, limits, and session options.

Test

curl -X POST 'http://localhost:8000/v1/speech_to_speech?language=kannada' \
  -H 'Content-Type: multipart/form-data' -F 'file=@sample.wav' -o out.mp3

(Use http://localhost/v1/... if the UI proxy is on port 80.)

Docs