|
|
@@ -2245,25 +2245,6 @@ class DeepSeekService
|
|
|
* @return \Generator 返回生成器,用于流式输出
|
|
|
*/
|
|
|
public function addChat($data) {
|
|
|
- $dubTaskId = 10362;
|
|
|
- $sid = '202604291402526677001';
|
|
|
- try {
|
|
|
- $client = new Client(['timeout' => 300, 'verify' => false]);
|
|
|
- $result = $client->get("http://122.9.129.83:5000/api/anime/genAudio?taskId={$dubTaskId}");
|
|
|
- $response = $result->getBody()->getContents();
|
|
|
- $response_arr = json_decode($response, true);
|
|
|
-
|
|
|
- if (!isset($response_arr['code']) || (int)$response_arr['code'] !== 0) {
|
|
|
- $error_msg = isset($response_arr['msg']) ? $response_arr['msg'] : '未知错误';
|
|
|
- dLog('anime')->error('火山生成音频失败', ['error' => $error_msg, 'task_id' => $dubTaskId, 'segment_id' => $sid]);
|
|
|
- logDB('anime', 'error', '火山生成音频失败', ['error' => $error_msg, 'task_id' => $dubTaskId, 'segment_id' => $sid]);
|
|
|
- }
|
|
|
- } catch (\Exception $e) {
|
|
|
- dLog('anime')->error('调用音频生成API失败', ['error' => $e->getMessage(), 'task_id' => $dubTaskId, 'segment_id' => $sid]);
|
|
|
- logDB('anime', 'error', '调用音频生成API失败', ['error' => $e->getMessage(), 'task_id' => $dubTaskId, 'segment_id' => $sid]);
|
|
|
- }
|
|
|
- exit();
|
|
|
-
|
|
|
$uid = Site::getUid();
|
|
|
$anime_id = getProp($data, 'anime_id');
|
|
|
if (!$anime_id) Utils::throwError('20003:请选择对话');
|
|
|
@@ -2638,6 +2619,18 @@ class DeepSeekService
|
|
|
if ($need_generate_content && isset($script_arr['content']) && $script_arr['content']) {
|
|
|
$content = $script_arr['content'];
|
|
|
dLog('deepseek')->info('从AI生成结果中提取原文内容', ['content_length' => strlen($content)]);
|
|
|
+ if (!$content) {
|
|
|
+ yield [
|
|
|
+ 'type' => 'done',
|
|
|
+ 'script' => [],
|
|
|
+ 'episode' => [],
|
|
|
+ 'answer' => $fullContent,
|
|
|
+ 'reasoning' => $fullReasoningContent,
|
|
|
+ 'usage' => $usage,
|
|
|
+ 'error' => '未生成剧本内容,请调整提示词再试'
|
|
|
+ ];
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 替换美术风格
|
|
|
@@ -3369,6 +3362,18 @@ class DeepSeekService
|
|
|
if ($need_generate_content && isset($script_arr['content']) && $script_arr['content']) {
|
|
|
$table_data['content'] = $script_arr['content'];
|
|
|
dLog('deepseek')->info('从AI生成结果中提取原文内容', ['content_length' => strlen($script_arr['content'])]);
|
|
|
+ if (!$content) {
|
|
|
+ yield [
|
|
|
+ 'type' => 'done',
|
|
|
+ 'script' => [],
|
|
|
+ 'episode' => [],
|
|
|
+ 'answer' => $fullContent,
|
|
|
+ 'reasoning' => $fullReasoningContent,
|
|
|
+ 'usage' => $usage,
|
|
|
+ 'error' => '未生成剧本内容,请调整提示词再试'
|
|
|
+ ];
|
|
|
+ return;
|
|
|
+ }
|
|
|
} else {
|
|
|
$chapters = $this->splitContent($content);
|
|
|
$chapter_count = count($chapters);
|