Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#7,682 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@15054538509 がすでに取り組んでいます。

2026年10月9日 から。

  • #7683 @15054538509 による — オープン
  • #7686 @icebear02 による — マージされずにクローズ

評価

難易度
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 / 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.
主要言語
Python
スター
14.6k
フォーク
3.9k
平均マージ
3日 3時間
マージ済み PR(30日)
171

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

livekit/agents のほかの issue

livekit/agents の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。