コードバックエンド(OpenAIのAIと連携する)SamplesController.phpフロントエンドindex.phpJavaScriptコードのポイント解説:会話の経緯も含めてAPIに送る必要がある。概要ChatGPTのAPIを組み込んで、ChatGPTのような対話型のコンソールを実現するとします。↓のようなフォームを作ります。こんにちは、と入力して送信すると...会話が成立します。(回答はChatGPTのAPIが生成したものです。以下の状態を前提とします。・OpenAIのアカウントがある・OpenAIのAPIKeyを発行済み・OpenAIの支払い設定済みAPIの発行手順・支払い設定の設定方法については、本記事では割愛します。コードバックエンド(OpenAIのAIと連携する)OpenAIのAPIと連携する。こちらからの質問を渡して、回答をフロントエンドに返します。}このコードは簡略化のためにAPIKeyを直書きしていますが、これはセキュリティの観点から望ましくありません。実際に運用する際は、.envを利用する等しましょう。フロントエンド対話コンソールのレイアウトと、バックエンドにフォームの値を送信するシステムを作ります。こんにちはAIコンソールです。なんでもお気軽にご質問ください。id="disclaimer">AIの回答は必ずしも正しいとは限りません。重要な情報は確認するようにしてください。});});コードのポイント解説:会話の経緯も含めてAPIに送る必要がある。SamplesControllerのChatAPI()関数についてです。$text];なぜこんなことをしているの?過去の会話の経緯をsessionから取得して追加→最新のユーザメッセージ(フォームから送られたのもの)を追加、と言う流れです。こんなことをするかというと、ChatGPTのAPIでは過去の会話の経緯を保持してくれないからです。これをやっておかないと、AIがこれまでの経緯を含めた回答をしてくれません。会話の経緯を保持しておかないと、会話がつながらない会話の経緯をもとに「それ」に1を足してほしいと言ってるのですが、「それ」が何かAIに伝わっていません。過去の会話の経緯を保持すると、会話がつながる最新のメッセージだけではなくて、過去の会話も送ってあげることで↓のように適切に会話がつながるようになります。$messages);こちらからの質問だけでなく、ChatGPTのAPIからの回答もsessionに保存しています。これも、会話の経緯をChatGPTに理解させるためです。過去3セット分の質問・回答だけに絞っているのは、料金を抑えるためです。※文章量に対して従量課金されます。料金については公式サイトをご参照ください。精密さを求めるのであれば保存する会話セット数を増やすとよいでしょう。コピーフォローするmule関連記事CakePHPPagination(ページネーション)を利用したデータ取得方法【CakePHP4】Cakephpではページネーション(ページ送り)の設定を柔軟に行うことが可能です。PHPでPDFを生成するためのライブラリです。記事一覧を作る際には「投稿日」を表示することが一般的です。CakePHPではControllerからのリダイレクトは、以下のように行います。昨今話題のChatGPTですが、やはりものすごく便利なようです。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。ホームCakePHPmulemuleと申します。IT業界で働いて約5年になります。ウェブ製作・ツール系アプリ製作を主に行っております。exports?exports.SyntaxHighlighter=SyntaxHighlighter:nullタイトルとURLをコピーしました。