Архитектура

OneAPA построена на многоуровневой архитектуре, обеспечивающей гибкость, масштабируемость и безопасность.

Общая схема архитектуры

┌─────────────────────────────────────────────────────────────────────────┐
│                           КЛИЕНТСКИЙ УРОВЕНЬ                             │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────────────┐  │
│  │   Чат в 1С      │  │  Web UI         │  │   Внешние системы       │  │
│  │   (Толстый/     │  │  (Chainlit)     │  │   (API, Email,          │  │
│  │    Тонкий       │  │                 │  │    MCP клиенты)         │  │
│  │    клиент)      │  │                 │  │                         │  │
│  └────────┬────────┘  └────────┬────────┘  └────────────┬────────────┘  │
└───────────┼────────────────────┼────────────────────────┼───────────────┘
            │                    │                        │
            ▼                    ▼                        ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                           УРОВЕНЬ 1С:ПРЕДПРИЯТИЕ                         │
│                                                                          │
│  ┌──────────────────────────────────────────────────────────────────┐   │
│  │                        Конфигурация OneAPA                        │  │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐               │   │
│  │  │ Справочники │  │ Обработки   │  │ Общие       │               │   │
│  │  │ - Агенты    │  │ - Чат       │  │ модули      │               │   │
│  │  │ - Инструм.  │  │ - Выгрузка  │  │ - MCP       │               │   │
│  │  │ - Модели    │  │   в RAG     │  │ - OneRPA    │               │   │
│  │  │ - Триггеры  │  │ - Экспорт/  │  │ - RAG       │               │   │
│  │  │ - MCP серв. │  │   Импорт    │  │ - Обмен с   │               │   │
│  │  │ - Форматы   │  │             │  │   Proxy     │               │   │
│  │  └─────────────┘  └─────────────┘  └─────────────┘               │   │
│  └──────────────────────────────────────────────────────────────────┘   │
│                                    │                                     │
│                                    │ HTTP (REST API)                     │
│                                    ▼                                     │
└─────────────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────────────┐
│                           УРОВЕНЬ PROXY                                  │
│                                                                          │
│  ┌──────────────────────────────────────────────────────────────────┐   │
│  │                      Python Proxy Server                          │   │
│  │                                                                   │   │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────────┐   │   │
│  │  │  FastAPI    │  │  LangGraph  │  │     Data Store          │   │   │
│  │  │  /health    │  │  Workflow   │  │  - Agents               │   │   │
│  │  │  /load      │  │  Engine     │  │  - Models               │   │   │
│  │  │  /chat      │  │             │  │  - Tools                │   │   │
│  │  └─────────────┘  └─────────────┘  └─────────────────────────┘   │   │
│  │                                                                   │   │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────────┐   │   │
│  │  │ Chainlit UI │  │ LLM Utils   │  │   Agent Logic           │   │   │
│  │  │ (Web Chat)  │  │ (providers) │  │   (Router, Tools)       │   │   │
│  │  └─────────────┘  └─────────────┘  └─────────────────────────┘   │   │
│  └──────────────────────────────────────────────────────────────────┘   │
│                                    │                                     │
└────────────────────────────────────┼─────────────────────────────────────┘

            ┌────────────────────────┼────────────────────────┐
            ▼                        ▼                        ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                           УРОВЕНЬ LLM ПРОВАЙДЕРОВ                        │
│                                                                          │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐     │
│  │ Yandex GPT  │  │   OpenAI    │  │ OpenRouter  │  │   Ollama    │     │
│  │             │  │  GPT-4o     │  │  (любые     │  │  (локальные │     │
│  │  Cloud API  │  │  o1, o3     │  │   модели)   │  │   модели)   │     │
│  └─────────────┘  └─────────────┘  └─────────────┘  └─────────────┘     │
│                                                                          │
│  ┌─────────────┐                                                         │
│  │    Sber     │                                                         │
│  │  GigaChat   │                                                         │
│  └─────────────┘                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Компоненты архитектуры

Клиентский уровень

Чат в 1С

