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

来源:php中文网 | 2023-03-16 16:02:32 |

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


(资料图片仅供参考)

在 Laravel 10 项目中使用 ChatGPT!

你会得到什么

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

第一步:创建控制器

<?phpnamespace 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"];    }}

第二步:创建路由

<?phpuse 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 部分并生成您的密钥

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

推荐学习:《laravel视频教程》

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

关键词: