Skip to content

AI 视图增强

يوفر Doggy نظامًا لتعزيز العروض مدعومًا بالذكاء الاصطناعي، حيث يقوم بمعالجة احتياجات اللغة الطبيعية تلقائيًا عبر Agent رئيسي للتعرف على النية + 6 وكلاء فرعيين حسب السيناريو، وتصنيفها وتوجيهها إلى الوكيل الفرعي المناسب لتوليد العرض، مع دعم تنفيذ المهام غير المتزامن ودفع التقدم في الوقت الفعلي.

نظرة عامة

يقع نظام تعزيز العروض بالذكاء الاصطناعي في src/Service/AI/Orchestrator/، وهو مبني على بنية LlmRole/LlmProvider:

用户需求 (自然语言)
  → IntentAgent (意图识别主 Agent)
    → FormViewSubAgent   表单视图
    → InfoViewSubAgent   信息展示视图
    → ReportViewSubAgent 报表视图
    → LandingViewSubAgent 落地页视图
    → EmailViewSubAgent  商务邮件视图
    → GeneralViewSubAgent 通用视图

البنية

Agent الرئيسي للتعرف على النية

يقوم IntentAgent بتحديد نوع نية احتياج المستخدم عبر LLM وتوجيهه إلى الوكيل الفرعي المناسب:

php
// src/Service/AI/Orchestrator/IntentAgent.php
class IntentAgent
{
    public function classify(string $userMessage): string
    {
        // 返回意图类型: form / info / report / landing / email / general
    }
}

الوكلاء الفرعيون حسب السيناريو

يرث كل وكيل فرعي AbstractViewSubAgent وينفّذ ViewSubAgentInterface:

الوكيل الفرعيالنيةالسيناريو
FormViewSubAgentformصفحة نموذج
InfoViewSubAgentinfoصفحة عرض معلومات
ReportViewSubAgentreportصفحة تقارير/إحصائيات
LandingViewSubAgentlandingصفحة هبوط/تسويق
EmailViewSubAgentemailبريد أعمال
GeneralViewSubAgentgeneralصفحة عامة

المهام غير المتزامنة

يتم تنفيذ تعزيز العرض بشكل غير متزامن عبر Symfony Messenger لتجنب حظر الطلب:

php
// src/Message/EnhanceViewMessage.php
class EnhanceViewMessage
{
    public function __construct(
        public readonly string $viewId,
        public readonly string $prompt,
    ) {}
}

بعد المعالجة في EnhanceViewMessageHandler:

  • إنشاء AiViewEnhanceTask لتسجيل حالة المهمة
  • استدعاء الوكيل الفرعي لتوليد العرض
  • تحديث AiOperationLog لتسجيل العملية
  • دفع تقدم المهمة عبر Mercure

التقدم في الوقت الفعلي

يعتمد دفع تقدم مهام AI على Mercure SSE، حيث يشتترك الواجهة الأمامية عبر EventSource:

javascript
const url = new URL('/.well-known/mercure', window.location.origin);
url.searchParams.append('topic', `/user/${userId}/ai-task`);
const eventSource = new EventSource(url);
eventSource.onmessage = (event) => {
    const data = JSON.parse(event.data);
    // 更新任务进度
};

نماذج الكيانات

الكيانالوصف
AiChatSessionجلسة AI (تحافظ على السياق عبر الطلبات)
AiChatMessageرسائل الجلسة
AiOperationLogسجل عمليات AI
AiViewEnhanceTaskحالة مهمة تعزيز العرض

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

用户创建/编辑视图
  → 输入自然语言需求
  → POST /api/admin/platform/view-ai-task
  → IntentAgent 分类意图
  → 路由到子 Agent
  → 异步执行 (EnhanceViewMessage)
  → 生成视图文件
  → Mercure 推送进度

تكوين LLM

يدعم وضع التفكير العميق لنماذج DeepSeek وضبط شدة الاستدلال:

bash
# .env
DEEPSEEK_MODEL_ID=deepseek-reasoner
DEEPSEEK_REASONING_EFFORT=medium  # low / medium / high

تكامل محرر العرض

تم دمج مكوّن التعزيز بالذكاء الاصطناعي في صفحة إنشاء العرض (_ai_enhance_component.html.twig):

  • التحرير المساعد بالذكاء الاصطناعي عند إنشاء العرض
  • عمليات التعزيز في صفحة تفاصيل العرض (view_detail.html.twig)
  • مربع حوار تأكيد حذف العرض

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

الملفالمسؤولية
IntentAgent.phpAgent رئيسي للتعرف على النية
ViewEnhanceAgentOrchestrator.phpمنسّق التعزيز
ViewSubAgentChatRouter.phpتوجيه محادثات الوكلاء الفرعيين
AbstractViewSubAgent.phpالفئة الأساسية المجردة للوكلاء الفرعيين
EnhanceViewMessage.phpرسالة المهمة غير المتزامنة
EnhanceViewMessageHandler.phpمعالج المهمة غير المتزامنة
ViewAiTaskApiController.phpواجهة برمجة مهام AI
AiViewEnhanceTask.phpكيان حالة المهمة

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