Единый API для интеграции языковых моделей Ollama и Hugging Face
Полная эмуляция OpenAI API, включая структуру запросов и ответов. Позволяет интеграцию с существующими клиентами OpenAI без изменения кода.
Интеграция с локальным сервера Ollama в качестве бэкенда и использование его для инференса моделей в формате GGUF.
Поддержка репозиториев моделей Ollama и Hugging Face, с автоматическим маппингом имён моделей на соответствующие бэкенды. Единый пользовательский интерфейс независимо от формата модели (PyTorch, GGUF, etc.)
Кеширование весов моделей в локальном хранилище для ускорения последующих загрузок. Предоставляется API управления кэшем.
Использование lightweight-моделей (BERT) для классификации типа пользовательского запроса (текст/изображение) на основе семантики.
Модель-аугментатор превращает короткие пользовательские запросы в детализированные промпты для генерации более качественных и детальных изображений.
Контроль доступа к API помощью токенов авторизации.
Системный мониторинг работы приложения, включая диагностику PyTorch и бэкенда Ollama.
%%{init: {'theme': 'dark', 'themeVariables': { 'fontSize': '20px', 'primaryColor': '#1E293B', 'lineColor': '#334155', 'textColor': '#F8FAFC', 'nodeBorder': '#2F80ED', 'nodeTextColor': '#F8FAFC' }, 'flowchart': { 'useMaxWidth': false, 'htmlLabels': true, 'nodeSpacing': 50, 'rankSpacing': 80 }}}%% graph TD A[Клиент] -->|REST API| B[API Сервер] B --> C{Тип запроса} C -->|Текст| D[Классификатор BERT] C -->|Изображение| E[Диффузионные модели Hugging Face] D --> F{Тип вывода} F -->|Текст-в-текст| G[Текстовые модели Ollama/Hugging Face] F -->|Текст-в-изображение| H[Модели Ollama\nОптимизация промптов] H --> E B --> I[Кэш моделей] B --> J[Системный мониторинг] G --> K[(Хранилище моделей)] E --> K I --> K %% Вертикальная компоновка метрик J --> L[Диагностика Torch/Ollama] J --> M[Метрики CPU/RAM/GPU] %% Невидимые связи для выравнивания M ~~~ L style A fill:#2F80ED,stroke:#2563EB,color:white,font-size:24px style B fill:#1E293B,stroke:#334155,color:white,font-size:24px style D fill:#F39C12,stroke:#E67E22,color:white,font-size:24px style E fill:#EB5757,stroke:#D64545,color:white,font-size:24px style C fill:#9B59B6,stroke:#8E44AD,color:white,font-size:24px style I fill:#F39C12,stroke:#E67E22,color:white,font-size:24px style J fill:#3498DB,stroke:#2980B9,color:white,font-size:24px style K fill:#1ABC9C,stroke:#16A085,color:white,font-size:24px style G fill:#27AE60,stroke:#219653,color:white,font-size:24px style H fill:#27AE60,stroke:#219653,color:white,font-size:24px style F fill:#8E44AD,stroke:#7D3C98,color:white,font-size:24px %% Стили для метрик style L fill:#3498DB,stroke:#2980B9,color:white style M fill:#3498DB,stroke:#2980B9,color:white classDef default font-size:20px,stroke-width:2px