ChatGPT 整合到Laravel项目中使用

之前写的是直接下载ChatGPT SDK当做单独项目开发使用的,这次写的是整合到当前项目中使用ChatGPT 合并为一个项目去使用;具体操作方法也有一定区别。

1.安装ChatGPT SDK

安装命令:

composer require tectalic/openai

2.加载ChatGPT类库

查看ChatGPT类库配置

添加ChatGPT类库配置到composer.json相应位置

即:

require

require-dev

在require、require-dev原来信息的基础上添加这些类库

我使用的是laravel框架,默认是有phpunit类库的,所以不需要在加上去。

如果没有请安装。

命令:

composer require phpunit/phpunit

也可以直接添加到require属性的最后一个

"phpunit/phpunit": "^8.5.14 || ^9.5"

然后执行composer update

3.安装guzzlehttp

按理说不用安装的,不过发现vendor/guzzlehttp中没有guzzle/promises,

只有psr7,所以需要安装

命令

composer require guzzlehttp/guzzle

安装完成,vendor/guzzlehttp下多出两个文件夹

4.代码实操

设置路由

// 测试chatGPT
Route::post(productGPT, ApiProductOrderController@index);

控制器方法

public function index()
{
    require ../vendor/autoload.php;

    $text = request()->input(text);
    $open_api_key = 你的Open Ai key;
    $openaiClient = TectalicOpenAiManager::build(
        new GuzzleHttpClient(),
        new TectalicOpenAiAuthentication($open_api_key)
    );

    /** @var TectalicOpenAiModelsCompletionsCreateResponse $response */
    $response = $openaiClient->completions()->create(
        new TectalicOpenAiModelsCompletionsCreateRequest([
            model => text-davinci-003,
            prompt => $text,     // 设置问题
            max_tokens => 500,   // 设置答案长度 不设置只显示部分字符
        ])
    )->toModel();

    print_r($response->choices[0]->text);die;
}

测试请求

总结

基本上完成了,实际使用中,还需要对用户提交的文本进行验证和敏感词处理。

并对输出数据进行业务处理后,设置好相应的格式输出。

经验分享 程序员 微信小程序 职场和发展