• 技术文章 >php框架 >Laravel

    手把手教你在Laravel10项目中使用ChatGPT

    藏色散人藏色散人2023-03-16 15:41:11转载182

    本篇文章给大家带来了关于Laravel的相关知识,其中主要介绍了怎么在Laravel10项目中使用ChatGPT?感兴趣的朋友,下面一起来看一下,希望对大家有帮助。

    在 Laravel 10 项目中使用 ChatGPT!

    你会得到什么

    4a9e0dafe03648c2f1685bd91f8c63b.jpg

    3f19bfe08eeb43d660216bb39a614c3.jpg

    我假设你已经使用官方文档安装了 Laravel 10 框架

    第一步:创建控制器

    <?php
    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Http;
    class ChatGPTController extends Controller
    {
        public function index()
        {
            return view('chatgpt.index');
        }
        public function ask(Request $request)
        {
            $prompt = $request->input('prompt');
            $response = $this->askToChatGPT($prompt);
            return view('chatgpt.response', ['response' => $response]);
        }
        private function askToChatGPT($prompt) 
        {
            $response = Http::withoutVerifying()
                ->withHeaders([
                    'Authorization' => 'Bearer ' . env('CHATGPT_API_KEY'),
                    'Content-Type' => 'application/json',
                ])->post('https://api.openai.com/v1/engines/text-davinci-003/completions', [
                    "prompt" => $prompt,
                    "max_tokens" => 1000,
                    "temperature" => 0.5
                ]);
            return $response->json()['choices'][0]['text'];
        }
    }

    第二步:创建路由

    <?php
    use App\Http\Controllers\ChatGPTController;
    use Illuminate\Support\Facades\Route;
    (...)
    Route::get('/chatgpt', [ChatGPTController::class, 'index'])
        ->name('chatgpt.index');
    Route::post('/chatgpt/ask', [ChatG²PTController::class, 'ask'])
        ->name('chatgpt.ask');

    第三步:创建布局

    // layouts/app.blade.php
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <title>My ChatGPT App</title>
            <!-- Styles -->
            <link href="{{ asset('css/app.css') }}" rel="stylesheet">
            <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
        </head>
        <body>
            <div class="container mt-5">
                @yield('content')
            </div>
        </body>
    </html>

    第四步:创建 index 页面

    // chatgpt/index.blade.php
    @extends('layouts.app')
    @section('content')
        <div class="container">
            <div class="row justify-content-center">
                <div class="col-md-8">
                    <div class="card">
                        <div class="card-header">Ask something to ChatGPT</div>
                        <div class="card-body">
                            <form method="POST" action="{{ route('chatgpt.ask') }}">
                                @csrf
                                <div class="form-group">
                                    <input type="text" class="form-control text-center" name="prompt" placeholder="Ask something...">
                                </div>
                                <button type="submit" class="btn btn-primary">Send</button>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    @endsection

    第五步:创建 response 页面

    // chatgpt/response.blade.php
    @extends('layouts.app')
    @section('content')
        <div class="container">
            <div class="row justify-content-center">
                <div class="col-md-8">
                    <div class="card">
                        <div class="card-header">ChatGPT answer</div>
                        <div class="card-body">
                            <p>{{ $response }}</p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    @endsection

    最后第六步:创建一个 .env 变量

    CHATGPT_API_KEY=YOUR_API_KEY

    获取 ChatGPT API 密钥

    要获取 API 密钥,您可以转到您的 openai 平台帐户中的 api-keys 部分并生成您的密钥

    35f75a4a35af3ad046aec27e480e7f1.jpg

    如果你想要更多的例子,你可以去官方的例子部分:platform.openai.com/examples

    推荐学习:《laravel视频教程

    以上就是手把手教你在Laravel10项目中使用ChatGPT的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:learnku,如有侵犯,请联系admin@php.cn删除
    专题推荐:ChatGPT Laravel10
    上一篇:laravel表单验证的错误提示如何显示中文? 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 爆火的ChatGPT还不会用?这次手把手教你!• ChatGPT注册流程攻略,含验证码接收(图文步骤)• 问了ChatGPT几个PHP问题,看这厮咋回答的• VSCode插件推荐:ChatGPT Plus中文版,大幅度提高开发者效率!
    1/1

    PHP中文网