livekit-plugins-sarvam: support Sarvam keyterms for STT biasing
メンテナーはふだん 1 日以内に返信
@15054538509 がすでに取り組んでいます。
2026年10月9日 から。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 18/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- python
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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/SarvamStreamingSTThave nokeytermsargument.- The existing
promptoption 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-sarvam1.6.7 and the latest 1.8.5 wheel. Neither containskeytermorhotword.
Requested behavior:
- A
keyterms: list[str] | Noneoption on the STT constructor andupdate_options(), validated against the 50-term and 64-character limits. - Sent as the
keytermsquery parameter on the streaming WebSocket connect (URL-encoded, one per item) and as a field in the REST/batch request. - Only applied for models that support it (
saaras:v4), consistent with howMODEL_CONFIGShandlessupports_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_promptforsaaras:v3on the same endpoint.
- 主要言語
- Python
- スター
- 14.6k
- フォーク
- 3.9k
- 平均マージ
- 3日 3時間
- マージ済み PR(30日)
- 171
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
livekit/agents のほかの issue
-
Assistant markup is stripped from chat history when expressive mode is off対応中かも @ShivamSharma43 が 7 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
docs: openai.LLM vs openai.responses.LLM for HTTP OpenAI-compat hosts再び着手できるかも @AbarnaaSree が 46 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
livekit/agents#7022 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 22/100
livekit/agents#7843 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 40/100
メンテナーはふだん 1 日以内に返信
-
StreamPacerWrapper.end_input() sets _input_ended before buffered sentences reach _sentences; last sentence(s) silently never sent to TTS対応中かも @Hugo-DDT が 1 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 25/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
fix formatting of the sample database page of the docs対応中かも @Aaqibhafeezkhan が今日担当しました。 オープンdocumentation good first issue help wanted
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
chaoss/CollectOSS#544 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
area/plugin good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
kestra-io/plugin-soda#137 ·
-
難易度 2/5 半日 初心者へのやさしさ 62/100
ibm-granite/granite.build#504 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信