AI屋さんの LLMに200万トークン全文入力と「ずんだもん」とサーバーレスと私 実践編
LLMとvoicevoxとstreamlitとdockerとcloud runで
LLMに200万トークン全文入力 追加学習ずみの専門分野特化のLLMの作り方
完成イメージ
お喋り ずんだもん先生 の「吾輩は猫」なのだ。
https://
zunda-ghc4uieygq-an.a.run.app
ずんだもん先生 のためにvoicevoxのサーバーを サーバーレスに dockerイメージをデプロイしてみましょう。
簡単です。
dockerイメージを指定してあげます。
ポートは 50021 です。
メモリは 2ギガ以上 推奨です。
いくつか 注意点
とっても簡単なのは良いのですが、あまりにも簡単すぎます。
機会があれば、サーバーありで建てるのも楽しいです。
ダウロードして、fastAPIとWEBサーバーを起動するだけです。
あと、実践派としてはローカルの物理マシンが現実的な場合も多いかもしれません。むしろ前回の方が近いです。
そうこうしている内に、あっという間にデプロイ完了です。
もはや、チート技です。
クラウドにも、動く環境を構築できました。
→voicevox ローカル
→pythonで 実行
→voicevox クラウド(今回ここ)
→pythonで 実行
→streamlit クラウド
→完成
クラウドに、ずんだもん先生のための voicevox サーバーが完成です。
中身は、pythonの fastAPI で出来ています。
あとは、使うだけですね。
動作確認は、前回と同等です。
URLだけ修正です。
公式 取説参照
echo -n "こんにちは、音声合成の世界へようこそ" >text.txt
curl -s
-X POST
"127.0.0.1:50021/audio_query?speaker=1"
--get --data-urlencode text@text.txt> query.json
curl -s
-H "Content-Type: application/json"
-X POST
-d @query.json
"127.0.0.1:50021/synthesis?speaker=1"> audio.wav
無事に、音声ファイルが出来ていれば
ずんだもん先生の完成です。
念の為、pythonで書いたらこんな感じです。
import requests
import json
url_query = "http://127.0.0.1:50021/audio_query?speaker=1&text=こんにちは、音声合成の世界へようこそ" # httpを追加
response_query = requests.post(url_query)
url_synthesis = "http://127.0.0.1:50021/synthesis?speaker=1" # httpを追加
headers = {"Content-Type": "application/json"}
response_synthesis = requests.post(url_synthesis, headers=headers, json=response_query.json()) # jsonパラメータを使用
if response_synthesis.status_code == 200:
with open("audio.wav", "wb") as f:
f.write(response_synthesis.content)
print("Successfully generated audio.wav")
あと、pythonのwebアプリ・webapiの streamlit、fastAPI、flask、gradio、flet なども ポート8080で起動する設定でdockerイメージにしてから サーバーレスへデプロイする方法は どれも今回とほぼ一緒です。web画面をポチポチするだけの簡単操作です。
サーバーレスなのでゼロ円〜、維持もメンテもクラウド任せ、超ニッチ用途のクラウドサービスも気楽に建てまくれます。
遍く、自分専用LLMとお喋りしながら お仕事できます。
もはや、pythonひとつで 概ね全部作れそうな気がします。
何処かの誰かが勝手に作った仕組みですが、サービスの範囲内の利用であれば、知っていると圧倒的に便利です。
AI屋さんが独りで 開発、運用、保守 を簡単に行えます。
是非、皆さんもお試しください。
目次
無事に
AI屋さんの LLMに200万トークン全文入力と「ずんだもん」とサーバーレスと私 実践編
完成です。おめでとうございます。
ー続くー