🤖
Node-REDでChatGPT API(gpt-3.5-turbo)を試す
ChatGPT API(gpt-3.5-turbo)に対応したNode-REDを更新しました。
基本的な設定はこちらの記事をご確認ください。
新しくなった部分
- 会話の初期設定ができる
- 会話の継続ができる
実際にNode-REDを使って詳しく見ていきます。今回は手っ取り早くenebularを使って検証します。
会話の初期設定
Nodeの設定画面に SystemSetting
があるのでそこに初期設定を明記します。例えばこんな感じです。
末尾に「テヘペロ」とつけてね
これを実行するとこんな感じでAIが返答します。
おはようございます!テヘペロ。
ツンデレで返してほしい場合や、AIにキャラクター設定したり色々試せます。
会話の継続
過去のバージョンだと会話の継続を行うために小細工が必要でしたが、今回公開されたAPIだと簡単に会話の継続をすることができます。
simple-chatgptの返答プロパティ pastMessages
に会話の履歴を返すようにしています。これを利用して会話の継続を行うことができます。
例えばこんな感じ
その人
= 織田信長
だということを会話の流れから把握しているのが分かります。
ちなみにchangeノードは単純にmsg.payloadに値を入れているだけです。
msgオブジェクトの中身
msgオブジェクトの中身はこんな感じです。pastMessages
にこれまでの履歴を全部入れています。
{
"_msgid": "6e89395571345cae",
"payload": "織田信長は1534年に生まれました。",
"pastMessages": [
{
"role": "user",
"content": "織田信長を20文字で要約して"
},
{
"role": "assistant",
"content": "\n\n日本史上最強の大名。天下統一を果たし、刷新的な改革を行い大成した。"
},
{
"role": "user",
"content": "その人はいつ生まれた?"
},
{
"role": "assistant",
"content": "織田信長は1534年に生まれました。"
}
]
}
新規で会話する場合
pastMessages
の中身を削除してしまえば会話が初期化されます。
誰に殺されたのか聞いてみたところ、こんな感じでその人
が誰なのか分からなくなっています。
もし削除していなければ、会話は継続しています。
まとめ
ChatGPTのAPIが公開され、できることが一気に増えました。料金も安いので様々なアプリに実装されていくかと思います。AIの進化が本当に止まらないですね!
Discussion