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

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

This commit is contained in:
Anton Titovets
2025-04-14 19:42:24 +03:00
parent 84c419ccc5
commit 6c7d8b33e4
2 changed files with 378 additions and 7 deletions

View File

@@ -20863,7 +20863,7 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "КопироватьМодель", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaКод(Результат);
Результат = OPI_Ollama.УдалитьМодель(URL, Имя, ДопЗаголовки);
OPI_Ollama.УдалитьМодель(URL, Имя, ДопЗаголовки);
КонецПроцедуры
@@ -20993,7 +20993,6 @@
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@@ -2541,11 +2541,15 @@
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ollama_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ollama_Token", ПараметрыТеста);
CLI_Ollama_СкачатьМодель(ПараметрыТеста);
CLI_Ollama_ПолучитьВерсию(ПараметрыТеста);
CLI_Ollama_ПолучитьОтвет(ПараметрыТеста);
CLI_Ollama_ПолучитьОтветВКонтексте(ПараметрыТеста);
CLI_Ollama_ПолучитьПредставления(ПараметрыТеста);
CLI_Ollama_ПолучитьСтруктуруПараметровЗапроса(ПараметрыТеста);
CLI_Ollama_ПолучитьСтруктуруПараметровВКонтексте(ПараметрыТеста);
CLI_Ollama_ПолучитьСтруктуруСообщенияКонтекста(ПараметрыТеста);
CLI_Ollama_ПолучитьСтруктуруПараметровПредставлений(ПараметрыТеста);
КонецПроцедуры
@@ -2555,8 +2559,28 @@
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ollama_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ollama_Token", ПараметрыТеста);
CLI_Ollama_СкачатьМодель(ПараметрыТеста);
CLI_Ollama_ЗагрузитьМодельВПамять(ПараметрыТеста);
CLI_Ollama_ВыгрузитьМодельИзПамяти(ПараметрыТеста);
CLI_Ollama_СоздатьМодель(ПараметрыТеста);
CLI_Ollama_ПолучитьИнформациюОМодели(ПараметрыТеста);
CLI_Ollama_ПолучитьСписокМоделей(ПараметрыТеста);
CLI_Ollama_ПолучитьСписокЗапущенныхМоделей(ПараметрыТеста);
CLI_Ollama_КопироватьМодель(ПараметрыТеста);
CLI_Ollama_ОтправитьМодель(ПараметрыТеста);
CLI_Ollama_ПолучитьСтруктуруНастроекМодели(ПараметрыТеста);
CLI_Ollama_УдалитьМодель(ПараметрыТеста);
КонецПроцедуры
Процедура CLI_OLLM_РаботаСBlob() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ollama_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ollama_Token", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
CLI_Ollama_ОтправитьBlob(ПараметрыТеста);
КонецПроцедуры
@@ -23193,19 +23217,167 @@
Процедура CLI_Ollama_ПолучитьСтруктуруСообщенияКонтекста(ПараметрыФункции)
Опции = Новый Структура;
Опции.Вставить("empty", Ложь);
Опции.Вставить("role", "user");
Опции.Вставить("text", "Hello!");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруСообщенияКонтекста", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСтруктуруСообщенияКонтекста", "Ollama");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруСообщенияКонтекста", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
КонецПроцедуры
Процедура CLI_Ollama_СкачатьМодель(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Модель = "tinyllama";
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , Модель);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "СкачатьМодель", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьМодель", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaУспех(Результат);
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , "bayselonarrend/tinyllama:latest");
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "СкачатьМодель", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьМодель (bay)", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaУспех(Результат);
КонецПроцедуры
Процедура CLI_Ollama_УдалитьМодель(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Модель = "mario";
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , Модель);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "УдалитьМодель", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьМодель", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaКод(Результат);
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , "library/tinyllama:latest");
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "УдалитьМодель", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьМодель (tiny)", "Ollama");
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , "bayselonarrend/tinyllama:latest");
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "УдалитьМодель", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьМодель (tiny, bay)", "Ollama");
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСписокМоделей", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьМодель (список)", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaМодели(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["models"], 0);
КонецПроцедуры
Процедура CLI_Ollama_ПолучитьВерсию(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьВерсию", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьВерсию", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaВерсия(Результат);
КонецПроцедуры
Процедура CLI_Ollama_ПолучитьПредставления(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
МассивСтрок = Новый Массив;
МассивСтрок.Добавить("Why is the sky blue?");
МассивСтрок.Добавить("Why is the grass green?");
Модель = "tinyllama";
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , Модель);
Опции.Вставить("input" , МассивСтрок);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьПредставления", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПредставления", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaПривязки(Результат);
КонецПроцедуры
Процедура CLI_Ollama_ПолучитьСтруктуруПараметровПредставлений(ПараметрыФункции)
Опции = Новый Структура;
Опции.Вставить("empty", Ложь);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруПараметровПредставлений", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруПараметровПредставлений", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
Опции = Новый Структура;
Опции.Вставить("empty", Истина);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруСообщенияКонтекста", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСтруктуруСообщенияКонтекста (пустая)", "Ollama");
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруПараметровПредставлений", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруПараметровПредставлений (пустая)", "Ollama");
Для Каждого Элемент Из Результат Цикл
@@ -23215,6 +23387,206 @@
КонецПроцедуры
Процедура CLI_Ollama_СоздатьМодель(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Модель = "mario";
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Настройки = Новый Структура("from,system", "tinyllama", "You are Mario from Super Mario Bros.");
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , Модель);
Опции.Вставить("settings", Настройки);
Опции.Вставить("headers" , ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "СоздатьМодель", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьМодель", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaУспех(Результат);
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , Модель);
Опции.Вставить("prompt" , "How are you?");
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьОтвет", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьМодель (запрос)", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaОтвет(Результат);
КонецПроцедуры
Процедура CLI_Ollama_ПолучитьИнформациюОМодели(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Модель = "mario";
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , Модель);
Опции.Вставить("verbose", Ложь);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьИнформациюОМодели", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОМодели", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaИнформацияМодели(Результат);
КонецПроцедуры
Процедура CLI_Ollama_ПолучитьСписокМоделей(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСписокМоделей", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокМоделей", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaМодели(Результат);
КонецПроцедуры
Процедура CLI_Ollama_ПолучитьСписокЗапущенныхМоделей(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСписокЗапущенныхМоделей", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЗапущенныхМоделей", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaМодели(Результат);
КонецПроцедуры
Процедура CLI_Ollama_КопироватьМодель(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Модель = "mario";
Имя = "mario2";
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , Модель);
Опции.Вставить("name" , Имя);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "КопироватьМодель", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "КопироватьМодель", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaКод(Результат);
OPI_Ollama.УдалитьМодель(URL, Имя, ДопЗаголовки);
КонецПроцедуры
Процедура CLI_Ollama_ОтправитьМодель(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Модель = "bayselonarrend/tinyllama:latest";
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("model" , Модель);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ОтправитьМодель", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьМодель", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaУспех(Результат);
КонецПроцедуры
Процедура CLI_Ollama_ПолучитьСтруктуруНастроекМодели(ПараметрыФункции)
Опции = Новый Структура;
Опции.Вставить("empty", Ложь);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруНастроекМодели", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруНастроекМодели", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
Опции = Новый Структура;
Опции.Вставить("empty", Истина);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруНастроекМодели", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруНастроекМодели (пустая)", "Ollama");
Для Каждого Элемент Из Результат Цикл
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
КонецЦикла;
КонецПроцедуры
Процедура CLI_Ollama_ОтправитьBlob(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Картинка = ПараметрыФункции["Picture"]; // URL, Путь или Двоичные данные
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка, Истина); // SKIP
Рандом = ПолучитьДвоичныеДанныеИзСтроки(Строка(Новый УникальныйИдентификатор)); // SKIP
Картинка = OPI_Инструменты.СклеитьДанные(Картинка, Рандом); // SKIP
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("data" , Картинка);
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ОтправитьBlob", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьBlob", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaКод(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти