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; }
测试请求
总结
基本上完成了,实际使用中,还需要对用户提交的文本进行验证和敏感词处理。
并对输出数据进行业务处理后,设置好相应的格式输出。
上一篇:
Python 安装包管理工具 pip