Sarvam AI STT
The SarvamSTTService provides specialized speech recognition for Indian languages using Sarvam AI's WebSocket API. It supports both standard STT (saarika models) and STT-Translate (saaras models) which auto-detect language and return translated text.
Installation
To use Sarvam AI, install the required dependencies:
pip install "piopiy-ai[sarvam]"
Prerequisites
- A Sarvam AI account and API key (Get yours here).
- Set your API key in your environment:
export SARVAM_API_KEY="your_api_key_here"
Configuration
SarvamSTTService Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
api_key | str | Required | Your Sarvam AI API key. |
model | str | "saarika:v2.5" | Sarvam model to use (saarika or saaras). |
input_audio_codec | str | "wav" | Audio format of the input. |
params | InputParams | None | Configuration parameters (see below). |
InputParams Parameters
| Option | Type | Default | Description |
|---|---|---|---|
language | Language | None | Target language (required for saarika). |
prompt | str | None | Translation guide (only for saaras). |
vad_signals | bool | True | Whether to enable VAD signals. |
high_vad_sensitivity | bool | False | Enable high VAD sensitivity. |
Usage
Basic STT (Saarika)
import os
from piopiy.services.sarvam.stt import SarvamSTTService
from piopiy.transcriptions.language import Language
stt = SarvamSTTService(
api_key=os.getenv("SARVAM_API_KEY"),
model="saarika:v2.5",
params=SarvamSTTService.InputParams(
language=Language.HI_IN # Hindi
)
)
STT-Translate (Saaras)
import os
from piopiy.services.sarvam.stt import SarvamSTTService
stt = SarvamSTTService(
api_key=os.getenv("SARVAM_API_KEY"),
model="saaras:v1",
params=SarvamSTTService.InputParams(
prompt="Translate this customer query into clear English."
)
)
Notes
- Indian Language Focus: Sarvam is purpose-built to excel at regional Indian accents and dialects.
- Model Types:
saarikamodels require a fixed language, whilesaarasmodels perform automatic language detection and translation.