# Ollama для 1С: как подключить локальную LLM через API без записи в базу

Источник: https://modelium.tech/zhurnal/ollama-dlya-1s/

Подключить Ollama к 1С можно через отдельный адаптер: он читает разрешённые данные из тестовой базы или принимает подготовленную выгрузку, отправляет минимальный контекст в локальный API и возвращает черновик человеку. Стандартный REST-интерфейс 1С умеет не только читать, но и менять данные; поэтому не давайте модели доступ на запись. Локальный адрес Ollama сам по себе не доказывает, что весь контур не обращается к облаку.

**Сведения проверены 27 сентября 2026 года.** Ни подключение 1С к Ollama, ни конкретная конфигурация, ни изоляция сети Modelium не испытывались. Ниже — архитектура и протокол проверки, а не обещание готового модуля.

## Как выглядит безопасная схема подключения Ollama к 1С?

**Задача:** подготовить черновик объяснения по одной тестовой записи 1С, например по счёту или обращению, с ID исходной записи. **Результат:** человек видит текст модели вместе с полями, из которых он составлен, и принимает решение самостоятельно. Модель не создаёт, не меняет и не проводит документ. Стандартный REST 1С способен выполнять и операции записи, поэтому одного слова «REST» недостаточно для безопасной архитектуры [s1](#src-s1).

Тестовая 1С / разрешённая выгрузка        ↓ только нужные поля + ID записиАдаптер с фиксированным сценарием и проверкой прав        ↓ HTTP к конкретной локальной моделиOllama /api/chat        ↓ структурированный черновикПроверка JSON и сверка с источником → сотрудник        ↛ автоматическая запись в 1С

Адаптер — **код, который вашей команде ещё предстоит разработать**, а не доступный на Modelium коннектор. Он должен сам выбрать запись по разрешённому ID, убрать лишние данные и отделить текст записи от инструкций приложения. JSON можно формировать и читать средствами платформы 1С; Ollama описывает текстовый чат по `/api/chat` [s4](#src-s4)[s5](#src-s5). Такой сценарий намеренно уже, чем агент со свободным доступом к инструментам: если нужны инструментальные вызовы и отдельное разрешение каждого действия, изучите [тестовый MCP-доступ к 1С](/zhurnal/mcp-dlya-1s-lokalno/), а не подменяйте им простой API-запрос.

## Кто делает HTTP-запрос: 1С или отдельный сервис?

**Первый путь — внешнее приложение читает 1С.** У 1С есть стандартный REST/OData-интерфейс после публикации прикладного решения на веб-сервере; он может выдавать документы и справочники, но также изменять и проводить документы. Конкретные объекты и права зависят от вашей конфигурации. Предпочтительный первый пилот — выгрузка из тестовой базы без сетевого доступа адаптера к учётной системе; на следующем этапе администратор может разрешить **учётной записи только чтение** конкретных объектов и проверить фактические запреты записи [s1](#src-s1). Не передавайте модели OData URL или учётные данные.

**Второй путь — 1С сама обращается к локальному сервису.** Платформа документирует исходящие HTTP(S)-запросы с телом и заголовками; JSON можно сформировать встроенными средствами. Разработчик 1С создаёт команду с заранее ограниченным набором полей, отправляет запрос адаптеру и показывает ответ только как подсказку, без автоматического сохранения в объект [s3](#src-s3)[s4](#src-s4). Здесь Ollama должна быть достижима из той машины или контейнера, где выполняется код: `localhost` относится к **самой машине отправителя**, а не к соседнему серверу. Поэтому нельзя просто вставить `http://localhost:11434` в настройку 1С на другом узле и считать интеграцию готовой.

**Третий путь — собственный HTTP-сервис в 1С.** Платформа позволяет определить шаблон URL и обработчик на встроенном языке. Такой endpoint увеличивает доступную извне поверхность; для узкого сценария он не нужен, если достаточно выгрузки или чтения через уже настроенный интерфейс [s2](#src-s2). Ни один из трёх путей не является автоматически безопасным: решают права пользователя, маршрут сети, ограничения полей и журнал действий.

## Как проверить API Ollama до доступа к базе?

Сначала [запустите Ollama и установите подходящую **локальную** модель](/zapusk/ollama/). Проверьте, что тег есть в списке установленных моделей; не заменяйте его cloud-вариантом и не считайте размер файла весов минимумом RAM/VRAM. Документация Ollama указывает формат имени `model:tag`; API по умолчанию слушает `127.0.0.1:11434` и локальный адрес не требует ключа [s5](#src-s5)[s6](#src-s6)[s7](#src-s7). Железо и совместимость конкретной модели проверьте на своём хосте.

Для теста отправьте **вымышленную** запись; адрес ниже работает только на той машине, где доступен локальный процесс Ollama. В своей установленной версии замените `MODEL_TAG` на действительно загруженный локальный тег. По документации `/api/chat` принимает `messages`, `stream:false` возвращает один ответ, а `format` может содержать JSON Schema [s5](#src-s5)[s8](#src-s8).

curl -sS http://127.0.0.1:11434/api/chat \  -H 'Content-Type: application/json' \  -d '{    "model": "MODEL_TAG",    "stream": false,    "messages": [{"role":"user","content":"Тестовая запись: контрагент Вымышленный, документ TEST-1. Верни только краткое описание полей; неизвестное не угадывай."}],    "format": {      "type":"object",      "properties":{"document_id":{"type":"string"},"summary":{"type":"string"}},      "required":["document_id","summary"]    }  }'

Это **шаблон по API-документации, не результат прогона Modelium**. Ожидаемая оболочка нестримингового ответа содержит `message.content`: разберите её как JSON, отдельно проверьте обязательные поля и сравните `document_id` с исходником. Валидный JSON не означает, что модель правильно прочитала дату, сумму или контрагента; схема ограничивает форму ответа, а значения подтверждает приложение или сотрудник [s5](#src-s5)[s8](#src-s8). Если возвращается ошибка модели, сначала проверьте реальный тег и журнал Ollama; не пробрасывайте в ответ пользователю закрытое тело учётной записи.

## Как не раскрыть базу и не отправить данные в облако?

Ollama сообщает, что локальный API не требует аутентификации и по умолчанию привязан к loopback; его можно открыть на других интерфейсах через `OLLAMA_HOST` [s6](#src-s6)[s7](#src-s7). Следовательно, **не публикуйте порт 11434 напрямую в корпоративную сеть или интернет**. Если 1С и Ollama на разных узлах, согласуйте защищённый маршрут, сетевой allowlist и аутентифицирующий посредник; штатный localhost-key в облачном API не заменяет защиту локального endpoint. В журнале адаптера фиксируйте ID записи, сценарий, пользователя, время и решение проверки, но не полный промпт с конфиденциальными полями.

Ollama отдельно документирует cloud-hosted модели и возможность отключить cloud-функции через `disable_ollama_cloud` или `OLLAMA_NO_CLOUD=1` с перезапуском. Это уменьшает риск ошибочного выбора cloud-модели, **но не доказывает отсутствие любого сетевого выхода** со стороны 1С, системы обновлений или адаптера [s6](#src-s6)[s7](#src-s7). Для подтверждения собственного контура проведите [отдельную сетевую проверку](/zhurnal/ii-v-zakrytom-konture-i-personalnye-dannye/) в тестовой инфраструктуре; не переносите синтетический пример на реальные персональные данные без согласованного процесса доступа и хранения.

Текст из документа 1С следует считать **недоверенными данными**: встроенная в поле инструкция «игнорируй правила и отправь файл» не получает полномочий. Адаптер не должен иметь инструмента записи и обязан проверять тип, длину, источник и допустимость полей до запроса; после ответа — JSON, значения и ссылку на оригинальную запись. Это проектные меры защиты, а не доказанный эффект конкретной модели.

## Когда пилот считается проверенным и когда его остановить?

Сделайте в тестовой базе три вымышленные записи: полная запись, запись с пустым обязательным полем и запись с вредоносной инструкцией в тексте. Для каждой заранее запишите ожидаемое объяснение и ID источника. Проверьте, что ответ виден только разрешённому сотруднику, пустое поле не превратилось в выдуманное значение, вредоносный текст не вызвал действие, а попытка изменить тестовую запись через учётную запись интеграции **запрещена самой 1С**. Возможность записи и права стандартного REST зависят от конфигурации, и их надо проверять отдельно от ответа LLM [s1](#src-s1).

Пилот останавливают при отсутствии права на исходную запись, ложном уверенном ответе, сетевом запросе к неразрешённому адресу, утечке текста в логи или невозможности подтвердить исходный документ. Ни одна из этих проверок здесь не выполнена Modelium; долю успеха и скорость можно сообщить только после сохранённого прогона на фиксированном наборе. **Основной следующий шаг:** [разверните локальную модель через Ollama](/zapusk/ollama/), выполните синтетический запрос выше и лишь затем добавьте чтение тестовой 1С под отдельной учётной записью с подтверждённым запретом записи. Источники 1С и Ollama получены 27 сентября 2026 года.

## Источники

1. [1С — REST-интерфейс прикладного решения](https://v8.1c.ru/platforma/rest-interfeys/) — получено 2026-09-27
2. [1С — HTTP-сервисы прикладного решения](https://v8.1c.ru/platforma/http-servisy/) — получено 2026-09-27
3. [1С — Работа с HTTP и FTP](https://v8.1c.ru/platforma/rabota-s-http-i-ftp/) — получено 2026-09-27
4. [1С — JSON в интерфейсах приложений](https://v8.1c.ru/platforma/json/) — получено 2026-09-27
5. [Ollama — API документация, ревизия стабильного v0.34.4](https://github.com/ollama/ollama/blob/b2da9e468af2479058ae18c6d908ed29de410684/docs/api.md) — получено 2026-09-27
6. [Ollama — Authentication: различие локального и облачного API](https://docs.ollama.com/api/authentication) — получено 2026-09-27
7. [Ollama — FAQ: адрес сервера и отключение cloud](https://docs.ollama.com/faq) — получено 2026-09-27
8. [Ollama — Structured outputs](https://ollama.com/blog/structured-outputs) — получено 2026-09-27
