どうでもいい話
OpenWebUIを使っているのですが、なんというか喋って欲しいし、聞いてほしい。
でもOpenWebUIは(私のトライアルでは)GPUビルドではエラーが出ますし。STTはCPUでは、レスポンス的に問題です。
どれもこれもうまく動かないとか、実用レベルでないとか。そもそもうまく動かないのでOpenWebUIの設定があっているすらよくわからなくなってしまいました。
2週くらい、これがだめ、あれがだめ、と動くものを探しました。。。
TL;DR
下記のものは動きました。
・STT(Speech-to-Text)
https://github.com/ggerganov/whisper.cpp.git
・TTS(Text-to-Speech)
https://github.com/nichiki/voicevox-openai-tts
STT(Speech-to-Text)の動作状況
こちらはほぼトラブルなく動きました。
https://github.com/ggerganov/whisper.cpp.git
です。作成者の方ありがとうございます。
Docker内にインストールしました。
ハマりポイントは
--inference-path "/v1/audio/transcriptions"
をつけないとOpenAI APIが有効にならないところです。
モデル ggml-large-v2-q8_0.bin
GPUメモリ 2.5GB
でした。
CPUでも試してみましたが、レスポンス的に実用ではない感じです。
whisperをpipでインストールするタイプのは、私の環境ではうまく動かせませんでした。
マニュアルでインストールのトライもしてみましたが、whisperを入れることすらできませんでした。なんで・・・。
感触的に
ggml-large-v3-turbo-q8_0.bin
より
ggml-large-v2-q8_0.bin
のほうが、認識率がいいような気がします。
ただ、v3のほうがGPUのVRAM使用率が低いので苦しいときはv3でもいいかもしれません。
どちらにせよGPUにオフロードするのは一瞬の割にメモリは確保しっぱなしになるので、GPU二枚にして安いGPUに割り当てるのもいいと思います。
TTS(Text-to-Speech)の動作状況
デフォルトではトラブルなく動きました。
https://github.com/nichiki/voicevox-openai-tts
です。作成者の方ありがとうございます。
GPUメモリ 3.5GB
でした。
CPUでも試してみましたが、同じくレスポンス的に実用ではない感じです。喋り出すまでに何十秒もかかります。
なお、こちらは、出力ポートを変更したくて、ポート番号箇所をgrepで探して打ち替えたのですが動きませんでした。。。わかる方教えてください。。。
こちらも、GPUにオフロードするのは一瞬の割にメモリは確保しっぱなしになるので、GPU二枚にして安いGPUに割り当てるのもいいと思います。
OpenWebUIの設定
エンジンのところに http://localhost:XXXX/v1
とKeyを適当に入れれば動きました。
”ハンドコーディングという言葉の意味について教えて”と言ってみました。
ご視聴とはいってないんだけど。。。
めたんちゃんが教えてくれました。
+----------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|============================|
| 0 N/A N/A 66056 C /opt/voicevox_engine/run 3454MiB |
| 1 N/A N/A 11899 C ....cpp/build/bin/whisper-server 2580MiB |
+----------------------------+
