55 lines
1.4 KiB
PHP
55 lines
1.4 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)){
|
|
return json_encode(['code' => 500, 'msg' => '提示词缺失']);
|
|
}
|
|
$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;
|
|
return json_encode(['code' => 200, 'msg' => '成功','data' => ['token' => $token,'content' => $content]]);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
} |