Setup
-
vllm + gemma3 Setup
- Add daemon.json to /etc/docker
-
https://github.com/dwani-ai/deploy/blob/main/files/daemon.json
-
sudo systemctl restart docker
-
sudo docker run --runtime nvidia -it --rm -p 9000:9000 slabstech/dwani-vllm
-
export HF_TOKEN='my-nsma-is-what'
-
vllm serve google/gemma-3-4b-it --served-model-name gemma3 --host 0.0.0.0 --port 9000 --gpu-memory-utilization 0.9 --tensor-parallel-size 1 --max-model-len 16384 --dtype bfloat16
-
docs-indic-server -- ### Documents
-
https://github.com/dwani-ai/docs-indic-server.git
git clone https://github.com/dwani-ai/docs-indic-server.git cd docs-indic-server python -m venv --system-site-packages venv source venv/bin/activate pip install -r requirements.txt pip install "numpy<2.0" python src/server/docs_api.py --host 0.0.0.0 --port 7861 -
Dependencies
- decord
- olmocr
-
ffmpeg
-
ffmpeg
- sudo apt update
- sudo apt install ffmpeg
- ffmpeg -version
sudo apt update sudo apt install cmake ffmpeg build-essential python3-dev
sudo apt install pkg-config libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev libavfilter-dev
sudo apt-get install poppler-utils
find /usr/lib* -name libavformat.so
sudo ln -s /usr/lib/aarch64-linux-gnu/libavformat.so /usr/lib/libavformat.so sudo ln -s /usr/lib/aarch64-linux-gnu/libavcodec.so /usr/lib/libavcodec.so sudo ln -s /usr/lib/aarch64-linux-gnu/libavutil.so /usr/lib/libavutil.so sudo ln -s /usr/lib/aarch64-linux-gnu/libavfilter.so /usr/lib/libavfilter.so sudo ln -sf /usr/lib/aarch64-linux-gnu/libavdevice.so.58 /usr/lib/libavdevice.so
sudo ln -s /usr/lib/aarch64-linux-gnu/libswresample.so /usr/lib/libswresample.so
sudo ldconfig
Add other FFmpeg libs as
cmake .. -DUSE_CUDA=1 -DCMAKE_BUILD_TYPE=Release -DFFMPEG_LIB_DIR=/usr/lib/aarch64-linux-gnu -DFFMPEG_INCLUDE_DIR=/usr/include
cd
mkdir external
cd external
git clone --recursive https://github.com/dmlc/decord
cd decord
mkdir build && cd build
export CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda
export CUDACXX=/usr/local/cuda/bin/nvcc
nvcc --version
cmake .. -DUSE_CUDA=1 -DCMAKE_BUILD_TYPE=Release -DFFMPEG_DIR=/usr
cmake .. -DUSE_CUDA=1 -DCMAKE_BUILD_TYPE=Release
make
cd ../python
python3 setup.py install --user
pip install "numpy<2.0"
- olmocr
cd ../../
git clone https://github.com/allenai/olmocr.git
cd olmocr
pip install --upgrade pip setuptools wheel packaging
// copy ppyproject.toml
pip install -e .
cd ../../dwani_org/gh-200-docs-indic-server/
pip install "numpy<2.0"
python src/server/docs_api.py --host 0.0.0.0 --port 7861
--
- dwani-api-server
git clone https://github.com/dwani-ai/dwani-api-server.git cd dwani-api-server
python -m venv venv source venv/bin/activate
pip install -r requirements.txt docker build -t dwani/api-server-arm64:latest -f Dockerfile .
Proxy Server
sudo apt install nano Install docker in VM -
docker build -t dwani/proxy-server:latest -f Dockerfile .
docker push dwani/proxy-server:latest
docker run --env-file .env -p 80:80 dwani/proxy-server:latest
--
Translate Server
-
https://github.com/dwani-ai/indic-translate-server.git
git clone https://github.com/dwani-ai/indic-translate-server.git cd indic-translate-server python -m venv --system-site-packages venv source venv/bin/activate pip install --upgrade pip setuptools wheel packaging cython pip install torch==2.7.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128 #pip install -r requirements.txt pip install -e git+https://github.com/VarunGumma/IndicTransToolkit.git@main#egg=IndicTransToolkit pip install fastapi uvicorn "numpy<2.0" python src/server/translate_api.py --host 0.0.0.0 --port 7862 --device cpu -
ASR - Automatic Speech Recognition / Speech to Text
- https://github.com/dwani-ai/asr-indic-server.git
git clone https://github.com/dwani-ai/asr-indic-server.git cd asr-indic-server python -m venv --system-site-packages venv source venv/bin/activate pip install -r requirements.txt python src/multilingual/asr_api.py --host 0.0.0.0 --port 7863 --device cuda
- https://github.com/dwani-ai/asr-indic-server.git
ASR - English
curl --silent --remote-name https://raw.githubusercontent.com/speaches-ai/speaches/master/compose.yaml curl --silent --remote-name https://raw.githubusercontent.com/speaches-ai/speaches/master/compose.cuda.yaml export COMPOSE_FILE=compose.cuda.yaml
sudo docker compose -f compose.cuda.yaml up -d
curl -X 'POST' \ 'http://localhost:8000/v1/models/Systran/faster-whisper-large-v3' \ -H 'accept: application/json' \ -d ''
curl -X 'POST' \ 'http://localhost:8000/v1/models/speaches-ai/Kokoro-82M-v1.0-ONNX' \ -H 'accept: application/json' \ -d ''
-
-
TTS - Text to Speech
- https://github.com/dwani-ai/tts-indic-server
git clone https://github.com/dwani-ai/tts-indic-server cd tts-indic-server git checkout gh-200 export HF_TOKEN='this-my-token' python -m venv venv source venv/bin/activate pip install wheel packaging pip install -r requirements.txt pip uninstall torch torchaudio torchvision pip install torch==2.7.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128 python src/gh200/main.py --host 0.0.0.0 --port 7864 --config config_two