🤖
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