You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-24 19:49:22 +02:00
Дополнение тестов
This commit is contained in:
@@ -298,6 +298,7 @@
|
||||
НовыйТест(ТаблицаТестов, "GAPI_Аккаунт" , "Аккаунт" , GreenAPI);
|
||||
НовыйТест(ТаблицаТестов, "RC_ВыполнениеКоманд" , "Выполнение команд" , RCON);
|
||||
НовыйТест(ТаблицаТестов, "OLLM_ОбработкаЗапросов" , "Обработка запросов" , Ollama);
|
||||
НовыйТест(ТаблицаТестов, "OLLM_РаботаСМоделями" , "Работа с моделями" , Ollama);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
|
@@ -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_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
226
src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl
vendored
226
src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl
vendored
@@ -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_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
Reference in New Issue
Block a user