Skip to content

تكوين LLM ​

يوفر Doggy نظامًا رسوميًا لإدارة تكوين LLM، يدعم التكوين المرن متعدد المزوّدين والنماذج والأدوار مع التبديل الديناميكي وقت التشغيل، لتوفير دعم نماذج موحّد لوظائف الذكاء الاصطناعي.

نظرة عامة ​

يقع نظام تكوين LLM في src/Service/Platform/Llm/، ويستلهم تصميم منصة Symfony AI Bundle:

  • دعم مزوّدين متعددين: OpenAI، Azure، Anthropic، Ollama، بوابات مخصصة متوافقة مع OpenAI
  • إدارة رسومية: ليست تكوينًا عبر YAML، بل إدارة ديناميكية عبر واجهة الإدارة
  • فصل الأدوار: فصل التكوين عن الاستخدام، مع ربط الأدوار بالنماذج
  • تشفير المفاتيح: تخزين مشفّر لمفاتيح API دون أن تصل للواجهة الأمامية

نموذج البيانات ​

LlmProvider (تكوين المزوّد) ​

الحقلالنوعالوصف
namestringالاسم المعروض، مثل "GPT-4o"
providerstringمعرف المزوّد: openai / anthropic / azure / ollama / custom
modelstringاسم النموذج: gpt-4o / claude-3-5-sonnet / ...
apiKeyencryptedمفتاح API (مخزّن بشكل مشفّر)
apiEndpointstringعنوان الواجهة (اختياري)
optionsJSONمعاملات إضافية: temperature, max_tokens, top_p وغيرها
isEnabledbooleanما إذا كان مفعّلًا
sortOrderintالترتيب

LlmRole (الدور/الاستخدام) ​

الحقلالنوعالوصف
codestringرمز الدور: view_editor / entity_generation / workflow_analysis / query_assistant / chat / coding
labelstringالاسم المعروض
providerIdUUIDتكوين النموذج المرتبط
systemPrompttextرسالة النظام الموجهة لهذا الدور
optionsJSONتجاوز معاملات على مستوى الدور
isEnabledbooleanما إذا كان مفعّلًا

تخطيط استخدامات الأدوار ​

رمز الدورالاستخدامالنموذج الموصى به
view_editorمساعد AI في مصمم العروضgpt-4o / claude-3.5-sonnet
entity_generationتوليد الكيانات بمساعدة AIgpt-4o-mini
workflow_analysisتحليل سير العمل وتقديم الاقتراحاتgpt-4o
query_assistantاللغة الطبيعية ← استعلام البياناتgpt-4o-mini
chatمساعد محادثة AI عامgpt-4o-mini
codingتوليد الكود (Twig/JS/PHP)gpt-4o / claude-3.5-sonnet

مسار الاستدعاء ​

LlmRouter::chatByRole(roleCode, messages, opts)
  ├─ 查询 LlmRole(code) → 获取绑定的 LlmProvider
  ├─ LlmGatewayFactory::create(provider) → 实例化适配器
  ├─ 解密 API Key(LlmEncryptor)
  └─ 调用 LLM API(支持工具调用、流式响应)

LlmGatewayFactory ​

يتم توجيه المحوّلات تلقائيًا وفقًا لحقل LlmProvider.provider:

providerالمحوّلالوصف
openaiOpenAiGatewayواجهة متوافقة مع OpenAI
anthropicAnthropicGatewayواجهة Anthropic Claude API
azureAzureGatewayAzure OpenAI
ollamaOllamaGatewayOllama المحلي
customCustomGatewayبوابة مخصصة متوافقة مع OpenAI

التحويل عند الفشل ​

يدعم LlmRouter دالة chatByRoleWithFallback، التي تقوم تلقائيًا بالتخفيض إلى نموذج احتياطي عند فشل المزوّد الرئيسي.

واجهة الإدارة ​

نقطة الدخول: إعدادات النظام ← تكوين LLM (/admin/platform/llm-config)

صفحة القائمة ​

  • عرض بطاقات للمزوّدين، حيث يمكن لكل مزوّد تعدد تنويعات النماذج
  • عرض الأدوار/الاستخدامات المرتبطة بالنموذج مباشرة
  • مفاتيح تبديل للتفعيل/التعطيل
  • ترتيب بالسحب والإفلات

نموذج التحرير ​

  • الاسم والمزوّد والنموذج ومفتاح API (مخزّن مشفّرًا) وعنوان الواجهة
  • إدارة الأدوار (LlmRoleType): رمز الدور، رسالة النظام الموجهة، ربط النموذج

تشفير المفاتيح ​

يستخدم LlmEncryptor مفتاح تشفير المنصة لتشفير وفك تشفير مفاتيح API، حيث يبقى المفتاح على الخادم فقط ولا تصل المفاتيح الخام إلى الواجهة الأمامية:

php
// 存储时
$encrypted = $llmEncryptor->encrypt($apiKey);

// 调用时
$apiKey = $llmEncryptor->decrypt($provider->getApiKey());

التكامل مع مساعد الذكاء الاصطناعي ​

يعيد مساعد الذكاء الاصطناعي (انظر AI 助手) استخدام بنية LlmRole/LlmProvider:

前端 → POST /api/admin/ai/chat
  → LlmRouter.chatByRole(roleCode, messages)
    → 查询 LlmRole → LlmGatewayFactory → LLM API
  • تُخزَّن مفاتيح API على الخادم فقط (تشفير في قاعدة البيانات)
  • يتم تبديل النماذج في واجهة الإدارة دون تعديل الكود
  • يقوم LlmGatewayFactory بتوجيه المزوّدين المتعددين تلقائيًا

الملفات ذات الصلة ​

الملفالمسؤولية
src/Service/Platform/Llm/LlmGatewayInterface.phpواجهة البوابة
src/Service/Platform/Llm/LlmGatewayFactory.phpمصنع المحوّلات
src/Service/Platform/Llm/LlmRouter.phpتوجيه الأدوار + التحويل عند الفشل
src/Service/Platform/Llm/ModelRegistry.phpسجل النماذج
src/Service/Platform/LlmEncryptor.phpتشفير وفك تشفير مفاتيح API
src/Entity/Platform/LlmProvider.phpكيان تكوين المزوّد
src/Entity/Platform/LlmRole.phpكيان تكوين الدور
src/Controller/Admin/Platform/LlmConfigController.phpوحدة تحكم واجهة الإدارة

مصدر مفتوح برخصة MIT | حقوق النشر © 2026 Doggy