Библиотека для работы с Ollama (open-source)

05.05.25

Интеграция - WEB-интеграция

Библиотека работы с AI моделями через Ollama API для 1С:Предприятие и OneScript. Бесплатно, с открытым исходным кодом и документацией!

Если вы не слышали ранее об Открытом Пакете Интеграций (что вполне вероятно), то небольшая вводная часть ниже, под катом. Тем, кто уже знаком с ОПИ, данный раздел можно пропустить.

 
 Что такое Открытый Пакет Интеграций

 

Открытый Пакет Интеграций (ОПИ) - это open-source набор методов для простой и быстрой интеграции с различными популярными API. Он состоит из аналогичных по функционалу 1С-расширения (CFE), OS-пакета и программы для Windows и Linux, которые предоставляют готовые функции для работы с целым набором различных онлайн-сервисов.


  • ОПИ бесплатен и имеет открытый исходный код на GitHub. Вы всегда можете получить последнюю версию библиотеки на странице репозитория, а подписавшись - узнавать о выходе обновлений. Все релизы сопровождаются статьями на Инфостарт и разделами единой документации. На Инфостарт вы можете подписаться уже хоть сейчас, а про документацию я расскажу далее.

 

 

 

  • Удобная единая документация. Она расположена на сайте openintegrations.dev и содержит в себе всю информацию, необходимую для работы: инструкции по предварительным действиям для начала интеграции, описания всех методов с параметрами и возвращаемыми значениями, примеры кода и т.д. Каждый API имеет там свой раздел.

 

 

 

 

  • Простая установка. ОПИ распространяется во множестве вариантах: как XML файлы расширения, как EDT проект расширения, как файл расширения формата .cfe (версия 1С 8.3.9), как файл пакета для OneScript и еще в целом наборе пакетов и файлов для Windows и Linux. Из этого набора вы всегда сможете выбрать тот способ установки, который лучше подойдет для вашей конкретной задачи

 

На момент последнего обновления данной статьи, доступны следующие API:

Наиболее актуальную информацию можно посмотреть в репозитории или на вводной странице документации.

 

Ollama — это инструмент и платформа с открытым исходным кодом, которая позволяет легко запускать и использовать большие языковые модели (LLM) локально на вашей машине.

 

 

Ollama один из важнейших инструментов, если мы говорим про использования ИИ: она предоставляет простой способ взаимодействия с различными моделями, такими как Llama, Mistral, Phi, и другими, без необходимости подключения к интернету или использованию облачных сервисов.

 

Тема ИИ популярна сейчас как в 1С, так и в остальных стеках, поэтому в ОПИ я тоже не захотел смог обойти ее стороной. Для работы с Ollama API в пакете теперь доступны следующие методы:

  • Методы обработки запросов
    • Получение версии Ollama
    • Получение ответа по промпту
    • Получение ответа с историей сообщений (в контексте)
    • Получение представлений (embeddings)
  • Методы управления моделями
    • Получение списка доступных моделей
    • Получение списка запущенных моделей
    • Получение информации о модели по имени
    • Создание модели
    • Копирование модели
    • Удаление модели
    • Загрузка модели в ОЗУ
    • Выгрузка модели из ОЗУ
    • Отправка модели в библиотеку
    • Скачивание модели из библиотеки
  • Работа с BLOB
    • Отправка BLOB на сервер
    • Проверка существования BLOB

 

Примеры кода:
 

 
 Получение ответа
 
 Получение ответа в контексте
 
 Создание модели

 

Эти функции покрывают практически весь доступны API Ollama: их должно быть достаточно для простого создания чат-бота или автоматизации управления моделями из 1С и OneScript. Больше информации о перечисленных выше методах, как и всегда, можно найти в онлайн документации


 

Переработка функционала HTTP

Помимо нового API и исправления некоторых багов, к этому обновлению также был серьезно переработан внутренний инструментарий для работы с HTTP, на основе которого большинство библиотек ОПИ и работают. Его основа была создана в самом начале проекта, еще до первой библиотеки пакета, поэтому не удивительно, что там были как изначальные недочеты проектирования, вскрывшиеся позднее, так и ворох костылей, собранных уже в процессе развития

 

У старого модуля не было особых проблем в надежности, но зато были большие проблемы в плане гибкости, прозрачности и унификации, что и привело наконец к этой переработке, которая очень долго откладывалась

 

