97 lines
3.7 KiB
PHP
97 lines
3.7 KiB
PHP
|
|
<?php
|
|||
|
|
|
|||
|
|
// Настройки OpenAI API
|
|||
|
|
const OPENAI_API_KEY = 'sk-GS24OxHQYfq8ErW5CRLoN5F1CfJPxNsY'; // Замените на ваш API-ключ
|
|||
|
|
const OPENAI_ASSISTANT_API = 'https://api.proxyapi.ru/openai/v1/assistants';
|
|||
|
|
const LOG_FILE = 'logs/delete_assistants.log'; // Файл для логирования
|
|||
|
|
|
|||
|
|
// Функция логирования
|
|||
|
|
function logMessage($message) {
|
|||
|
|
file_put_contents(LOG_FILE, date('Y-m-d H:i:s') . " - " . $message . "\n", FILE_APPEND | LOCK_EX);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Функция для удаления всех ассистентов
|
|||
|
|
function deleteAllAssistants() {
|
|||
|
|
logMessage("Начало удаления всех ассистентов");
|
|||
|
|
|
|||
|
|
// Получаем список всех ассистентов
|
|||
|
|
$curl = curl_init();
|
|||
|
|
curl_setopt_array($curl, [
|
|||
|
|
CURLOPT_URL => 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);
|
|||
|
|
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
|||
|
|
$curlError = curl_error($curl);
|
|||
|
|
curl_close($curl);
|
|||
|
|
|
|||
|
|
if ($curlError) {
|
|||
|
|
logMessage("Ошибка cURL при получении списка ассистентов: " . $curlError);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
logMessage("Ответ OpenAI (список ассистентов): HTTP $httpCode - " . $response);
|
|||
|
|
|
|||
|
|
$decodedResponse = json_decode($response, true);
|
|||
|
|
|
|||
|
|
if ($httpCode !== 200 || !isset($decodedResponse['data'])) {
|
|||
|
|
logMessage("Ошибка при получении списка ассистентов: " . json_encode($decodedResponse, JSON_UNESCAPED_UNICODE));
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Удаляем каждого ассистента
|
|||
|
|
foreach ($decodedResponse['data'] as $assistant) {
|
|||
|
|
$assistantId = $assistant['id'];
|
|||
|
|
logMessage("Удаление ассистента с ID: $assistantId");
|
|||
|
|
|
|||
|
|
$curl = curl_init();
|
|||
|
|
curl_setopt_array($curl, [
|
|||
|
|
CURLOPT_URL => OPENAI_ASSISTANT_API . "/$assistantId",
|
|||
|
|
CURLOPT_RETURNTRANSFER => true,
|
|||
|
|
CURLOPT_CUSTOMREQUEST => 'DELETE',
|
|||
|
|
CURLOPT_HTTPHEADER => [
|
|||
|
|
'Content-Type: application/json',
|
|||
|
|
'Authorization: Bearer ' . OPENAI_API_KEY,
|
|||
|
|
'OpenAI-Beta: assistants=v2'
|
|||
|
|
]
|
|||
|
|
]);
|
|||
|
|
|
|||
|
|
$response = curl_exec($curl);
|
|||
|
|
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
|||
|
|
$curlError = curl_error($curl);
|
|||
|
|
curl_close($curl);
|
|||
|
|
|
|||
|
|
if ($curlError) {
|
|||
|
|
logMessage("Ошибка cURL при удалении ассистента $assistantId: " . $curlError);
|
|||
|
|
continue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
logMessage("Ответ OpenAI (удаление ассистента $assistantId): HTTP $httpCode - " . $response);
|
|||
|
|
|
|||
|
|
if ($httpCode !== 200) {
|
|||
|
|
logMessage("Ошибка при удалении ассистента $assistantId: " . $response);
|
|||
|
|
} else {
|
|||
|
|
logMessage("Ассистент $assistantId успешно удален.");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
logMessage("Все ассистенты удалены.");
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Основной скрипт
|
|||
|
|
logMessage("Запуск скрипта для удаления всех ассистентов");
|
|||
|
|
|
|||
|
|
if (deleteAllAssistants()) {
|
|||
|
|
logMessage("Удаление всех ассистентов завершено успешно.");
|
|||
|
|
} else {
|
|||
|
|
logMessage("Произошла ошибка при удалении ассистентов.");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
logMessage("Завершение работы скрипта.");
|