Здравствуйте, я начинающий разработчик, возник вопрос. Почему бот не выдает ответ?
Сама функция протестирована на форме, и она дает результат, а вот бот не хочет ее вызывать. В свойствах общего модуля галки стоят на вызов.
Вот функция из общего модуля: bearer есть, я просто его убрал по понятным причинам)
Процедура ОбработкаСообщенияСистемыВзаимодействия(Сообщение, ДополнительныеПараметры)
//Создаем обработку сообщения
Ответ = СистемаВзаимодействия.СоздатьСообщение(Сообщение.Обсуждение);
Ответ.Текст = ЗапросЧатDeepSeek.ПолучитьКонсультацию(Сообщение.Текст);
Ответ.Записать();
КонецПроцедуры
Сама функция протестирована на форме, и она дает результат, а вот бот не хочет ее вызывать. В свойствах общего модуля галки стоят на вызов.
Вот функция из общего модуля: bearer есть, я просто его убрал по понятным причинам)
Функция ПолучитьКонсультацию(текст) Экспорт
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL;
//Создание соединения
Соединение = Новый HTTPСоединение("api.deepseek.com", 443, , , , 30 , ЗащищенноеСоединение, );
//Добавление заголовков
ЗаголовокЗапросаHTTP = Новый Соответствие();
ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/json");
ЗаголовокЗапросаHTTP.Вставить("Authorization", "Bearer " + bearer);
//Обрабатываем JSON ответ
Массив = Новый Массив;
Структура1 = Новый Структура;
Структура1.Вставить("role", "system");
Структура1.Вставить("content", "You are a helpful assistant.");
Структура2 = Новый Структура;
Структура2.Вставить("role", "user");
Структура2.Вставить("content", текст);
Массив.Добавить(Структура1);
Массив.Добавить(Структура2);
Структура3 = Новый Структура;
Структура3.Вставить("model", "deepseek-coder");
Структура3.Вставить("messages", Массив);
ТелоЗапроса = ЗаписатьЗначениеJSON(Структура3);
//Отправка запроса
АдресРесурса = СтрШаблон("/v1/chat/completions");
Запрос = Новый HTTPЗапрос(АдресРесурса,ЗаголовокЗапросаHTTP);
Запрос.УстановитьТелоИзСтроки(ТелоЗапроса);
error = "";
//Попытка выполнения запроса
Попытка
Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);
Исключение
error = "Не удалось отправить запрос, причина: " + ОписаниеОшибки();
возврат error
КонецПопытки;
//Проверка кода состояния
Если Ответ.КодСостояния = 200 Тогда
//Обработка состояния
ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
ЧтениеJSON = Новый ЧтениеJSON();
ЧтениеJSON.УстановитьСтроку(ТелоОтвета);
МассивДанных = ПрочитатьJSON(ЧтениеJSON, Истина);
ОтветБот = МассивДанных["choices"]["message"]["content"];
Возврат ОтветБот
Иначе
error = СтрШаблон("Не удалось выполнить запрос, код запроса: %1, ответ сервера: %2", Ответ.КодСостояния, Ответ.ПолучитьТелоКакСтроку());
возврат error;
КонецЕсли;
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот