1C и GigaChat на базе 1С HTTP Connector (теперь + DeepSeek)

21.06.25

Интеграция - Нейросети

Данная публикация демонстрирует основы взаимодействия 1С по АПИ с GigaChat от Сбера. Приведены примеры получения токена, отправки файла для последующей обработки и чат с ИИ, и непосредственно обработка файла. upd: в публикацию добавлено как обрабатывать файлы DeepSeek

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
1C и GigaChat на базе 1С HTTP Connector
.epf 7,15Kb
13 2 150 руб. Купить
1C и DeepSeek на базе 1С HTTP Connector
.epf 6,66Kb
7 2 150 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Моя вторая публикация и снова на базе https://github.com/vbondarevsky/Connector

upd:

Сразу выкладываю как только это у меня получилось.
Итак, чтобы отправить файл дипсику для обработки нужно:

 

 

 

В приложенной обработке реализовано получение токена Bearer для обращения к API GigaChat, помещение файла pdf в хранилище GigaChat для последующего анализа и обработки и простой чат вопрос - ответ.

upd:
Добавляю простейший запрос для получения описания номенклатуры по ее наименованию:
 

Функция СпроситьИИНаСервере(Наименование)

	//ИДФайла = Ответ;
    Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer(Токен());
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("x-client-id", "");
    
    // Определение структуры
    СтруктураДанных = Новый Структура;
    СтруктураДанных.Вставить("model", "GigaChat");
    
    Сообщения = Новый Массив;
    
    СообщениеСистемы = Новый Структура;
    СообщениеСистемы.Вставить("role", "system");
    СообщениеСистемы.Вставить("content", "Ты профессиональный маркетолог. Умеешь из короткого названия товара сгенерировать описание. Результат выводишь в виде текста без своих комментариев.");
    Сообщения.Add(СообщениеСистемы);
    
    СообщениеПользователя = Новый Структура;
    СообщениеПользователя.Вставить("role", "user");
    СообщениеПользователя.Вставить("content", Наименование);  
    //СообщениеПользователя.Вставить("attachments", ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ИДФайла));  
    
    
    Сообщения.Add(СообщениеПользователя);
    
    СтруктураДанных.Вставить("messages", Сообщения);
    
    // Теперь структура готова к использованию    
    
    Результат = КоннекторHTTP.PostJSON("https://gigachat.devices.sberbank.ru/api/v1/chat/completions", СтруктураДанных, Новый Структура("Аутентификация,Заголовки", Аутентификация, Заголовки));
    Ответ = Результат["choices"][0]["message"]["content"];
	
	Возврат Ответ;
	
КонецФункции

 

Выкладываю код, он же в приложенной обработке.

Подставляем в функцию Токен() <Authorization key> из кабинета developers.sber.ru

&НаСервере
Функция Токен()
    
    Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer("<Authorization key>");

Также понадобится <id клиента>

  

  Данные = Новый Структура("purpose", "general");
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("x-client-id", "<id клиента>");

Прилагаю код формы:

&НаКлиенте
Процедура Команда1(Команда)
     РеквизитТокен = Токен();
 КонецПроцедуры
 
 &НаКлиенте
Процедура Команда2(Команда)
     СкормитьПДФ();
 КонецПроцедуры
 
&НаСервере
Функция Токен()
    
    Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer("<Authorization key>");

    Данные = Новый Структура("scope", "GIGACHAT_API_PERS");
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("RqUID",XMLСтрока(Новый УникальныйИдентификатор));

    Результат = КоннекторHTTP.КакJSON(КоннекторHTTP.Post("https://ngw.devices.sberbank.ru:9443/api/v2/oauth", Неопределено, Новый Структура("Аутентификация,Заголовки, Данные", Аутентификация, Заголовки, Данные)));
    
    Возврат Результат["access_token"];    
    
КонецФункции

&НаСервере 
Процедура СкормитьПДФ()
    Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer(Токен());

    Файлы = Новый Массив;  
    ФайлДанных = КоннекторHTTP.НовыйОтправляемыйФайл("file", "d:\test.pdf", Новый ДвоичныеДанные("d:\test.pdf"),  "application/pdf");
    Файлы.Добавить(ФайлДанных);

    Данные = Новый Структура("purpose", "general");
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("x-client-id", "<id клиента>");

    Результат = КоннекторHTTP.Post("https://gigachat.devices.sberbank.ru/api/v1/files", Неопределено, Новый Структура("Файлы,Данные,Аутентификация,Заголовки", Файлы, Данные, Аутентификация, Заголовки));
    Ответ = КоннекторHTTP.КакJson(Результат)["id"];
КонецПроцедуры    


&НаСервере
Процедура СпроситьИИНаСервере()

    ИДФайла = Ответ;
    Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer(Токен());
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("x-client-id", "<id клиента>");
    
    // Определение структуры
    СтруктураДанных = Новый Структура;
    СтруктураДанных.Вставить("model", "GigaChat");
    
    Сообщения = Новый Массив;
    
    СообщениеСистемы = Новый Структура;
    СообщениеСистемы.Вставить("role", "system");
    СообщениеСистемы.Вставить("content", "Ты - пьяный гопник и быдло. Тебе нужно отвечать на все вопросы как будто ты маргинал.");
    Сообщения.Add(СообщениеСистемы);
    
    СообщениеПользователя = Новый Структура;
    СообщениеПользователя.Вставить("role", "user");
    СообщениеПользователя.Вставить("content", ВопросИИ);  
    //СообщениеПользователя.Вставить("attachments", ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ИДФайла));  
    
    
    Сообщения.Add(СообщениеПользователя);
    
    СтруктураДанных.Вставить("messages", Сообщения);
    
    // Теперь структура готова к использованию    
    
    Результат = КоннекторHTTP.PostJSON("https://gigachat.devices.sberbank.ru/api/v1/chat/completions", СтруктураДанных, Новый Структура("Аутентификация,Заголовки", Аутентификация, Заголовки));
    Ответ = Результат["choices"][0]["message"]["content"];
КонецПроцедуры


&НаКлиенте
Процедура СпроситьИИ(Команда)
    СпроситьИИНаСервере();
КонецПроцедуры

 

upd:
Пример обработки загруженного файла в хранилище GigaChat
&НаСервере
Процедура СпроситьИИНаСервере()

	ИДФайла = Ответ;
	Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer(РеквизитТокен);
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("x-client-id", "");
	
	// Определение структуры
	СтруктураДанных = Новый Структура;
	СтруктураДанных.Вставить("model", "GigaChat-2-preview");
	
	Сообщения = Новый Массив;
	
	СообщениеПользователя = Новый Структура;
	СообщениеПользователя.Вставить("role", "user");
	СообщениеПользователя.Вставить("content", "Выпиши все значения id в документе в столбик. Отвечай на основе приложенного документа");  
	СообщениеПользователя.Вставить("attachments", ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ИДФайла));  
	
	
	Сообщения.Add(СообщениеПользователя);
	
	СтруктураДанных.Вставить("messages", Сообщения);
	
	// Теперь структура готова к использованию	
	
	Результат = КоннекторHTTP.PostJSON("https://gigachat.devices.sberbank.ru/api/v1/chat/completions", СтруктураДанных, Новый Структура("Аутентификация,Заголовки", Аутентификация, Заголовки));
	Ответ = Результат["choices"][0]["message"]["content"];
КонецПроцедуры

 

upd:

Добавлен диалог с DeepSeek

 

Проплатить токены так:


Прилагаю пример:

&НаСервере
Процедура СпроситьИИНаСервере()

	ИДФайла = Ответ;
	Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer("<API key DeepSeek>");
	Заголовки = Новый Соответствие;
	
	// Определение структуры
	СтруктураДанных = Новый Структура;
	СтруктураДанных.Вставить("model", "deepseek-chat");
	
	Сообщения = Новый Массив;
	
	СообщениеПользователя = Новый Структура;
	СообщениеПользователя.Вставить("role", "system");
	СообщениеПользователя.Вставить("content", "Ты отвечаешь как маргинал, быдло и интернет тролль.");  
	
	Сообщения.Add(СообщениеПользователя);

	СообщениеПользователя = Новый Структура;
	СообщениеПользователя.Вставить("role", "user");
	СообщениеПользователя.Вставить("content", ВопросИИ);  
	
	Сообщения.Add(СообщениеПользователя);
	
	СтруктураДанных.Вставить("messages", Сообщения);
	СтруктураДанных.Вставить("stream", false);
	// Теперь структура готова к использованию	
	
	Результат = КоннекторHTTP.PostJSON("https://api.deepseek.com/chat/completions", СтруктураДанных, Новый Структура("Аутентификация,Заголовки", Аутентификация, Заголовки));
	Ответ = Результат["choices"][0]["message"]["content"];
КонецПроцедуры

 

 

 

 

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.155, 3.1.11.142

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Администрирование веб-серверов Сервера Нейросети Программист Платные (руб)

Сервер поиска по метаданным и поиска по коду, Сервер экспорта и поиска по документации, Сервер синтаксической проверки кода

17.06.2025    3903    57    comol    5    

27

Нейросети 1С v8.3 Платные (руб)

Подключите Вашу 1С к ИИ. Расширение практически для любых конфигураций 1С, которое добавляет к ним MCP серверы и позволяет делать свои инструменты (tools), которые могут вызывать любые нейросетевые модели.

21600 руб.

10.07.2025    525    1    2    

2

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

Расширение для заполнения описания номенклатуры с помощью модели ИИ GigaChat от Сбера. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ.

5000 руб.

08.11.2023    4296    16    0    

26

Нейросети Пользователь 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

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

6000 руб.

03.04.2024    8694    4    0    

10

Мастера заполнения Нейросети 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

Расширение для заполнения описания товара (номенклатуры) с помощью модели ИИ ChatGPT с ключевыми словами. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ. Прошло аудит на 1cfresh.com. Версия для автоматического заполнения

5000 руб.

13.03.2023    19901    48    50    

78

Нейросети 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Платные (руб)

Умный Excel" - ИИ-супердвигатель, который превращает часы работы в минуты! Технологии будущего уже здесь: загрузил Excel "магия ИИ" готовый результат

8400 руб.

02.07.2025    730    0    0    

2

Нейросети Программист Бесплатно (free)

В публикации рассмотрим, какие AI инструменты сейчас применимы для разработки на 1С, и особенности их использования.

02.07.2025    5258    comol    16    

27

Нейросети Анализ продаж Пользователь 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Новая (портабельная) версия анализа продаж вместе с ИИ. Не требует установки расширения Библиотека искусственного интеллекта для 1С.

10 стартмани

17.06.2025    1483    9    mkalimulin    6    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. akR00b 25 15.04.25 09:04 Сейчас в теме
за юмор + ) какой тариф за сие использование? и вообще есть ограничения?
4. qazaz2 17 21.04.25 11:04 Сейчас в теме
Приветствую,
По ссылке https://github.com/vbondarevsky/Connector скачал расширение. Появился общий модуль БОНД_Коннектор.
Скачал обработку. В обработке обращение к КоннекторHTTP, которого вроде как нет.
В БОНД_Коннектор например метода НоваяАутентификацияBearer нет.
Что я делаю не так?
5. exitone 18 21.04.25 14:15 Сейчас в теме
Я использовал этот модуль
Возможно разработка на гитхабе ушла вперед(или назад)
Прикрепленные файлы:
Общий модуль КоннекторHTTP_ Модуль.txt
8. qazaz2 17 21.04.25 22:34 Сейчас в теме
9. qazaz2 17 22.04.25 12:18 Сейчас в теме
Добавил общий модуль КоннекторHTTP.
Синтаксические ошибки из обработки ушли.
Вставил свой <Authorization key>.
В отладке вижу что токен получаю.
Но СпроситьИИ возвращает "message" - "Internal Server Error" и "status" - 500
Что я делаю не так?
11. exitone 18 22.04.25 12:28 Сейчас в теме
(9)
СтруктураДанных = Новый Структура;
СтруктураДанных.Вставить("model", "GigaChat-2-preview");

Вот тут попробуйте модель
СтруктураДанных.Вставить("model", "GigaChat");
12. exitone 18 22.04.25 12:33 Сейчас в теме
(9)
Заголовки.Вставить("x-client-id", "<id клиента>");
плюс сюда не забудьте id клиента
10. exitone 18 22.04.25 12:26 Сейчас в теме
Вот пример, когда на основе загруженного pdf файла, GigaChat выписывает в столбик все найденные в файле id

СообщениеПользователя = Новый Структура;
СообщениеПользователя.Вставить("role", "user");
СообщениеПользователя.Вставить("content", "Выпиши все значения id в документе в столбик. Отвечай на основе приложенного документа");
СообщениеПользователя.Вставить("attachments", ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ИДФайла));
13. qazaz2 17 22.04.25 13:16 Сейчас в теме
14. qazaz2 17 22.04.25 15:58 Сейчас в теме
Заработало, дело было в "id клиента",
спасибо.
Оставьте свое сообщение