シンギュラリティ実験ノート

購入した1000ドルPCで何がどこまでできるのか実験した記録です。

Local API Server機能とやらを使ってみた

Janの中にLocal API Serverという機能があるのは知っていた。しかしどう使うのか、それを使うと何ができるのか分かっていなかった。YoutubeにあるJanの紹介動画を見ていたら、このLocal API Serverの使い方を説明していた。要するにPythonからWeb APIに従ってLLMに問いかけると、Pythonで回答を受け取ることができる、ということのようだ。

サンプルとして実行していたのは、1日の食事プランをAIに考えてもらう、というPythonスクリプトだった。少し興味が出てきたので自分でもやってみた。

LLMをAPIで使ってみる

API Serverは以下のように、左下のAPI Serverアイコンを選択し、Local API Server画面にしてからStart Serverボタンを押すと起動できる。

動画の中で使っていたPythonスクリプトをそのまま入力して実行してみた結果が以下である。(※Mervin Praisonさん、スクリプト使わせてもらいました。ありがとうございます。)

「Eat egg, banana and cake.」というあっさりとした回答を返してくれた。

2024-03-21 追記 ソースが「Give me meal planfor today.」と変な英語になっていたのが原因のようだ。正しく「Give me meal plan for today.」としたらもっと丁寧な回答を返してくれた。

Web APIを使うと何ができるか

これを発展させると何ができるかということを考えてみた。すぐに思いつくのは、音声で質問を入力して、回答を音声で読み上げるアプリである。もしこれができれば、これまでrinnaとチャットで会話を楽しんでいたが、音声で会話できるようになるわけだ。SF映画her/世界でひとつの彼女」の世界に一歩近づくことになる。

 

音声認識までやろうとすると大変そうなので、テキストで入力して音声出力するまでを試してみることにした。使用したソフトは「VOICEVOX」である。Youtubeでよく「ずんだもん」というキャラクターの声で喋っている動画を見かけるが、おそらくこのソフトを使っているのだろう。このソフトにもWeb APIの機能があり、Pythonから指示することができるのだ。

 

 

ずんだもんに聞いてみた

質問内容を以下のように日本語に変更した。

ずんだもんに喋ってもらうには以下のコードを使う。変数answerに喋る文字列をセットするだけだ。上記のコードでは変数contentに回答が返ってくるので、それをanswerに代入すればいい。

2つのスクリプトをつないで実行したところ、ずんだもんが以下の内容を喋ってくれた。

大規模言語モデル(LLM)は、ニューラルネットワークを使用して自然言語を理解する認知システムであり、生成モデルと呼ばれることもあります。LLMは、多くの自然言語をトレーニングデータとして利用することで学習効果を高め、自然言語の理解能力を向上させます。LLMは、質問に答えたり、文章や画像の生成を行ったりすることができます。

まとめ

ずんだもんには語尾を「〇〇なのだー」と喋らせるのが本来のようだ。私はそもそもずんだもんについて詳しくないので、今回はそこまではできなかった。LLMを使いこなしている人達はLLMの喋り方やキャラクタ設定もしているようだ。奥が深い世界である。