Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

livekit-plugins-sarvam: support Sarvam keyterms for STT biasing

Aperta
#7,682 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@15054538509 ci sta già lavorando.

Dal 9/10/2026.

  • #7683 di @15054538509 — aperta
  • #7686 di @icebear02 — chiusa senza merge

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
18/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python

Direzione di ricerca

Start with the SarvamSTT and SarvamStreamingSTT constructors and update_options(), and with how MODEL_CONFIGS gates supports_prompt by model. Check open pull request #7683 first, since it likely already covers this work. Done means keyterms is validated against the 50-term and 64-character limits, sent on the streaming WebSocket connect and in the REST request, and only applied to saaras:v4.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Feature Type: Would make my life easier

Feature Description

Add keyterms support to livekit-plugins-sarvam STT, so callers can bias Sarvam's recognition toward names and domain terms (brands, products, people, places).

Sarvam's API now accepts a keyterms parameter on speech-to-text: a JSON list of strings, up to 50 distinct terms of at most 64 characters each, one term per list item. It is supported on saaras:v4 across REST, Batch, and both WebSocket endpoints (/speech-to-text/ws and /speech-to-text-realtime/ws). Keyterms bias recognition but do not guarantee that a term appears. For streaming, they are fixed when the connection opens and apply to the whole session.

Reference: https://docs.sarvam.ai/api/api-guides-tutorials/speech-to-text/how-to/keyterms

The plugin cannot pass this today:

  • SarvamSTT / SarvamStreamingSTT have no keyterms argument.
  • The existing prompt option is a free-text prompt for saaras translate (see #6606), not a term list, so it cannot stand in for keyterms.
  • I checked livekit-plugins-sarvam 1.6.7 and the latest 1.8.5 wheel. Neither contains keyterm or hotword.

Requested behavior:

  1. A keyterms: list[str] | None option on the STT constructor and update_options(), validated against the 50-term and 64-character limits.
  2. Sent as the keyterms query parameter on the streaming WebSocket connect (URL-encoded, one per item) and as a field in the REST/batch request.
  3. Only applied for models that support it (saaras:v4), consistent with how MODEL_CONFIGS handles supports_prompt.

Workarounds / Alternatives

We are currently unable to use keyterms through the plugin. The options we see are a raw WebSocket client that adds the query parameter ourselves, or patching the plugin locally. Both leave us maintaining Sarvam-specific transport code that the plugin should own.

Additional Context

  • Sarvam pricing does not list a separate charge for keyterms. The docs list per-hour speech-to-text rates only.
  • Related: #6606 (closed) covers supports_prompt for saaras:v3 on the same endpoint.
Lingua principale
Python
Stelle
14.6k
Fork
3.9k
Merge medio
2g 9h
PR unite (30g)
159

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di livekit/agents

Tutte le issue di livekit/agents

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.