AI 代理与 LLM 集成

VTJ.PRO 中的 AI 代理子系统为低代码平台提供了智能核心,支持 AI 辅助代码生成、图像到 DSL 转换以及基于聊天的交互式开发等功能。该系统设计为与提供商无关,支持多种大语言模型后端,同时为应用程序的其他部分提供统一的接口。

系统概述

AI 基础设施分为 LLM 管理 层(处理连接和模型元数据)和 代理编排 层(处理提示词、上下文和流式传输)。

核心组件与关系

下图展示了 AI 子系统如何通过编排各种服务,将自然语言需求桥接到代码实体空间。

AI 子系统架构

LLM 模型管理与配置

VTJ.PRO 支持多种 LLM 提供商(例如 OpenAI、DeepSeek、本地模型)。模型通过 LLMPurpose 进行分类,例如用于逻辑生成的 Coder 或用于图像处理的 Multimodal

  • 提供商抽象LLMModelEntity 存储 API 密钥、基础 URL 和模型标识符。
  • 缓存:为确保请求编排期间的低延迟,LLMModelService 使用基于缓存的机制(getModels)来避免频繁的数据库查询。
  • 专用检索:系统提供了辅助方法,如 getCoderModels() 和 getMultiModel(),用于快速识别特定任务(例如生成 Vue 代码与描述 UI 截图)的最佳模型。

有关详细的配置步骤和实体定义,请参阅 LLM 模型管理与配置 文档。

AI 代理工作流与服务

AgentModule 协调 AI 交互的高级逻辑。它通过一系列专用服务将用户意图转换为结构化的 DSL 或代码片段。

关键服务

服务 职责
AIService 管理 OpenAI 客户端实例,处理流式补全,并实现 AbortController 以支持请求取消。
PromptService 从 _docs/prompts/ 加载系统提示词。它包括用于逻辑 (coder)、图像转 DSL (image) 和结构化数据 (json) 的模板。
TopicService 管理聊天会话("话题")及其持久化,允许用户在多次 AI 交互中保持上下文。
ChatService 处理话题内的消息级逻辑,包括用户查询和 AI 响应。

从提示词到 DSL

以下交互流程展示了自然语言请求如何被转换为系统级代码实体。

自然语言到代码实体流程

有关提示词模板和流式实现的详细信息,请参阅 LLM 服务、缓存与 AI 代理工作流 文档。

与低代码引擎的集成

AI 子系统与 DslService 紧密集成。当 AI 生成响应时,它通常会输出与 VTJ DSL 兼容的 JSON 结构。

  1. 代码生成AgentService 使用 @vtj/coder 逻辑,确保 AI 生成的代码片段能够无缝合并到现有的页面架构中。
  2. 验证ValidationService(在代理模块内)确保 LLM 的输出在应用于项目之前符合预期的 JSON 模式。
  3. 图像转 UI:通过利用多模态模型,平台可以获取屏幕截图,并使用 PromptService 指示 LLM 生成相应的 @vtj/core DSL。

参考资料

更多推荐