Skip to main content

AiController

@lowcode/api


Class: AiController

Defined in: apps/api/src/modules/ai/ai.controller.ts:20

Контроллер AI-операций.

Отвечает за HTTP-слой вокруг возможностей AI-ассистента:

  • принимает запросы от builder-web;
  • передаёт их в AiService;
  • возвращает нормализованный ответ AiAssistResponse.

Вся бизнес-логика работы с моделями сосредоточена в AiService и библиотеке @lowcode/ai-orchestrator.

Constructors

Constructor

new AiController(aiService): AiController

Defined in: apps/api/src/modules/ai/ai.controller.ts:21

Parameters

aiService

AiService

Returns

AiController

Methods

assist()

assist(dto): Promise<AiAssistResponse>

Defined in: apps/api/src/modules/ai/ai.controller.ts:46

Точка входа для AI-ассистента.

Parameters

dto

AiAssistDto

DTO запроса к AI-ассистенту

Returns

Promise<AiAssistResponse>

Результат работы AI-оркестратора

Route

POST /ai/assist

Ожидает тело, совместимое с AiAssistDto:

  • prompt — текст запроса пользователя;
  • appSchema — полное DSL-приложение;
  • projectId, pageId — опциональные идентификаторы;
  • hints — подсказки о selection в редакторе;
  • provider, model — выбранный AI-провайдер и модель;
  • requestId — опциональный идентификатор для трейсинга.

Возвращает AiAssistResponse, содержащий:

  • updatedAppSchema — обновлённый DSL (если есть операции);
  • operations — список операций над DSL;
  • explanation — текстовое объяснение изменений;
  • error — описание ошибки (если что-то пошло не так).

listModels()

listModels(provider): Promise<any>

Defined in: apps/api/src/modules/ai/ai.controller.ts:56

Возвращает список моделей для указанного провайдера.

Parameters

provider

AiProviderType

Returns

Promise<any>

Route

GET /ai/models?provider=aiTunnel