deploy: auto commit server changes 2026-06-12 14:57:05

This commit is contained in:
hajimi
2026-06-12 14:57:05 +08:00
parent dabde9abaf
commit de2a36107a
95 changed files with 1039 additions and 137 deletions
@@ -31,7 +31,6 @@ class AiAssistantService
}
$history = self::historyMessages((int) $session->id);
$context = AiAssistantContextService::build($message, $userId, (int) $session->id);
AiChatMessage::create([
'session_id' => (int) $session->id,
@@ -45,24 +44,29 @@ class AiAssistantService
'update_time' => time(),
]);
$messages = self::buildModelMessages($history, $message, $context);
$result = self::callAssistantModel($messages);
$orchestrated = AiAssistantOrchestrator::run($message, $history, $userId, (int) $session->id);
$result = is_array($orchestrated['result'] ?? null)
? $orchestrated['result']
: ['success' => false, 'error' => 'AI助手模型服务暂时不可用', 'tokens' => 0];
$status = !empty($result['success']) ? AiChatMessage::STATUS_SUCCESS : AiChatMessage::STATUS_FAILED;
$answer = !empty($result['success'])
? trim((string) ($result['content'] ?? ''))
: 'AI助手暂时没有生成成功,请稍后再试。';
$answer = trim((string) ($orchestrated['answer'] ?? ($result['content'] ?? '')));
if ($answer === '' && empty($result['success'])) {
$answer = 'AI助手暂时没有生成成功,请稍后再试。';
}
if ($answer === '') {
$answer = '我暂时没有找到足够的站内依据,请换个关键词再问一次。';
}
$sources = is_array($orchestrated['sources'] ?? null) ? $orchestrated['sources'] : [];
$assistantMessage = AiChatMessage::create([
'session_id' => (int) $session->id,
'user_id' => $userId,
'client_id' => $clientId,
'role' => AiChatMessage::ROLE_ASSISTANT,
'content' => $answer,
'sources_json' => json_encode($context['sources'] ?? [], JSON_UNESCAPED_UNICODE),
'sources_json' => json_encode($sources, JSON_UNESCAPED_UNICODE),
'model' => (string) ($result['model'] ?? self::defaultModelOptions()['model']),
'tokens_used' => (int) ($result['tokens'] ?? 0),
'cost_ms' => (int) ($result['cost_ms'] ?? 0),
@@ -85,7 +89,7 @@ class AiAssistantService
'data' => [
'session' => self::formatSession($session->toArray()),
'message' => self::formatMessage($assistantMessage->toArray()),
'sources' => $context['sources'] ?? [],
'sources' => $sources,
],
];
}