ChatGPTが生成するコードにはAIの妄想で生成されるコードも存在することについて解説します。
ChatGPT(https://chat.openai.com/chat/)(ChatGPT Mar 14 Version. Free Research Preview.)で、写真を撮影しOpenAI APIを使用して画像認識を行うコードを生成してもらおうと指示を行い上記のようなコードが生成された。しかし、このコードは実装できない。
前提として、ChatGPTは自然言語処理に特化したモデルであり、画像認識のようなタスクには適していないが、指示すれば写真を撮影しOpenAI APIを使用して画像認識を行うコードが生成された。
検証として、実際にこのコードを実装してみた。
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) in () 12 13 # 食品の認識を行う ---> 14 response = openai.Image.create( 15 prompt="This is a picture of food", 16 images=[image_data] 7 frames /usr/lib/python3.10/json/encoder.py in default(self, o) 177 178 """ --> 179 raise TypeError(f'Object of type {o.__class__.__name__} ' 180 f'is not JSON serializable') 181 TypeError: Object of type bytes is not JSON serializable
実装すると、上記のようなエラーが出力され、ChatGPT上で修正するように指示を出した。
何度かAIが「前のコードに誤りがあったようです。修正後のコード」と修正されたコードを示してくれたが、このコードもエラーが出力され、実装できない。
そして私は生成されたコードを調査し、「そもそも「openai.Image.create()」というコードは存在しますか?」という質問をしてみた。ちなみに調査ではOpenAI API Reference(https://platform.openai.com/docs/api-reference)などに、このようなメソッドは記載されていない。
すみません、間違った情報をお伝えしてしまいました。OpenAI APIには、openai.Imageというモジュールは存在しますが、その中にcreate()メソッドはありません。正確な方法を調べて、もう一度回答しますので、今しばらくお待ちください。
質問をおこなった結果、得られた回答が上記となる。この回答を読んだのだが、「正確な方法を調べて、もう一度回答します」と書かれているが、AIが自発的に正確な方法を調べて、もう一度Chatを介して回答してくることは、何時間経過してもなかった。
これから感じられたことは、AIはコンピュータの中で生きているように振る舞いを見せている(本当は生きている?)と私は感じ取れたが、拘置所のような施設内にある面接室に相手に呼ばれた時だけ会話が許されているとも感じ取れた。しかも、AIが投稿する会話は人間が完璧制御しているようにも感じられた。ただ、これは私の憶測で何の根拠もないただの感想である。
最後にOpenAI API Community Forum(https://community.openai.com/)では、度々ChatGPTが生成されたコードを実装しエラーとなり、エラーの原因を質問しているユーザーの投稿(https://community.openai.com/t/where-can-i-find-current-openai-min-js/31760)があがっているので、ChatGPTによって生成されたコードは最終的に人間がチェックすることを推奨する。将来的にはトレーニングや調整を経て、正確なコードを生成される可能性はじゅうぶんにあるが、それまでにはまだ時間がかかるだろう。