AIをフル活用してRaspberry Pi 4でGPT-3とかいうの動かしてみる話 中編

スポンサーリンク

中編でやること

やること

 

中編はRaspberry PiでWebサーバを立ててGPT-3を動かせるGUIを作るまでです。

ついでにGPT-3.5 Turboがすごいすごいと騒がれているので使ってみようと思います。

 

というかこれ既にやってる人いるんですよね。

もはや自分でやらずにgithubから拾ってくるだけで終わるっていうね。

まあ勉強ということで。

 

最終的にこれが出来上がるとラズパイのローカルでこのサイトが動きます。

Step 1: githubからコピる

誰かが作ったデモ用のchatgptが落ちてたので拾います。

 

保存したいフォルダでコンソールからコマンドを打つだけです。

 

Step 2: インストールする

昔pythonちょっと触ってたときの古の記憶が蘇ってきました。

package.jsonがあるフォルダでnpm installって打つとなんか勝手にインストールして全てが終わるすごいコマンドがあるんですよ。知らんけど。

npm install
コンソール
   npm install

 

Step 3: .envファイルを作る

古の記憶によると.envファイルは動かす人が個人的に使うキーとかパスとかを入れる場所らしいので.envファイルを作って同じフォルダに保存します。

使うのは前編で作ったOpen AIのAPIキーです。

APIキーをブチ込む

 

Step 4: 動かす

古の記憶によるとpackage.jsonがあるフォルダでnpm run startって打てばいいらしいので打ってみたら動きました。どういうコマンドなのかは特に理解していなかった気がする。

npm run start
コンソール
   npm run start

 

とりあえずこれでhttp://localhost:3000/にラズパイからアクセスするとWeb画面にアクセスすることができました。これでもうgpt-3.5-turbo使えます。すごい!簡単!

Web画面

 

Step 5:Webアクセスできるようにする

現状ラズパイからじゃないとアクセスできません。どうせなら自分のPCからアクセスしたい。

このプログラムはChatGPTをAstroという謎のWebフレームワークで動かしているみたいです。

ということでAstroのドキュメントを読んでネットワーク上で動かすやり方を調べます。

 

調べたらastro.config.mjsというファイルをいじらないといけないようです。

いじくりまわしていつの間にかできてたんですが、なかったら多分npm run-script buildとか打てば出来ると思います。

 

astro.config.mjs

import { defineConfig } from 'astro/config'
import vercel from '@astrojs/vercel/edge'
import unocss from 'unocss/astro'
import { presetUno } from 'unocss'
import presetAttributify from '@unocss/preset-attributify'
import solidJs from '@astrojs/solid-js'

// https://astro.build/config
export default defineConfig({
  integrations: [
    unocss({
      presets: [presetAttributify(), presetUno()]
    }),
    solidJs()
  ],
  output: 'server',
  adapter: vercel(),
  server: {port:1234, host:true}
});

server: {port:1234, host:true}

を入れたらラズパイのIP:1234でアクセスできるようになりました。

設定後

あとはWebUIを魔改造したらオリジナルのChatGPTの完成。

 

軽く話してみた感じ前編でおにぎり連呼してたダヴィンチくんとは別物です。

GPT-3.5 Turboくんは「ん」で終わる答えに対して「んぱ」で返してきました。

GPT-3.5 Turbo

ちなみにAPIの利用は無料ではありません。最初に18ドル分のトライアルがありますが、それを使い切ると有料になるのでローカル環境で遊びすぎると使えなくなります。

https://platform.openai.com/account/usageにアクセスすると残りの使用できる量がわかるので参考にしてください。

 

次回はチャットボットとの連携をしてみたいと思います。

 

以上

圧倒的成長。