登录  /  注册
首页 >php框架 >Laravel > 正文

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

转载2023-03-16 15:41:11899

本篇文章给大家带来了关于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
  • 相关文章

    相关视频


    视频教程分类

    专题推荐