Realtime: ASR EOU language tags leak into the LLM conversation (unintended reply-language switching)
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 70/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- go
調査の方向性
確定済みのユーザートランスクリプトから appendUserItem/generateResponse までの realtime パイプラインを追跡し、input_audio_transcription イベントの経路と比較してください。イベントの生のトランスクリプトは変更せず、LLM コンテキストに使用されるトランスクリプトに EOU 言語タグが含まれないようにしてください。不一致のタグが付いた短い発話で確認してください。
索引モデルが issue の本文から書いたものです。
説明
Bug
ASR backends like Nemotron-3.5 append end-of-utterance language tags to
transcripts ("Hallo. <en-US>", "I would like to cancel my contract. <en-US> Can you help me with that? <de-DE>").
In the realtime pipeline the committed transcript is used verbatim for the
LLM conversation (the user item's Transcript field, which becomes the user
message in the LLM request). The per-utterance tag is unreliable for short
or ambiguous utterances (a German "Hallo." is tagged <en-US>; the same
uplink clip transcribes as "My name is Benjamin Zimmer. <en-US>" in one
run and "Mein Name ist Benjamin Zimmer. <de-DE>" in another). LLMs treat
the tag as a language signal and switch the reply language against the
session instructions — observed: a German call where the caller says
"Hallo" (tagged <en-US>) gets the reply "Hello. What is your phone number?".
Reproduction
- Realtime session with
input_audio_transcriptionon a Nemotron-3.5
(or similar) backend. - Commit a short ambiguous utterance whose EOU tag does not match the
conversation language. - The LLM reply switches language (or the reply behavior becomes
tag-dependent), even though the instruction is to keep the conversation
language.
Proposed fix
Strip the EOU language tags from the transcript that goes to
appendUserItem/generateResponse (the LLM context). The emitted
input_audio_transcription event keeps the raw transcript (debugging /
client display). PR follows.
- 主要言語
- Go
- スター
- 49.8k
- フォーク
- 4.5k
- 平均マージ
- 19時間 42分
- マージ済み PR(30日)
- 354
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
mudler/LocalAI のほかの issue
-
[Bug] Qwen3.8-27b Uncensored Fails to Download due to 404再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープンbug unconfirmed
難易度 1/5 1時間未満 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信
-
Open Responses API doesn't accept "output_text" as an input Item対応中かも @localai-org-maint-bot が 28 日前に担当しました。 オープンbug unconfirmed
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
mudler/LocalAI#12337 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Gallery model audio-cpp-sortformer-diarization fails to install: SHA mismatch, reproducible across retries再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
mudler/LocalAI#11995 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Agent pool Postgres DSN is logged in cleartext, including the password, while the auth DSN is redacted対応中かも @localai-org-maint-bot が 44 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
mudler/LocalAI#11991 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
fish-speech: make compile:true usable on Blackwell sm_121 by honouring the CUDA toolkit's ptxas再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープンenhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
mudler/LocalAI#11348 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
FootprintAI/Containarium#3182 ·
メンテナーはふだん 1 日以内に返信
-
bug from-studio
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
esengine/DeepSeek-Reasonix#14608 ·
メンテナーはふだん 1 日以内に返信
-
triage
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
getarcaneapp/arcane#4590 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
area/frontend/library-panels automated-triage type/bug type/ux
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信