0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

016 AI屋さんの LLMに200万トークン全文入力と「ずんだもん」とサーバーレスと私 実践編

Last updated at Posted at 2024-10-14

AI屋さんの LLMに200万トークン全文入力と「ずんだもん」とサーバーレスと私 実践編

LLMとvoicevoxとstreamlitとdockerとcloud runで
LLMに200万トークン全文入力 追加学習ずみの専門分野特化のLLMの作り方

完成イメージ
お喋り ずんだもん先生 の「吾輩は猫」なのだ。

https://
zunda-ghc4uieygq-an.a.run.app

ずんだもん先生 のためにvoicevoxのサーバーを サーバーレスに dockerイメージをデプロイしてみましょう。
簡単です。

dockerイメージを指定してあげます。
ポートは 50021 です。
メモリは 2ギガ以上 推奨です。

スクリーンショット 2024-10-13 21.55.44.png

いくつか 注意点
とっても簡単なのは良いのですが、あまりにも簡単すぎます。
機会があれば、サーバーありで建てるのも楽しいです。
ダウロードして、fastAPIとWEBサーバーを起動するだけです。
あと、実践派としてはローカルの物理マシンが現実的な場合も多いかもしれません。むしろ前回の方が近いです。

そうこうしている内に、あっという間にデプロイ完了です。
もはや、チート技です。

スクリーンショット 2024-10-13 23.26.07.png

クラウドにも、動く環境を構築できました。

 →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で書いたらこんな感じです。

スクリーンショット 2024-10-14 8.21.45.png

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万トークン全文入力と「ずんだもん」とサーバーレスと私 実践編

完成です。おめでとうございます。

ー続くー

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?