Рассказываю же я это для того, чтобы подвести в итоге к двум вещам:

 

  • Все методы всех библиотек покрыты Unit-тестами, которые были успешно пройдены к текущему моменту, когда переработка функций для работы с HTTP уже завершена. Также к ним добавились тесты уже на сам модуль HTTP, чего не было ранее. Тем не менее, если вы уже используете ОПИ и планируете обновлять его до новой версии, желательно соблюдать осторожность и понаблюдать за его работой некоторое время. В случае возникновения проблем, просьба написать о них в Issues (лучше) или комментариях к данной статье (хуже)
     
  • Мне нравится, как выглядит и работает новый модуль HTTP, поэтому в следующем обновлении, вероятно, он появится как отдельная библиотека. По задумке, это должно с одной стороны увеличить количество информации о его работе (не только внутри других библиотек, но и напрямую), а с другой - устранить этот странный пробел отсутствия HTTP-клиента в проекте с интеграциями, большая часть которых на HTTP и работает

 

Ну а пока все! Напомню лишь, что ОПИ - это не только Ollama и не только 1С, но еще более 20-ти API и технологий, интеграция с которыми доступна также в виде пакета для OneScript и консольного приложения для Windows и Linux. Все интересные ссылки находятся ниже

 

Спасибо за внимание!

 

 Если вам нравится ОПИ, то не забывайте поддерживать его на GitHub и Инфостарт!

 

 

Репозиторий ОПИ: github.com/Bayselonarrend/OpenIntegrations

Последний релиз: github.com/Bayselonarrend/OpenIntegrations/releases/latest

 
 Куда жать и где скачать?

 

Другие статьи про Открытый пакет интеграций на Инфостарт:

 

 

 Мой GitHub:    https://gitub.com/Bayselonarrend 
 OpenYellow:    https://openyellow.org
 Лицензия MIT:  https://mit-license.org

ollama ai api web http ml искусственный интеллект чатботы

См. также

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    35719    70    45    

30

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    3669    5    0    

11

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    3239    3    3    

5

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    1342    9    2    

11

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    19584    24    22    

20

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    5398    5    2    

6

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 1C:Бухгалтерия Управленческий учет Платные (руб)

Решение осуществляет синхронизацию задач Битрикс24 и 1С, что позволяет в одной системе ставить задачи, контролировать выполнение всего пула задач с группировкой по ответственным и проектам, формировать управленческие отчеты по работе сотрудников (загрузка, просроченные задачи), уведомлять сотрудников о ходе выполнения задач посредством чат-бот Telegram

7200 руб.

04.05.2021    21257    14    19    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kihid 05.05.25 10:18 Сейчас в теме
А стрминг работает? Когда сами пробовали подключаться к Ollama что-то не получилось
2. bayselonarrend 2616 05.05.25 10:24 Сейчас в теме
(1)
А стрминг работает?


Нет. Это какой-то момент 1Сного HTTPСоединения: оно не умеет получать ответ частями (persistent connection это вроде называется), а просто ждет, когда все части догрузятся. Пэтому по умолчанию во всех функциях либы прописан stream=false
9. kihid 05.05.25 13:09 Сейчас в теме
(2) Жаль, получать частяии оно конечно интерактивнее
11. bayselonarrend 2616 05.05.25 13:19 Сейчас в теме
(9) Ну, это наврное было бы проблематично без асинхронности
12. bayselonarrend 2616 05.05.25 13:19 Сейчас в теме
(9) Может что-нибудь придумаю потом в рамках развития HTTP-клиента
3. Anqben 05.05.25 10:32 Сейчас в теме
А можешь подкинуть оригинальные доки олламиы пж?
4. bayselonarrend 2616 05.05.25 10:39 Сейчас в теме
(3) https://github.com/ollama/ollama/blob/main/docs/api.md
Но вообще в доках ОПИ под каждой функцией есть
Прикрепленные файлы:
5. Miroshh 3 05.05.25 10:54 Сейчас в теме
Интересно, что по авторизации? Методы "универсальные" вроде, а auth у всех разный, в ollama своего нету :/
bayselonarrend; +1 Ответить
6. bayselonarrend 2616 05.05.25 10:57 Сейчас в теме
(5) В каждой функции есть параметр "Заголовки", куда можно передать свои хеддеры, в том числе и какой-нибудь Authorization: Bearer
7. bayselonarrend 2616 05.05.25 11:00 Сейчас в теме
(5) В примерах кода, кста, есть об этом
8. SerVer1C 886 05.05.25 11:59 Сейчас в теме
Опередили ) Не хватило свободного времени доделать свою версию )
bayselonarrend; +1 Ответить
13. koropo 2 05.05.25 22:27 Сейчас в теме
Методы одинаковы для любых моделей?
14. bayselonarrend 2616 05.05.25 22:45 Сейчас в теме
15. bayselonarrend 2616 05.05.25 22:47 Сейчас в теме
(13) А, ну разве что некторые (обычно небольшие) модели могут не поддерживать все параметры, вроде промптов с картинками и тонкие настройки
Оставьте свое сообщение