Встроенный чат-интерфейс в конфигурации 1С:

  • Доступен в толстом и тонком клиенте

  • Поддержка прикрепления файлов

  • История диалогов

  • Выбор агента для общения

Web UI (Chainlit)

Веб-интерфейс чата:

  • Доступ через браузер

  • Не требует клиента 1С

  • Современный интерфейс

  • Поддержка изображений (для Vision моделей)

Внешние системы

Взаимодействие через:

  • REST API (endpoint /chat)

  • Email (триггер EMail)

  • MCP протокол

Уровень 1С:Предприятие

Справочники

Справочник
Назначение

APA_Агенты

Основная сущность — настройки ИИ агентов

APA_Инструменты

Инструменты для агентов

APA_Модели

Конфигурация LLM провайдеров

APA_Триггеры

События запуска агентов

APA_MCPСерверы

Внешние MCP серверы

APA_Форматы

Форматы выходных данных

APA_Пользователи

Пользователи системы

Обработки

Обработка
Назначение

APA_Chat

Чат-интерфейс

APA_ВыгрузкаВВекторнуюБД

Выгрузка данных для RAG

APA_ВыгрузкаЗагрузкаАгентов

Экспорт/импорт агентов

Общие модули

Модуль
Назначение

APA_MCP

Работа с Model Context Protocol

APA_OneRPA

Интеграция с OneRPA

APA_RAG

Retrieval-Augmented Generation

APA_ОбменСПроксиКлиент

Клиентский обмен с Proxy

APA_ОбменСПроксиСервер

Серверный обмен с Proxy

APA_ВыполнениеИнструментовСервер

Выполнение инструментов

APA_ЗначенияКонстант

Константы системы

Уровень Proxy

FastAPI

REST API сервер с endpoints:

  • GET /health — проверка работоспособности

  • POST /load — загрузка агентов и инструментов

  • POST /chat — обработка сообщений

LangGraph

Движок оркестрации workflow агентов:

  • Router Node — выбор агента

  • Agent Node — вызов LLM

  • Tools Node — выполнение инструментов

Data Store

Хранилище данных в памяти:

  • Загруженные агенты

  • Инициализированные LLM

  • Конфигурация инструментов

Chainlit UI

Веб-интерфейс на базе Chainlit:

  • Монтируется на /ui

  • Отдельная сессия для каждого пользователя

  • Поддержка файлов и изображений

LLM Utils

Утилиты для работы с LLM провайдерами:

  • Инициализация моделей

  • Обработка ответов

  • Поддержка Vision и Reasoning моделей

Уровень LLM провайдеров

Провайдер
Особенности

Yandex GPT

Российский провайдер, IAM авторизация

OpenAI

GPT-4o, Vision, Reasoning (o1, o3), web_search

OpenRouter

Доступ к множеству моделей через единый API

Ollama

Локальные модели, On-Premise

Sber

GigaChat, российский провайдер

Потоки данных

Поток сообщения пользователя

Поток загрузки агентов

Сетевое взаимодействие

Порты и протоколы

Компонент
Порт по умолчанию
Протокол

Proxy Server

9000

HTTP/HTTPS

Chainlit UI

9000/ui

HTTP/HTTPS

1С HTTP Service

зависит от настройки

HTTP/HTTPS

Ollama

11434

HTTP

Требования к сети

circle-info

При использовании Ollama весь трафик остаётся внутри локальной сети — доступ к интернету не требуется.

Масштабирование

Горизонтальное масштабирование

Вертикальное масштабирование

  • Увеличение ресурсов сервера Proxy

  • Использование GPU для локальных моделей Ollama

  • Оптимизация базы данных 1С

Отказоустойчивость

Защита от ошибок

Уровень
Механизм

LangGraph

Лимит итераций (MAX_AGENT_ITERATIONS = 15)

LLM вызовы

Таймаут 900 секунд

Инструменты

Таймаут 900 секунд

Router

Таймаут 600 секунд

Fallback

Обработка ошибок с fallback-ответом

Логирование

  • Все действия агентов логируются

  • Регистр APA_ЛогИнструментов в 1С

  • Файловые логи Proxy сервера

Далее

Last updated