$userMessage]; $conversation = []; foreach ($_SESSION['chat_history'] as $entry) { if (isset($entry['user'])) { $conversation[] = ['role' => 'user', 'content' => $entry['user']]; } if (isset($entry['ai'])) { $conversation[] = ['role' => 'assistant', 'content' => $entry['ai']]; } } $resp = LocalAIApi::createResponse( [ 'input' => $conversation, ] ); if (!empty($resp['success'])) { $text = LocalAIApi::extractText($resp); if ($text === '') { $decoded = LocalAIApi::decodeJsonFromResponse($resp); $aiReply = $decoded ? json_encode($decoded, JSON_UNESCAPED_UNICODE) : (string)($resp['data'] ?? ''); } else { $aiReply = $text; } $_SESSION['chat_history'][] = ['ai' => $aiReply]; } else { $aiReply = 'Error: Could not get a response from the AI.'; error_log('AI error: ' . ($resp['error'] ?? 'unknown')); $_SESSION['chat_history'][] = ['ai' => $aiReply]; } } } ?>