Files
aiform_prod/docs/WIZARD_API_ALTERNATIVES.md
AI Assistant 4c8fda5f55 Добавлено логирование для отладки черновиков
- Добавлены логи в frontend (ClaimForm.tsx) для отслеживания unified_id и запросов к API
- Добавлены логи в backend (claims.py) для отладки SQL запросов
- Создан лог сессии с описанием проблемы и текущего состояния
- Проблема: API возвращает 0 черновиков, хотя в БД есть данные
2025-11-19 18:46:48 +03:00

9.2 KiB
Raw Permalink Blame History

Готовые API и решения для построения визардов

Дата: 2025-01-XX
Цель: Найти готовые API/сервисы для генерации структуры визарда


🔍 Результаты поиска

Готовых API для генерации структуры визарда НЕТ

Что найдено:

  • Библиотеки для рендеринга визардов на фронтенде (React, Vue, JS)
  • Сервисы для создания форм программно (Form.io, Typeform)
  • Но НЕТ API, который принимает описание проблемы и возвращает структуру визарда

📦 Найденные решения (для рендеринга)

1. React-jsonschema-form / @rjsf/core

Что это: Библиотека для рендеринга форм из JSON Schema

Плюсы:

  • Готовая библиотека для React
  • Поддержка валидации
  • Условная логика (show/hide полей)
  • Кастомизация виджетов

Минусы:

  • Нужно самому генерировать JSON Schema
  • Не решает проблему генерации структуры

Использование:

import Form from "@rjsf/core";

const schema = {
  type: "object",
  properties: {
    item: { type: "string", title: "Название товара" },
    purchase_date: { type: "string", format: "date", title: "Дата покупки" }
  }
};

<Form schema={schema} />

Вывод: Полезно для рендеринга, но структуру всё равно нужно генерировать самим.


2. Form.io (платный сервис)

Что это: Платформа для создания форм с API

Плюсы:

  • Есть API для создания форм программно
  • Поддержка условной логики
  • Готовые компоненты

Минусы:

  • Платный (от $99/месяц)
  • Нет генерации структуры из описания
  • Нужно самому создавать формы через API

API пример:

// Создание формы через API
POST https://api.form.io/v1/form
{
  "title": "Claim Form",
  "components": [
    {
      "type": "textfield",
      "key": "item",
      "label": "Название товара"
    }
  ]
}

Вывод: Дорого и не решает задачу генерации структуры.


3. Typeform API

Что это: API для создания Typeform форм

Плюсы:

  • Есть API
  • Красивый UI

Минусы:

  • Платный (от $25/месяц)
  • Нет генерации структуры
  • Своя экосистема (не встраивается в наш проект)

Вывод: Не подходит для нашей задачи.


4. JSON Schema Form Generators

Библиотеки:

  • react-jsonschema-form
  • @rjsf/core
  • formik + yup (схемы валидации)

Плюсы:

  • Стандарт JSON Schema
  • Гибкость в описании форм
  • Валидация из коробки

Минусы:

  • Нужно самому генерировать схему
  • Не решает задачу генерации структуры

Пример JSON Schema:

{
  "type": "object",
  "properties": {
    "item": {
      "type": "string",
      "title": "Название товара",
      "required": true
    },
    "purchase_date": {
      "type": "string",
      "format": "date",
      "title": "Дата покупки"
    },
    "documents_available": {
      "type": "array",
      "title": "Какие документы есть?",
      "items": {
        "type": "string",
        "enum": ["receipt", "contract", "photos"]
      },
      "uniqueItems": true
    }
  }
}

Вывод: Можно использовать для рендеринга, но генерацию структуры нужно делать самим.


🎯 Вывод: Нет готового решения

Почему нет готового API?

  1. Специфичность задачи: Генерация визарда на основе описания проблемы - это очень специфичная задача для юридической сферы
  2. Контекст: Нужно понимать контекст дела, типы документов, требования законодательства
  3. Кастомизация: Каждый проект имеет свои требования к структуре визарда

Что есть:

  • Библиотеки для рендеринга форм (React, Vue, JS)
  • Сервисы для создания форм программно (Form.io, Typeform)
  • API для генерации структуры визарда из описания - НЕТ

💡 Рекомендации

Вариант 1: Свой генератор (рекомендуется)

Архитектура:

Описание → ИИ (классификация) → Бэкенд (шаблоны) → JSON Schema → Фронтенд (рендеринг)

Плюсы:

  • Полный контроль
  • Оптимизация под наши нужды
  • Нет зависимости от внешних сервисов
  • Бесплатно

Реализация:

  1. ИИ классифицирует случай
  2. Бэкенд выбирает шаблон
  3. Генерируем JSON Schema или наш формат
  4. Фронтенд рендерит через react-jsonschema-form или свой компонент

Вариант 2: Гибридный подход

Использовать готовые библиотеки для рендеринга:

  • @rjsf/core для рендеринга форм
  • Свой генератор JSON Schema в бэкенде

Плюсы:

  • Готовая валидация и UI
  • Меньше кода на фронтенде
  • Стандартный формат (JSON Schema)

Минусы:

  • Нужно адаптировать под наш формат визарда
  • Может быть избыточно

Вариант 3: Использовать Form.io (если бюджет есть)

Если готовы платить $99+/месяц:

  • Использовать Form.io API для создания форм
  • Но генерацию структуры всё равно делать самим через ИИ

Вывод: Не стоит того, так как генерацию структуры всё равно нужно делать самим.


🚀 Итоговая рекомендация

Использовать свой генератор + готовые библиотеки для рендеринга

Стек:

  1. Генерация структуры: Свой бэкенд (ИИ + шаблоны)
  2. Формат: JSON Schema или наш формат
  3. Рендеринг: @rjsf/core или свой компонент

Почему:

  • Нет готовых API для генерации структуры
  • Готовые библиотеки для рендеринга есть
  • Полный контроль над процессом
  • Оптимизация под наши нужды

📚 Полезные ссылки

Библиотеки для рендеринга:

JSON Schema:

Сервисы (для справки):


Вывод

Готовых API для генерации структуры визарда нет.
Нужно делать свой генератор, но можно использовать готовые библиотеки для рендеринга.

Рекомендуемый подход:

  1. ИИ классифицирует случай (5-10 сек)
  2. Бэкенд генерирует структуру из шаблонов (0.1 сек)
  3. Фронтенд рендерит через @rjsf/core или свой компонент

Это оптимальный баланс скорости, контроля и стоимости.