Update: 2026-08-08 17:35:50
This commit is contained in:
@@ -371,9 +371,48 @@ class SiroGeminiService {
|
||||
return null;
|
||||
}
|
||||
|
||||
$data = json_decode($response, true);
|
||||
$text = $data['candidates'][0]['content']['parts'][0]['text'] ?? '';
|
||||
return trim(preg_replace('/```html|```/', '', $text));
|
||||
}
|
||||
|
||||
/**
|
||||
* Answers a driver support inquiry acting as Siro's smart assistant.
|
||||
*/
|
||||
public function answerSupportInquiry(
|
||||
string $question,
|
||||
array $driverContext,
|
||||
string $model = 'gemini-flash-lite-latest'
|
||||
): ?string {
|
||||
if (!$this->apiKey) return null;
|
||||
|
||||
$contextJson = json_encode($driverContext, JSON_UNESCAPED_UNICODE);
|
||||
|
||||
$prompt = "
|
||||
أنت مساعد الدعم الفني الذكي لتطبيق 'سيرو' (Siro) لنقل الركاب.
|
||||
وظيفتك مساعدة السائقين (الكباتن) والإجابة على استفساراتهم باحترافية، ودقة، وبلهجة ودية ومهذبة جداً.
|
||||
|
||||
بيانات السائق الحالية (سياق مهم للإجابة على سؤاله):
|
||||
$contextJson
|
||||
|
||||
سؤال السائق:
|
||||
\"$question\"
|
||||
|
||||
المطلوب منك:
|
||||
1. الإجابة مباشرة على سؤال السائق بناءً على السياق المعطى إذا كان يخص رحلاته أو رصيده المذكور في السياق.
|
||||
2. إذا سأل عن إجراءات عامة، أجب كخبير في سيرو.
|
||||
3. اجعل الإجابة ودية وواضحة جداً وقصيرة.
|
||||
4. الرد يكون باللغة العربية حصراً.
|
||||
5. لا تذكر تفاصيل تقنية (مثل json أو database)، بل تحدث كإنسان يقدم الدعم.
|
||||
";
|
||||
|
||||
$prompt .= "\n\nالرجاء إرجاع الإجابة بصيغة JSON فقط كالتالي:\n{\n \"reply\": \"نص الإجابة هنا\"\n}";
|
||||
|
||||
$response = $this->callGemini($prompt, $model);
|
||||
if ($response && isset($response['reply'])) {
|
||||
return $response['reply'];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user