1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-24 19:49:22 +02:00

Дополнение тестов

This commit is contained in:
Anton Titovets
2025-04-09 20:59:44 +03:00
parent b6733bd7be
commit 0c5ecfc251
3 changed files with 300 additions and 1 deletions

View File

@@ -298,6 +298,7 @@
НовыйТест(ТаблицаТестов, "GAPI_Аккаунт" , "Аккаунт" , GreenAPI);
НовыйТест(ТаблицаТестов, "RC_ВыполнениеКоманд" , "Выполнение команд" , RCON);
НовыйТест(ТаблицаТестов, "OLLM_ОбработкаЗапросов" , "Обработка запросов" , Ollama);
НовыйТест(ТаблицаТестов, "OLLM_РаботаСМоделями" , "Работа с моделями" , Ollama);
Возврат ТаблицаТестов;

View File

@@ -2576,9 +2576,21 @@
Ollama_ПолучитьОтвет(ПараметрыТеста);
Ollama_ПолучитьОтветВКонтексте(ПараметрыТеста);
Ollama_ПолучитьСтруктуруПараметровЗапроса(ПараметрыТеста);
Ollama_ПолучитьСтруктуруПараметровВКонтексте(ПараметрыТеста);
Ollama_ПолучитьСтруктуруСообщенияКонтекста(ПараметрыТеста);
КонецПроцедуры
Процедура OLLM_РаботаСМоделями() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ollama_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ollama_Token", ПараметрыТеста);
Ollama_ЗагрузитьМодельВПамять(ПараметрыТеста);
Ollama_ВыгрузитьМодельИзПамяти(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
@@ -20564,6 +20576,66 @@
КонецПроцедуры
Процедура Ollama_ПолучитьСтруктуруПараметровЗапроса(ПараметрыФункции)
Результат = OPI_Ollama.ПолучитьСтруктуруПараметровЗапроса();
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруПараметровЗапроса", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
Результат = OPI_Ollama.ПолучитьСтруктуруПараметровЗапроса(Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруПараметровЗапроса (пустая)", "Ollama");
Для Каждого Элемент Из Результат Цикл
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
КонецЦикла;
КонецПроцедуры
Процедура Ollama_ПолучитьСтруктуруПараметровВКонтексте(ПараметрыФункции)
Результат = OPI_Ollama.ПолучитьСтруктуруПараметровВКонтексте();
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруПараметровВКонтексте", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
Результат = OPI_Ollama.ПолучитьСтруктуруПараметровВКонтексте(Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруПараметровВКонтексте (пустая)", "Ollama");
Для Каждого Элемент Из Результат Цикл
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
КонецЦикла;
КонецПроцедуры
Процедура Ollama_ПолучитьСтруктуруСообщенияКонтекста(ПараметрыФункции)
Результат = OPI_Ollama.ПолучитьСтруктуруСообщенияКонтекста();
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруСообщенияКонтекста", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
Результат = OPI_Ollama.ПолучитьСтруктуруСообщенияКонтекста(Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруСообщенияКонтекста (пустая)", "Ollama");
Для Каждого Элемент Из Результат Цикл
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@@ -2533,6 +2533,35 @@
#КонецОбласти
#Область Ollama
Процедура CLI_OLLM_ОбработкаЗапросов() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ollama_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ollama_Token", ПараметрыТеста);
CLI_Ollama_ПолучитьОтвет(ПараметрыТеста);
CLI_Ollama_ПолучитьОтветВКонтексте(ПараметрыТеста);
CLI_Ollama_ПолучитьСтруктуруПараметровЗапроса(ПараметрыТеста);
CLI_Ollama_ПолучитьСтруктуруПараметровВКонтексте(ПараметрыТеста);
CLI_Ollama_ПолучитьСтруктуруСообщенияКонтекста(ПараметрыТеста);
КонецПроцедуры
Процедура CLI_OLLM_РаботаСМоделями() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ollama_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ollama_Token", ПараметрыТеста);
CLI_Ollama_ЗагрузитьМодельВПамять(ПараметрыТеста);
CLI_Ollama_ВыгрузитьМодельИзПамяти(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти
@@ -22991,6 +23020,203 @@
#КонецОбласти
#Область Ollama
Процедура CLI_Ollama_ПолучитьОтвет(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Промпт = "What is 1C:Enterprise?";
Модель = "tinyllama";
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , Модель);
Опции.Вставить("prompt" , Промпт);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьОтвет", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьОтвет", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaОтвет(Результат);
КонецПроцедуры
Процедура CLI_Ollama_ПолучитьОтветВКонтексте(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Модель = "tinyllama";
МассивСообщений = Новый Массив;
Вопрос1 = Новый Структура("role,content", "user", "What is 1C:Enterprise?");
Вопрос2 = Новый Структура("role,content", "user", "When the first version was released?"); // Вопрос без конкретики
// Добавляем первый вопрос в контекст
МассивСообщений.Добавить(Вопрос1);
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , Модель);
Опции.Вставить("msgs" , МассивСообщений);
Опции.Вставить("headers", ДопЗаголовки);
Ответ1 = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьОтветВКонтексте", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Ответ1, "ПолучитьОтветВКонтексте (предварительный)", "Ollama"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_OllamaСообщение(Ответ1); // SKIP
МассивСообщений.Добавить(Ответ1["message"]); // Добавляем ответ на первый вопрос в контекст
МассивСообщений.Добавить(Вопрос2); // Добавляем второй вопрос в контекст
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , Модель);
Опции.Вставить("msgs" , МассивСообщений);
Опции.Вставить("headers", ДопЗаголовки);
Ответ2 = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьОтветВКонтексте", Опции);
МассивСообщений.Добавить(Ответ2["message"]);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Ответ2, "ПолучитьОтветВКонтексте", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaСообщение(Ответ2);
КонецПроцедуры
Процедура CLI_Ollama_ЗагрузитьМодельВПамять(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Модель = "tinyllama";
Период = 500;
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , Модель);
Опции.Вставить("keep" , Период);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ЗагрузитьМодельВПамять", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ЗагрузитьМодельВПамять", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaЗагрузкаВыгрузка(Результат, Ложь);
КонецПроцедуры
Процедура CLI_Ollama_ВыгрузитьМодельИзПамяти(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Модель = "tinyllama";
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , Модель);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ВыгрузитьМодельИзПамяти", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ВыгрузитьМодельИзПамяти", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaЗагрузкаВыгрузка(Результат, Истина);
КонецПроцедуры
Процедура CLI_Ollama_ПолучитьСтруктуруПараметровЗапроса(ПараметрыФункции)
Опции = Новый Структура;
Опции.Вставить("empty", Ложь);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруПараметровЗапроса", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСтруктуруПараметровЗапроса", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
Опции = Новый Структура;
Опции.Вставить("empty", Истина);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруПараметровЗапроса", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСтруктуруПараметровЗапроса (пустая)", "Ollama");
Для Каждого Элемент Из Результат Цикл
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
КонецЦикла;
КонецПроцедуры
Процедура CLI_Ollama_ПолучитьСтруктуруПараметровВКонтексте(ПараметрыФункции)
Опции = Новый Структура;
Опции.Вставить("empty", Ложь);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруПараметровВКонтексте", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСтруктуруПараметровВКонтексте", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
Опции = Новый Структура;
Опции.Вставить("empty", Истина);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруПараметровВКонтексте", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСтруктуруПараметровВКонтексте (пустая)", "Ollama");
Для Каждого Элемент Из Результат Цикл
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
КонецЦикла;
КонецПроцедуры
Процедура CLI_Ollama_ПолучитьСтруктуруСообщенияКонтекста(ПараметрыФункции)
Опции = Новый Структура;
Опции.Вставить("empty", Ложь);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруСообщенияКонтекста", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСтруктуруСообщенияКонтекста", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
Опции = Новый Структура;
Опции.Вставить("empty", Истина);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруСообщенияКонтекста", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСтруктуруСообщенияКонтекста (пустая)", "Ollama");
Для Каждого Элемент Из Результат Цикл
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти