38808-vm/api/generate_plan_details.php
Flatlogic Bot 6ae92a7546 update ai
2026-04-14 06:44:14 +00:00

64 lines
3.9 KiB
PHP

<?php
// api/generate_plan_details.php
header('Content-Type: application/json');
require_once __DIR__ . '/../db/config.php';
require_once __DIR__ . '/../ai/LocalAIApi.php';
session_start();
if (!isset($_SESSION['user_id'])) {
echo json_encode(['success' => false, 'error' => 'يرجى تسجيل الدخول أولاً']);
exit;
}
$input = json_decode(file_get_contents('php://input'), true);
$title = trim($input['title'] ?? '');
if (empty($title)) {
echo json_encode(['success' => false, 'error' => 'يرجى إدخال عنوان الخطة أولاً']);
exit;
}
try {
$systemPrompt = "أنت مساعد ذكاء اصطناعي متخصص في كتابة أوصاف مهنية وجذابة وملهمة لخطط وأهداف الجمعيات الخيرية ومؤشرات الأداء (KPIs). " .
"قم بكتابة وصف موجز (حوالي 2-3 أسطر) للخطة أو الهدف التالي بناءً على عنوانه. " .
"اجعل الوصف احترافياً، باللغة العربية الفصحى، ولا تضف أي مقدمات أو خواتيم (مثل 'إليك الوصف' أو 'هذا هو'). ابدأ بالوصف مباشرة. " .
"تأكد من صياغة الوصف بأسلوب مختلف ومبتكر في كل مرة. (مفتاح عشوائي لضمان التغيير: " . uniqid() . ")";
$response = LocalAIApi::createResponse([
'model' => 'gpt-4o-mini',
'input' => [
['role' => 'system', 'content' => $systemPrompt],
['role' => 'user', 'content' => "عنوان الخطة/الهدف: " . $title],
]
]);
if (!empty($response['success'])) {
$text = LocalAIApi::extractText($response);
if ($text === '') {
$decoded = LocalAIApi::decodeJsonFromResponse($response);
$text = $decoded ? json_encode($decoded, JSON_UNESCAPED_UNICODE) : (string)($response['data'] ?? '');
}
echo json_encode(['success' => true, 'description' => trim($text)]);
} else {
// Fallback dummy text arrays to ensure variety while AI proxy is down
error_log("AI Error Generate Plan: " . print_r($response, true));
$fallbackTemplates = [
"خطة «{$title}» تهدف إلى تحقيق أثر مستدام وتلبية تطلعات الفئة المستهدفة من خلال تنفيذ مبادرات استراتيجية مدروسة وفق أعلى معايير الجودة.",
"تأتي «{$title}» ضمن استراتيجيتنا الشاملة لتعزيز كفاءة الأداء، وضمان تقديم خدمات نوعية تتوافق مع الرؤية المستقبلية للمؤسسة وأهدافها.",
"من خلال مؤشر الأداء «{$title}»، نركز على قياس وتطوير العمليات التشغيلية لضمان الاستدامة وتحقيق أعلى درجات التميز المؤسسي الممكنة.",
"نسعى لتطبيق أهداف «{$title}» بخطوات عملية ومؤشرات واضحة تضمن الاستغلال الأمثل للموارد، وتعظيم الأثر الاجتماعي والإنساني لبرامجنا.",
"تمثل «{$title}» خارطة طريق طموحة لرفع كفاءة العمل الخيري، وتفعيل الشراكات الفاعلة بما ينعكس إيجاباً على مجمل مخرجات الجمعية واستدامتها."
];
// Pick a random template
$dummyText = $fallbackTemplates[array_rand($fallbackTemplates)];
echo json_encode(['success' => true, 'description' => $dummyText, 'is_mock' => true]);
}
} catch (Exception $e) {
error_log("Generate Plan Error: " . $e->getMessage());
echo json_encode(['success' => false, 'error' => "حدث خطأ داخلي. يرجى المحاولة لاحقاً."]);
}