ハマログ

株式会社イーツー・インフォの社員ブログ

ChatGPT使ってみた

巷で噂のChatGPT。
当初はStable Diffusionなどの画像生成AIに驚いていましたが、これ読んでAIと自然に会話できてる!人工無能じゃない!と驚きました。
いろいろ見ているとChatGPTに自然言語からプログラムを書かせたりする例まで登場。これもう私、仕事しなくていいじゃんと思いましたがとにかく使ってみたくなりました。
が、使い方がわからない。ならそれもChatGPTに聞けばいいんじゃね?という事でChatGPTに聞いてみることにしました。

ChatGPTに聞いてみる

laravelでchatgptのAPIを実行する方法を教えて
ChatGPTは、自然言語生成モデルです。
自然言語生成モデルは、人間が使うような自然なテキストを生成することができます。
Laravelは、PHPフレームワークです。Laravelを使ってChatGPTのAPIにアクセスするには、次のようにします。

ChatGPTのAPIのドキュメントを参照して、APIのエンドポイントやパラメーターなどを確認します。
LaravelでHTTPクライアントを使って、APIエンドポイントに対してHTTPリクエストを送信します。
HTTPクライアントは、Laravelに標準で含まれているGuzzleを使うことができます。
APIからのレスポンスを受け取り、必要に応じて処理を行います。
以下は、LaravelでChatGPTのAPIを使う場合の例です

<?php
class ChatGptController extends Controller
{
    public function generateText(Request $request)
    {
    // ChatGPTのAPIエンドポイントのURL
    $apiUrl = 'https://api.openai.com/v1/text-davinci/generate';

    // APIに送信するパラメーター
    $apiParams = [
    'model' => 'text-davinci-002',
    'prompt' => '今日の天気はどうですか?',
    'max_tokens' => 100,
    ];

    // Guzzleを使ってAPIにリクエストを送信する
    $client = new Client();
    $response = $client->post($apiUrl, [
        'headers' => [
        'Content-Type' => 'application/json',
        'Authorization' => 'Bearer ' . env('CHATGPT_API_KEY'),
    ],
    'json' => $apiParams,
    ]);

    // APIからのレスポンスを取得する
    $result = json_decode($response->getBody()->getContents(), true);

    // 生成されたテキストを取得する
    $generatedText = $result['data']['text'];

    // 生成されたテキストを表示する
    return $generatedText;
    }
}

ChatGPTすごい!でも。。

ひとことお願いしただけですぐにこれだけのコードを作ってくるのはすごい(すごいしか言ってない)
将来私の仕事なくなるかも。
でもこのコード実は細かいところでいくつか間違いがあり動かないです。
プログラムなので間違いが明確にわかりますが、回答の中にさらっと嘘を混ぜてくることも多くまだ発展途上という印象です。それでもこのクオリティは驚きですが。
将棋の世界ではAIはもう人間を超えつつあるとの声もありChatGPTの今後にも注目したいです。

ちなみに今日の晩ごはんをChatGPTに聞いたところお好み焼きをおすすめされました。

  at   2022年12月27日


関連記事

Laravelのjsonレスポンスでスラッシュをエスケープしない

Laravelでjson形式のレスポンスを返却する際に、内部でjson_enco…

Laravel Passportを使ったOauthサーバ その2

今回はLaravel Passportを使ったOauthサーバの続きです。 認証…

Amazon Simple Queue Service をPHPで使ってみる

皆様、お疲れ様です。 uminchuです 今回は前回軽く触れたAWSの機能の一つ…


← 前の投稿

次の投稿 →