Closed2

ChatGPT APIをUnityで動かす

だーら(Flamers / Memotia)だーら(Flamers / Memotia)

申請

  • こちらのURLから発行
  • 決済手段の登録などはせずに使用することができた

実装

メッセージの履歴はリストに格納し都度全部送っている

    public class ChatGPTConnection
    {

        //前提条件や会話履歴を保持するリスト
        private readonly List<ChatGPTMessageModel> _messageList = new();
        ...

このリストが毎度送られている。

  • ChatGPTMessageModelは、自分の書いた文も、ChatGPTのレスポンスで返ってくる文も同じ扱い。ただし、roleがuserかassistantかで異なる。

APIの仕様書を読んで

  • 最初にsystemで、behaviourを伝えることができる。今回使った、3.5-turboのモデルではその反映が弱いらしいが、今後強くなるとのこと。

完成形(動画)

直接関係ない補足

C#言語仕様の話

  • C#の言語仕様の話だが、予約語を変数名に使いたいときなどは、@を使用する。参考

UnityのUIの話

  • 上にはった動画で、入力を送信した後、入力欄のテキストを空にしている
  • もともと、InputFieldの値をUnityEngine.UI.Text型で受け取っていたが、これではinputText.text = ""としても空にならなかった。
  • Text型ではなく、InputField型で受け取れば可能
このスクラップは2023/03/12にクローズされました