Всех приветствую!
Это первая моя статья на сайте за более, чем 16 лет с момента регистрации. Все эти годы я считал, что у меня не хватает квалификации, чтобы дать сообществу что-то полезное и что-то достаточно качественное, что не стыдно было бы показать. Некоторые идеи так и остались идеями, другие же были похоронены в процессе реализации — просто не хватало мотивации. Я думаю, у каждого разработчика за спиной — кладбище домашних проектов. С появлением в жизни ИИ — различных LLM, удалось многократно повысить собственную эффективность, самооценку и сфокусировать силы на основных целях, отбросив всё ненужное.
Так или иначе сейчас трудно представить разработку без использования ИИ. Будут, конечно, ретрограды и скептики, но прогресс не остановить и нужно уметь адаптироваться под новые реалии, чтобы не оказаться на обочине.
Зачем я написал свой коннектор
Задумал я проект, который должен использовать в своей работе различные LLM (Large Language Models — большие языковые модели). Начал искать открытые библиотеки для интеграции с ИИ на инфостарте — их уже достаточно много. Но они либо не универсальные (только для одного провайдера), либо, не в обиду авторам, написаны так, что рефакторинг занял бы больше времени, чем написание с нуля. Чем я, впрочем, и занялся.
За основу я взял демо конфигурацию БСП — сейчас сложно разрабатывать что-то с абсолютного нуля, особенно если привык использовать удобные методы этой библиотеки. Дальше набросал прототип запроса к ИИ, проверил — заработало! Следующим шагом надо было изучить, как разные LLM взаимодействуют по API.
Оказалось, что протоколов у популярных моделей не так уж и много. Большинство используют OpenAI-совместимый протокол. Понятно, что с развитием функциональности появляется всё больше различий, но на базовом уровне можно взаимодействовать в рамках этого API. Это и стало основой универсальности библиотеки.
Что уже реализовано в v1.0.2
На данный момент библиотека уже умеет довольно много:
25+ готовых моделей из коробки
В справочник Модели ИИ могут быть предустановлены модели от 12 провайдеров:
| Провайдер | Модели | Формат API |
|---|---|---|
| OpenAI | GPT-4, GPT-5.x, GPT-4.1 | OpenAI Compatible |
| Anthropic | Claude 3.5 Sonnet, Claude 3 Opus/Haiku | Anthropic |
| Gemini 2.0 Flash, Gemini 1.5 Pro/Flash | Google AI | |
| DeepSeek | V3.2, Coder V3 | OpenAI Compatible |
| GigaChat | 2.0 MAX/Pro | OAuth2 + OpenAI |
| Yandex | YandexGPT 5 Pro/Lite | Yandex Cloud |
| Mistral | Large 3 | OpenAI Compatible |
| Qwen | Max, Coder | OpenAI Compatible |
| Groq | Llama 3.3 | OpenAI Compatible |
| Ollama | Любые локальные модели | OpenAI Compatible |
| Другие | xAI Grok, Cohere, Perplexity и др. | OpenAI Compatible |
Синхронные и асинхронные запросы
Реализованы оба режима работы:
- Синхронные — для быстрых задач (ответ приходит сразу)
- Асинхронные через фоновые задания — для длительных операций (не блокируем интерфейс)
Полное логирование
Все запросы автоматически записываются в регистр сведений:
- Промпты и ответы
- Количество токенов (входных/выходных)
- Время выполнения
- Ошибки и метрики
- Причина завершения
OAuth2 для GigaChat
Сбер сделал OAuth2 авторизацию обязательной для GigaChat. Библиотека автоматически обменивает ClientId:ClientSecret на токен и обновляет его при необходимости — вам не нужно заморачиваться с этим.
Парсер Markdown
Многие модели возвращают ответы в формате Markdown (с заголовками, списками, блоками кода). Встроенный парсер преобразует это в HTML с подсветкой синтаксиса — можно сразу выводить в форму для пользователя.
Работа без интернета
Через Ollama можно запускать локальные модели. Они не требуют API ключей и работают полностью офлайн на вашем компьютере. Это бесплатно и безопасно — данные никуда не уходят. Скорость упирается в производительность вашего железа — у меня работает очень медленно.
Для того чтобы подключить локальную модель уйдет буквально пара минут.
Примеры кода
Давайте посмотрим, как это работает на практике. Ниже — минимальные примеры использования API без лишней обвязки.
Архитектура и философия
Библиотека построена на принципе «единый API для всех». Вы пишете код один раз, а потом можете переключаться между моделями, просто меняя ссылку на справочник. Хотите протестировать одну модель против другой? Просто запустите тот же промпт с разными моделями и сравните результаты.
Важно: расширение предоставляет только API-коннектор. Для решения конкретных задач (чат-бот, анализ текста, генерация описаний товаров) потребуется написать свою бизнес-логику на 1С с использованием этого API. Это не готовая коробка «нажми кнопку, и оно заработает», а инструмент для разработчиков.
Качество и тестирование
Код проверен инструментами:
- 1С:АПК (Автоматизированная проверка конфигураций) — большинство замечаний исправлено
- SonarQube — статический анализ пройден
- Протестировано на БСП 3.1.11.392 и 1С:ERP 2.5.17.219
Расширение работает на любой конфигурации с БСП 3.1.10.492+.
Что будет дальше
Библиотека развивается под мои потребности в текущих и будущих проектах. Сейчас реализовано то, что было нужно на старте, но впереди ещё много интересного.
- Запросы к LLM с клиента — например, если на сервере не будет интернета или возникнет необходимость отправлять именно с клиента
- Streaming режим — потоковая генерация текста (как в ChatGPT, где ответ появляется постепенно)
- Vision API — анализ изображений (загрузил картинку, спросил что на ней)
- Улучшенная обработка rate limits — умная повторная отправка при превышении лимитов
- Балансировщик и очередь запросов — если потребуется отправлять множество запросов к различным LLM одновременно
- Function calling — модель сама вызывает функции 1С (например, «найди клиента Иванова» — выполняется запрос к БД)
- Embeddings API — векторные представления текста (для семантического поиска и RAG)
- Audio API — транскрибация речи (Whisper), синтез голоса TTS (Text-to-Speech)
- Работа с изображениями — генерация картинок (DALL-E, Midjourney)
- Продвинутые сценарии — агенты, цепочки промптов, RAG (Retrieval-Augmented Generation)
Всё это будет реализовываться по мере необходимости в моих проектах. Если какая-то фича понадобится раньше — она и появится раньше.
Установка
- Скачайте последний релиз с GitHub
- Установите расширение
IIkona_ConnectorAI_v1.0.2.cfe - Обновите базу данных
- Откройте справочник
Модели ИИи нажмите «Заполнить модели» - Укажите API ключи для нужных провайдеров
Подробная инструкция есть на GitHub.
Для чего можно использовать
Библиотека даёт API — дальше дело за фантазией:
- Чат-боты для поддержки клиентов
- Анализ текста (отзывы, обращения, жалобы)
- Генерация контента (описания товаров, документы, письма)
- Классификация и категоризация информации
- Извлечение данных из неструктурированного текста
- Автоматизация ответов на типовые запросы
- Обогащение справочников с помощью AI
Я сам использую это в своих проектах — поэтому и появилась библиотека.
Как протестировать
Тест ИИ:В ней можно:
- Проверить подключение к моделям
- Отправить тестовые запросы
- Посмотреть примеры работы с API
- Проверить логирование
В процессе создания этой формы мне не понравился формат вывода markdown. Я решил написать свой парсер на встроенном языке 1С, без использования JavaScript. На тот момент я видел только один вариант для 1Script, а уже позже обнаружил на Инфостарте несколько решений, которые используют готовые JS-библиотеки для рендеринга Markdown. Тем не менее, в моём случае весь разбор разметки выполняется средствами 1С, без сторонних скриптов.
Лицензия и открытый исходный код
Проект распространяется под лицензией MIT — можете свободно использовать, модифицировать и включать в коммерческие проекты. Исходный код полностью открыт на GitHub.
Финальные мысли
Мне самому эта библиотека очень нужна — использую её в своих проектах. Поэтому она будет развиваться и дальше. Если кому-то ещё пригодится — буду только рад.
Что еще я хочу сказать: не бойтесь делиться своими наработками, даже если кажется, что «это ещё недостаточно хорошо». Мне понадобилось 16 лет, чтобы решиться опубликовать первую статью. Не повторяйте мою ошибку!
Проверено на следующих конфигурациях и релизах:
- 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.392
Вступайте в нашу телеграмм-группу Инфостарт









