67 lines
1.9 KiB
PHP
67 lines
1.9 KiB
PHP
<?php
|
||
|
||
namespace app\ai\controller;
|
||
|
||
use app\common\util\JwtUtil;
|
||
use think\facade\Env;
|
||
use think\Controller;
|
||
|
||
class DouBaoAI extends Controller
|
||
{
|
||
protected $apiUrl;
|
||
protected $apiKey;
|
||
protected $headers;
|
||
|
||
public function __construct()
|
||
{
|
||
parent::__construct();
|
||
|
||
$this->apiUrl = Env::get('doubaoAi.api_url');
|
||
$this->apiKey = Env::get('doubaoAi.api_key');
|
||
|
||
// 设置请求头
|
||
$this->headers = [
|
||
'Content-Type: application/json',
|
||
'Authorization: Bearer ' . $this->apiKey
|
||
];
|
||
|
||
if (empty($this->apiKey) || empty($this->apiUrl)) {
|
||
return json_encode(['code' => 500, 'msg' => '参数缺失']);
|
||
}
|
||
}
|
||
|
||
|
||
|
||
public function text($params = [])
|
||
{
|
||
|
||
if (empty($params)){
|
||
$content = $this->request->param('content', '');
|
||
if(empty($content)){
|
||
return json_encode(['code' => 500, 'msg' => '提示词缺失']);
|
||
}
|
||
$params = [
|
||
'model' => 'doubao-seed-1-8-251215',
|
||
'messages' => [
|
||
['role' => 'system', 'content' => '你现在是存客宝的AI助理,你精通中国大陆的法律'],
|
||
['role' => 'user', 'content' => $content],
|
||
],
|
||
];
|
||
}
|
||
$result = requestCurl($this->apiUrl, $params, 'POST', $this->headers, 'json');
|
||
$result = json_decode($result, true);
|
||
if(isset($result['error'])){
|
||
$error = $result['error'];
|
||
return json_encode(['code' => 500, 'msg' => $error['message']]);
|
||
}else{
|
||
$content = $result['choices'][0]['message']['content'];
|
||
$token = intval($result['usage']['total_tokens']) * 20;
|
||
|
||
exit_data($content);
|
||
return json_encode(['code' => 200, 'msg' => '成功','data' => ['token' => $token,'content' => $content]]);
|
||
}
|
||
|
||
}
|
||
|
||
|
||
} |