会話するAI、
ChatGPT3(Chat Generative Pre-trained Transformer / Google社が開発した自然言語学習モデルTransformerを使った生成事前学習のバージョン3)が世界中で話題です。(
公開6日で100万ユーザー!)
「ChatGPT」
大人気のためサーバーが一時足りなかった模様。
先日つくったコンソールアプリを外出先でも気軽に使えるようにAPIのβ版を使って、webアプリにする方法をご紹介します。(参考、もっともらしい会話が楽しい!AIと会話するコンソールアプリ in Deno/JavaScript)
1. OpenAIのAPIキーを使って、会話を取得する関数 fetchChat を作ります。
2. かんたんWebAPIサーバーライブラリ wsutil を使って、下記のように呼び出すAPIサーバーを準備してバックエンド完成。
import { serveAPI } from "https://js.sabae.cc/wsutil.js";
import { fetchChat } from "./fetchChat.js";
serveAPI("/api", async (param) => {
return await fetchChat(param);
});
3. APIを呼び出すフロントをHTML index.html に、下記のようなJavaScriptのプログラムを加えてできあがり!
import { fetchJSON } from "https://js.sabae.cc/fetchJSON.js";
form.onsubmit = async (e) => {
e.preventDefault();
const prompt = q.value;
ta.value = "考え中...";
const res = await fetchJSON("/api", prompt);
ta.value = res.trim();
};
btncls.onclick = () => q.value = "";
(ai_chat src on GitHub)
「シビックテックをこどもたちに広めるにはどうしたらいいでしょう?箇条書きで説明してください」と質問してみると、なかなかいい感じの回答をくれました。
「小学校における一斉授業のメリットデメリットをおしえてください」
なかなかいい回答をしてくれます。既存の45TBの文章(約45兆文字)を学習した結果とのこと。もちろん、ここに含まれていない情報は計算で生成されることになるので、間違いも大いに発生します。矛盾なく正しいかどうかの検証や、信頼できる出典と組み合わせることができれば更に便利になりそうです。
(参考、自然言語処理モデル「GPT-3」の紹介 | NTTデータ先端技術株式会社)
AIくんにも優しい形式によるオープンデータとする重要性、高まりました!