AI News HubLIVE
サイト内リライト2 分で読了

Show HN: Jargo – 会話型AIアプリのためのPipecatのGo移植版

Jargoは、Pipecatの初期段階のGo移植版で、WebRTCオーディオI/O、ストリーミングSTT→LLM→TTSパイプライン、ターンテイキング、割り込み機能を備えたリアルタイム音声エージェントフレームワークです。Pythonベースのソリューションに代わる、自己ホスト型バイナリデプロイ可能な選択肢を提供します。

ソースHacker News AI著者: fallais

Jargoは、PipecatをGoに移植したオープンソースプロジェクトであり、リアルタイム音声AIエージェントを構築するためのフレームワークです。WebRTCを介して音声を入力し、ストリーミング音声認識(STT)→大規模言語モデル(LLM)推論→音声合成(TTS)のパイプラインで処理し、RTVIデータチャネルを通じてクライアントに音声を出力します。これにより、既存のRTVIクライアントとの相互運用が可能です。現在は初期開発段階にあり、APIは不安定で変更される可能性があります。

なぜGoなのか?PipecatはPythonベースですが、リアルタイム音声サーバーは複雑なAI/データサイエンスエコシステムを必要としません。モデルはリモートサービスやONNXランタイムとして動作し、残る作業は主にオーディオフレーム処理、WebRTC接続管理、並行処理、そしてバイナリのパッケージングです。これらのタスクにはGo言語が適しています。単一の静的バイナリにコンパイルでき、デプロイが簡単で、メモリ使用量が低く予測可能、起動が速く、GILなしで真の並行処理を実現します。そのため、Jargoは誕生しました。Dailyのような専用クラウドサービスへのロックインも回避します。

主な機能:ピュアGoのPionライブラリによる標準WebRTC、デフォルトのピュアGo Opusエンコーダー(libopusオプションで音質向上)、ストリーミングパイプライン(STT、LLM、TTS、プロンプトキャッシング)、ローカルONNX上のSilero VADとSmart Turn v3によるターンテイキングと割り込み、プラグイン可能なSTT/LLM/TTSサービス、独立したプロセッサーによる並行処理(割り込みはフレームとして扱われます)。

依存関係:cgo(CGO_ENABLED=0は非対応)、libsoxr(オーディオリサンプリング、ビルド時にリンク)、libopus(オプション、音声品質向上)、ONNX Runtime(VADと終了検出のためランタイムロード)。Dockerイメージはこれら全てを含んでいます。

使用方法:go get github.com/gojargo/jargo で取得し、ローカルビルドにはネイティブ依存関係のインストールが必要です。Dockerを使用する場合は、イメージをビルドし、必要なAPIキーを設定して実行します。例として、APIキー不要のエコーボットと、DeepGram・Anthropic・ElevenLabsのキーが必要なフルボイスボットが用意されています。

ライセンスはBSD-2-Clauseで、Pipecatと同じです。上流のDailyの著作権を保持し、独立したプロジェクトであり、Dailyとの提携や推奨はありません。