Update Saqel Platform: 2026-09-08 23:51:07
This commit is contained in:
@@ -118,7 +118,7 @@ PROMPT;
|
|||||||
*/
|
*/
|
||||||
private static function callGemini(string $apiKey, string $prompt): string
|
private static function callGemini(string $apiKey, string $prompt): string
|
||||||
{
|
{
|
||||||
$model = 'gemini-2.0-flash';
|
$model = Env::get('GEMINI_MODEL') ?: 'gemini-flash-lite-latest';
|
||||||
$url = "https://generativelanguage.googleapis.com/v1beta/models/{$model}:generateContent?key={$apiKey}";
|
$url = "https://generativelanguage.googleapis.com/v1beta/models/{$model}:generateContent?key={$apiKey}";
|
||||||
|
|
||||||
$payload = [
|
$payload = [
|
||||||
@@ -164,7 +164,7 @@ PROMPT;
|
|||||||
|
|
||||||
private static function callGeminiFallback(string $apiKey, string $prompt): string
|
private static function callGeminiFallback(string $apiKey, string $prompt): string
|
||||||
{
|
{
|
||||||
$model = 'gemini-1.5-flash';
|
$model = Env::get('GEMINI_MODEL') ?: 'gemini-flash-lite-latest';
|
||||||
$url = "https://generativelanguage.googleapis.com/v1beta/models/{$model}:generateContent?key={$apiKey}";
|
$url = "https://generativelanguage.googleapis.com/v1beta/models/{$model}:generateContent?key={$apiKey}";
|
||||||
|
|
||||||
$payload = [
|
$payload = [
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ class AiLessonEnhancerService
|
|||||||
$keys = explode(',', $apiKey);
|
$keys = explode(',', $apiKey);
|
||||||
$apiKey = trim($keys[0]);
|
$apiKey = trim($keys[0]);
|
||||||
|
|
||||||
$model = Env::get('GEMINI_MODEL') ?: 'gemini-1.5-flash';
|
$model = Env::get('GEMINI_MODEL') ?: 'gemini-flash-lite-latest';
|
||||||
$url = "https://generativelanguage.googleapis.com/v1beta/models/{$model}:generateContent?key={$apiKey}";
|
$url = "https://generativelanguage.googleapis.com/v1beta/models/{$model}:generateContent?key={$apiKey}";
|
||||||
|
|
||||||
$payload = [
|
$payload = [
|
||||||
|
|||||||
@@ -253,7 +253,7 @@ class AiQuestionBankGeneratorService
|
|||||||
|
|
||||||
$keys = explode(',', $apiKey);
|
$keys = explode(',', $apiKey);
|
||||||
$apiKey = trim($keys[0]);
|
$apiKey = trim($keys[0]);
|
||||||
$model = Env::get('GEMINI_MODEL') ?: 'gemini-1.5-flash';
|
$model = Env::get('GEMINI_MODEL') ?: 'gemini-flash-lite-latest';
|
||||||
$url = "https://generativelanguage.googleapis.com/v1beta/models/{$model}:generateContent?key={$apiKey}";
|
$url = "https://generativelanguage.googleapis.com/v1beta/models/{$model}:generateContent?key={$apiKey}";
|
||||||
|
|
||||||
$payload = [
|
$payload = [
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ class AiVideoAnalyzerService
|
|||||||
]],
|
]],
|
||||||
'generationConfig' => ['responseMimeType' => 'application/json', 'temperature' => 0.1],
|
'generationConfig' => ['responseMimeType' => 'application/json', 'temperature' => 0.1],
|
||||||
];
|
];
|
||||||
$geminiModel = getenv('GEMINI_MODEL') ?: 'gemini-1.5-flash';
|
$geminiModel = getenv('GEMINI_MODEL') ?: 'gemini-flash-lite-latest';
|
||||||
$ch = curl_init('https://generativelanguage.googleapis.com/v1beta/models/' . rawurlencode($geminiModel) . ':generateContent?key=' . rawurlencode($key));
|
$ch = curl_init('https://generativelanguage.googleapis.com/v1beta/models/' . rawurlencode($geminiModel) . ':generateContent?key=' . rawurlencode($key));
|
||||||
curl_setopt_array($ch, [
|
curl_setopt_array($ch, [
|
||||||
CURLOPT_POST => true,
|
CURLOPT_POST => true,
|
||||||
@@ -329,7 +329,7 @@ class AiVideoAnalyzerService
|
|||||||
\"approval_status\": \"approved_official\"
|
\"approval_status\": \"approved_official\"
|
||||||
}";
|
}";
|
||||||
|
|
||||||
$geminiModel = getenv('GEMINI_MODEL') ?: 'gemini-1.5-flash';
|
$geminiModel = getenv('GEMINI_MODEL') ?: 'gemini-flash-lite-latest';
|
||||||
$url = "https://generativelanguage.googleapis.com/v1beta/models/" . rawurlencode($geminiModel) . ":generateContent?key=" . $geminiKey;
|
$url = "https://generativelanguage.googleapis.com/v1beta/models/" . rawurlencode($geminiModel) . ":generateContent?key=" . $geminiKey;
|
||||||
$payload = [
|
$payload = [
|
||||||
'contents' => [['parts' => [['text' => $prompt]]]],
|
'contents' => [['parts' => [['text' => $prompt]]]],
|
||||||
@@ -445,7 +445,7 @@ class AiVideoAnalyzerService
|
|||||||
}
|
}
|
||||||
قاعدة صارمة: السؤال عند أي دقيقة يسأل فقط عما تم شرحه قبل ذلك التوقيت، وممنوع نهائياً الاستعانة بأي معلومة خارج المنهاج.";
|
قاعدة صارمة: السؤال عند أي دقيقة يسأل فقط عما تم شرحه قبل ذلك التوقيت، وممنوع نهائياً الاستعانة بأي معلومة خارج المنهاج.";
|
||||||
|
|
||||||
$geminiModel = getenv('GEMINI_MODEL') ?: 'gemini-1.5-flash';
|
$geminiModel = getenv('GEMINI_MODEL') ?: 'gemini-flash-lite-latest';
|
||||||
$url = "https://generativelanguage.googleapis.com/v1beta/models/" . rawurlencode($geminiModel) . ":generateContent?key=" . $geminiKey;
|
$url = "https://generativelanguage.googleapis.com/v1beta/models/" . rawurlencode($geminiModel) . ":generateContent?key=" . $geminiKey;
|
||||||
$payload = [
|
$payload = [
|
||||||
'contents' => [
|
'contents' => [
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ sleep(4);
|
|||||||
// Allow custom model from .env (e.g. gemini-1.5-flash or gemini-2.0-flash)
|
// Allow custom model from .env (e.g. gemini-1.5-flash or gemini-2.0-flash)
|
||||||
$geminiModel = Env::get('GEMINI_MODEL') ?: getenv('GEMINI_MODEL');
|
$geminiModel = Env::get('GEMINI_MODEL') ?: getenv('GEMINI_MODEL');
|
||||||
if (empty($geminiModel)) {
|
if (empty($geminiModel)) {
|
||||||
$geminiModel = "gemini-1.5-flash"; // standard robust model
|
$geminiModel = "gemini-flash-lite-latest";
|
||||||
}
|
}
|
||||||
updateState($stateFile, 'analyzing', 75, "جاري إرسال البيانات للنموذج [{$geminiModel}] لاستخراج الدروس والمفاهيم والمعادلات...");
|
updateState($stateFile, 'analyzing', 75, "جاري إرسال البيانات للنموذج [{$geminiModel}] لاستخراج الدروس والمفاهيم والمعادلات...");
|
||||||
$url = "https://generativelanguage.googleapis.com/v1beta/models/{$geminiModel}:generateContent?key=" . $geminiKey;
|
$url = "https://generativelanguage.googleapis.com/v1beta/models/{$geminiModel}:generateContent?key=" . $geminiKey;
|
||||||
|
|||||||
Reference in New Issue
Block a user