OPENAI_ASSISTANT_API, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'Content-Type: application/json', 'Authorization: Bearer ' . OPENAI_API_KEY, 'OpenAI-Beta: assistants=v2' ] ]); $response = curl_exec($curl); curl_close($curl); return json_decode($response, true)['data'] ?? []; } // 🔹 2️⃣ Получение списка загруженных файлов function listFilesForAssistant() { logMessage("Запрос списка загруженных файлов..."); $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => OPENAI_FILES_API, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'Content-Type: application/json', 'Authorization: Bearer ' . OPENAI_API_KEY, 'OpenAI-Beta: assistants=v2' ] ]); $response = curl_exec($curl); curl_close($curl); return json_decode($response, true)['data'] ?? []; } // 🔹 3️⃣ Основной скрипт logMessage("Запуск скрипта..."); $assistants = listAssistants(); $files = listFilesForAssistant(); $fileMap = []; foreach ($files as $file) { $fileMap[$file['id']] = $file['filename'] ?? 'Неизвестное имя'; } if (!empty($assistants)) { logMessage("Ассистенты получены. Вывод данных..."); foreach ($assistants as $assistant) { echo "🆔 ID: " . $assistant['id'] . "\n"; echo "📌 Имя: " . $assistant['name'] . "\n"; echo "💡 Модель: " . $assistant['model'] . "\n"; echo "📖 Инструкции:\n" . $assistant['instructions'] . "\n"; echo "🕒 Создан: " . date('Y-m-d H:i:s', $assistant['created_at']) . "\n"; // 🔹 Выводим файлы, загруженные в ассистента $fileList = []; foreach ($assistant['tools'] ?? [] as $tool) { if ($tool['type'] === 'file_search') { foreach ($tool['file_ids'] ?? [] as $fileId) { $fileList[] = $fileMap[$fileId] ?? "Неизвестный файл ($fileId)"; } } } echo "📂 Файлы: " . (!empty($fileList) ? implode(", ", $fileList) : "Нет загруженных файлов") . "\n"; echo "----------------------------------\n"; } } else { logMessage("❌ Ошибка: список ассистентов пуст."); echo "❌ Ошибка: список ассистентов пуст.\n"; } logMessage("Завершение работы скрипта."); ?>