![見出し画像](https://assets.st-note.com/production/uploads/images/102761741/rectangle_large_type_2_5a7ebd4a483f27be14b2526d6513bade.png?width=1200)
【動画レポ】ChatGPT研究会 第3弾・OpenAI社のChatGPT APIを使ってみた!
スピーカー紹介
田中 正吾さん
・屋号ワンフットシーバスでフリーランスとして活動
・Microsoft MVP・IBM Champion
![](https://assets.st-note.com/img/1681557554483-ScwFiMHRun.png)
<資料です>
ChatGPTの私の印象
![](https://assets.st-note.com/img/1681558157277-LUlf7c6wwW.png)
・自然言語をかなり理解してくれる
・ジャンルが万能(得手不得手はある)
・人間が分かる言葉で回答してくれる仕組み
〜非常に面白いテクノロジー
使ってみて自分の領域(IoT、Horolens・・・)に近づいてきた
OpenAI社のChatGPT API
・使いやすい形で提供されている
Chat completionを使用
・おおまかにはWeb版のChatGPTで使えるものと近い
・色々なサービスに目移りしたけど・・・
・GPT3.5turboは小規模で高速、比較的簡単な自然言語処理タスクに使用される
簡単なデモでOpenAI使ってみる
準備
・API refaenceページからアクセス
・ログインする(サインアップの呪いに注意)
・API Keysのページで「Create new secret key」をクリック
(ページを閉じる前にメモをしておく)
・ドキュメントも豊富
REST API、公式のPython、Node.jsライブラリも使用可
ChatのAPI説明
・非常にわかりやすく書かれている
![](https://assets.st-note.com/img/1681596535887-ml4F3PwS7n.png)
つなぐツールにNode-REDを使用
・IoTなどにつなぎやすいNode-js系のノーコードツール
・ブロック表現なので伝わりやすい
![](https://assets.st-note.com/img/1681596616495-wP8BWPvjLU.png)
・すでにChatGPT関連のNodeが3つ存在している
・今回はnode-red-contrib-sinple-chatgptを使用
![](https://assets.st-note.com/img/1681596977030-uGlZRvt7lQ.png)
(nodeの作者のがおまるさんの記事が詳しいです)
デモで使用する質問
「ウォンバットのかわいいところを3つ教えて下さい」
![](https://assets.st-note.com/img/1681597369310-DKBYrv0QWI.png?width=1200)
質問チャレンジのフロー
![](https://assets.st-note.com/img/1681597486875-W5KhG8g40y.png)
きっかけにボタンを押す
・API KeyをTokenに設定
固定の質問をセットする
・ChatGPTノードに送り込む質問は手前のChangeノードでセット
ChatGPT APIに投げる
回答の結果が出る
デモをしてみた結果
![](https://assets.st-note.com/img/1681597914615-pST4P0NGth.png)
ポイント
・ChatGPT APIはWeb版のような応答ができる
・少し応答を待つ(Web版は徐々に回答/APIは最後にまとめて)
・同じ質問も聞くたびに答えが少しずつ変わる
〜こういったカジュアルな質問にも答えてくれる
なぜChatGPT APIを使うのか
プライバシーが保たれる
・API利用の場合オプトインしない限り学習には使用されない
・利用規約が改定された
・Web版は利用される可能性がある
Web版での自然言語の回答は他のITの仕組みに入れにくい
返答されてもほかで扱うためには加工や抽出が必要
・JSONで返してくれたほうが扱いやすい
⇒試行錯誤をしてやってみた
![](https://assets.st-note.com/img/1681598712678-dFG1WWvZ2Y.png)
・Node-REDのJSONに変換するというNodeを利用
![](https://assets.st-note.com/img/1681599030320-oF8lbxnWO0.png)
JSON縛り質問のポイント
・回答をシステムに組み込むためJSONデータを返すようにした
・質問の中でJSON例を明示すれば理解して返答してくれる
・JSONの回答をした上で聞きたい値を上手く返答してくれる
ルールを決めて絞り込むことで回答精度アップ
・回答精度をより実用へ目指すともどかしい部分が・・・
定義を頑張らないと上手く返してくれない時がある
該当なしの場合質問を入れられる場合も
templateノードで「赤」など指定された言葉を使うように質問文に埋め込んでいる
![](https://assets.st-note.com/img/1681599619269-vzzoA7iubp.png)
うまくいきました
色の質問のポイント
・しっかり質問すれば柔軟に返答してくれる
・同じ質問でも少し違う返答のときもあって面白い
Tempのパラメータ?
・たまにJSON縛りを忘れてしまう事がある
さらにブラシアップ
![](https://assets.st-note.com/img/1681600203171-h8Y21bhBS4.png)
・説明やいいわけは「メッセージ値」に入れるように指示
ブラシアップ版のポイント
・ルール・返答・JSONデータ・返答前にチェックと言う見出し
・例外処理を明確にお願いする⇒説明文が加えられなくなる
・説明文を入れる値も明確にする
・質問をチューニングするとちゃんとJSONで回答してくれる
![](https://assets.st-note.com/img/1681600570237-L4IEiTUa28.png)
やっぱりLチカもさせてみたい
返答によりLEDをチカチカさせてみる
![](https://assets.st-note.com/img/1681600779287-9w7OFfvXvU.png)
・既存のobnizeのLEDシステムにChatGPT経由で点灯命令をする
・後半にChatGPTの命令を加える
![](https://assets.st-note.com/img/1681600967264-CUasTbzwx2.png)
さらにステップアップ
言葉に対して対応する仕組みを作ってみた
![](https://assets.st-note.com/img/1681601049040-uvYnfQ9hEw.png)
・"type":"on" LED点灯 セリフ「オンにして」
・"type":"off" LED消灯 セリフ「オフにして」
・"type":”blink”,"interval":1,"count":3 3回点滅「3回点滅して」
https://twitter.com/1ft_seabass/status/1635135055503949829
うまくいきました
![](https://assets.st-note.com/img/1681603411153-qQepFVufxE.png)
さらに音声認識を加える
・入り口のところに音声認識を加える
・音声認識はhololensの音声認識を加える
![](https://assets.st-note.com/img/1681603494754-YdCYoybjFI.png)
できたー!#HoloLens2 から #ChatGPT を使った #obniz への自然な呼びかけで、オン→オフ→3回点滅の指示!
— Tanaka Seigo (@1ft_seabass) March 13, 2023
HoloLens 2 から音声認識したテキストを中継役の Node-RED が node-red-contrib-simple-chatgpt 経由でオン・オフ・点滅を判断した返答 JSON データで obniz に指示してます! #nodered pic.twitter.com/VgNUzlo5IP
・音声認識がカタカナでも漢字でもChatGPTが正しく判定する
料金などの話
料金の話
3ヶ月無料トライアルを使ってから課金するようにした
![](https://assets.st-note.com/img/1681603958166-n3RiOitGmM.png)
・1トークン:0.002円
・使いすぎ防止の為Usage Limitsを設定(ソフト/ハードを設定)
OpenAIの他のAPI
・画像生成、
・Wisper:音声データをテキストに変換しChatに送る
センサー値タイムスタンプで異常検知
・センサー値タイムスタンプのJSONデータで異常値検知
・温度の揺れを試してみた「怪しいところを教えて」
めちゃくちゃしゃべる。原因も推測して提案
・異常検知専門のAIよりはライトな使い方があるかも
地点に応じた日の出/日の入りのデータ
・うまくいかなかった。微妙に違う値
・元データが色々あるのが原因か?
柴犬APIに自分で取っていってもらう
・うまくいかなかった
・アクセスできなかった、自らHTTPアクセスで応える機能はまだ
質問を多くするとテキスト量(トークン)が多くなる
・GPT4だとより質問不可が下がる?
まとめ
・APIを使うとNode-REDのようなサーバなどと連携しやすい
・質問で上手く誘導すると扱いやすいJSONデータの回答に出来た
・音声認識を加えるとより強力になる
・質問次第では自分の仕組みに組み込める可能性をとても感じた
・皆さんも是非ChatGPT APIを使ってみてください
質疑応答
Q:文系の新人くんに指示しているみたいですね
A:そうですね、新人の属性で言うと集中力が高くて優秀な方だと思います。詰められている火力が強いので暴走しやすい
Q:「いつもありがとうございます」とプロンプトに入れていますがアレは効果があるんですか?
A:アレは自分のコントロールのため。丁寧に話すことで構造的に話を組み立てるようになる。心理的な効果。雑にやると理論が破綻したりする。
Q:昔のファジー制御を思い出した。ぴゅう太を思い出します
A:相対し方は似てる気がしますね。シーマンとか・・
むこう足りない点にこっちが合わせているんですよね。
Q:異常検知ネタはおもしろそう
A:そうですね。異常検知のAIとかは学習させるのが結構大変なので・・。厳密に言うとIoTのAIって局所最適されてしまうのでほかへ持っていけないけど、ChatGPTはあいまいさを保っているので似たような場所であればいけちゃう気がします。
温度調節の話をすると自分で「冷房期」「煖房期」の境を決めるのがダサい気がする。状況や部屋の人数にも合わせて調整してくれる。ChatGPTが察して先回りしてくれるのを期待。
Q:Hololensのときの言葉の揺れを吸収するのには感動しました
A:すごいですよね。多分アレは英語もいけると思います。多言語の可能性は感じます。
ChatGPTを間に挟んだからこそできる事例ですね
おそらく3才児の叫びでも反応する可能性があると思います
Q:この話は有料コンテンツにしてもいいのでは?
A:この話はオフラインでもいいように作ってあるので、ChatGPTでLチカのリアルイベントをやってみたいです
Q:料金の上限に達するとどうなりますか?動かなくなるんですか?
A:まだ達したことがないのでわからないです。多分そういう事をしてくれるのかなと思います。皆さんも注意して使っていただきたいです。
Q:得られることに対して安いですよね
A:安いですよね。特に僕はフリーランスなので、一人で黙々と演るケースが多いのでコンテキストがあるパートナーがそこに居て対話できるというのがいいなぁと思いました。
Q:部下にChatGPTというのはどうですか?
A:そこは難しいと感じます。今回のは絞り込んでやっていますが、プログラムは自由度が大きいので絞り込ませるのは上司が頑張らないと厳しい感があります。そういうふうに考えると悩みます。希望としては狙ってみたいと思います。10人ChatGPTで揃えるとマネジメントコストでハゲそうですね。
Q:マネジメントもChatGPTに任せられないかなと思います
A:そうですね。中間管理職は彼らにやらせたほうが良いと思います
Q:今日OpenAIのCEOが岸田首相に「日本の優先度を上げる」と言いましたが、ヨーロッパや中国に比べて日本は規制が遅い気がします
A:そうですね
それと欧米はヒューマノイドは文化的に嫌がりますが日本は明るいイメージが合って寛容な気がします。日本は帰省の決断も遅いのでもしかしたら日本は開発しやすい環境(AI開発ヘイブン)になるのではと期待しています。
世界をリードするチャンスかも知れないです
クロージング
YOKOさんのイラレコです
![](https://assets.st-note.com/img/1681607490150-nnINxNpaXY.png?width=1200)
次回の開催
![](https://assets.st-note.com/img/1681607213031-wg38EJsqlC.png)
![](https://assets.st-note.com/img/1681607339559-6U3kMpXpwu.png)
アーカイブもあります
いいなと思ったら応援しよう!
![keita](https://assets.st-note.com/production/uploads/images/21613933/profile_b17fdc5ba49381fafd459e260bf35443.jpg?width=600&crop=1:1,smart)