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

OLLAMA: Методы моделей

This commit is contained in:
Anton Titovets
2025-04-12 15:34:45 +03:00
parent b1d415016a
commit bde944616a
7 changed files with 7378 additions and 7044 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -205,6 +205,61 @@
#Область РаботаСМоделями
// Получить список моделей
// Получает список локальных моделей
//
// Примечание:
// Метод в документации API: [List Local Models](@github.com/ollama/ollama/blob/main/docs/api.md#list-local-models)
//
// Параметры:
// URL - Строка - URL сервера Ollama - url
// ДопЗаголовки - Соответствие Из КлючИЗначение - Доп заголовки запроса, если необходимо - headers
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - Результат обработки
Функция ПолучитьСписокМоделей(Знач URL, Знач ДопЗаголовки = "") Экспорт
ДополнитьURL(URL, "api/tags");
ОбработатьЗаголовки(ДопЗаголовки);
Ответ = OPI_Инструменты.Get(URL, , ДопЗаголовки);
Возврат Ответ;
КонецФункции
// Получить информацию о модели
// Получает информацию о выбранной модели
//
// Примечание:
// Метод в документации API: [Show Model Information](@github.com/ollama/ollama/blob/main/docs/api.md#show-model-information)
//
// Параметры:
// URL - Строка - URL сервера Ollama - url
// Модель - Строка - Имя модели - model
// Подробно - Булево - Возврат полной информации о модели - verbose
// ДопЗаголовки - Соответствие Из КлючИЗначение - Доп заголовки запроса, если необходимо - headers
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - Результат обработки
Функция ПолучитьИнформациюОМодели(Знач URL, Знач Модель, Знач Подробно = Истина, Знач ДопЗаголовки = "") Экспорт
ДополнитьURL(URL, "api/show");
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("model" , Модель , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("verbose", Подробно, "Булево", Параметры);
ОбработатьЗаголовки(ДопЗаголовки);
Ответ = OPI_Инструменты.Post(URL, Параметры, ДопЗаголовки);
Возврат Ответ;
КонецФункции
// Создать модель
// Создает новую модель с заданными настройками
//
@@ -237,6 +292,37 @@
КонецФункции
// Копировать модель
// Копирует существующую модель
//
// Примечание:
// Метод в документации API: [Copy a Model](@github.com/ollama/ollama/blob/main/docs/api.md#copy-a-model)
//
// Параметры:
// URL - Строка - URL сервера Ollama - url
// Модель - Строка - Имя существующей модели - model
// Имя - Строка - Имя новой модели - name
// ДопЗаголовки - Соответствие Из КлючИЗначение - Доп заголовки запроса, если необходимо - headers
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - Результат обработки
Функция КопироватьМодель(Знач URL, Знач Модель, Знач Имя, Знач ДопЗаголовки = "") Экспорт
ДополнитьURL(URL, "api/copy");
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("source" , Модель, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("destination", Имя , "Строка", Параметры);
ОбработатьЗаголовки(ДопЗаголовки);
Ответ = OPI_Инструменты.Post(URL, Параметры, ДопЗаголовки);
Возврат Ответ;
КонецФункции
// Удалить модель
// Удаляет существующую модель
//

View File

@@ -2591,6 +2591,9 @@
Ollama_ЗагрузитьМодельВПамять(ПараметрыТеста);
Ollama_ВыгрузитьМодельИзПамяти(ПараметрыТеста);
Ollama_СоздатьМодель(ПараметрыТеста);
Ollama_ПолучитьИнформациюОМодели(ПараметрыТеста);
Ollama_ПолучитьСписокМоделей(ПараметрыТеста);
Ollama_КопироватьМодель(ПараметрыТеста);
Ollama_УдалитьМодель(ПараметрыТеста);
КонецПроцедуры
@@ -20746,6 +20749,64 @@
КонецПроцедуры
Процедура Ollama_ПолучитьСписокМоделей(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Результат = OPI_Ollama.ПолучитьСписокМоделей(URL, ДопЗаголовки);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокМоделей", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaМодели(Результат);
КонецПроцедуры
Процедура Ollama_ПолучитьИнформациюОМодели(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Модель = "mario";
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Результат = OPI_Ollama.ПолучитьИнформациюОМодели(URL, Модель, Ложь, ДопЗаголовки);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОМодели", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaИнформацияМодели(Результат);
КонецПроцедуры
Процедура Ollama_КопироватьМодель(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Модель = "mario";
Имя = "mario2";
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Результат = OPI_Ollama.КопироватьМодель(URL, Модель, Имя, ДопЗаголовки);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "КопироватьМодель", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Результат);
Результат = OPI_Ollama.УдалитьМодель(URL, Имя, ДопЗаголовки);
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@@ -2364,6 +2364,19 @@
КонецПроцедуры
Процедура Проверка_OllamaМодели(Знач Результат) Экспорт
ОжидаетЧто(Результат["models"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_OllamaИнформацияМодели(Знач Результат) Экспорт
ОжидаетЧто(Результат["parameters"]).Заполнено();
ОжидаетЧто(Результат["model_info"]).Заполнено();
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -2400,9 +2413,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции

View File

@@ -205,6 +205,61 @@
#Область РаботаСМоделями
// Получить список моделей
// Получает список локальных моделей
//
// Примечание:
// Метод в документации API: [List Local Models](@github.com/ollama/ollama/blob/main/docs/api.md#list-local-models)
//
// Параметры:
// URL - Строка - URL сервера Ollama - url
// ДопЗаголовки - Соответствие Из КлючИЗначение - Доп заголовки запроса, если необходимо - headers
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - Результат обработки
Функция ПолучитьСписокМоделей(Знач URL, Знач ДопЗаголовки = "") Экспорт
ДополнитьURL(URL, "api/tags");
ОбработатьЗаголовки(ДопЗаголовки);
Ответ = OPI_Инструменты.Get(URL, , ДопЗаголовки);
Возврат Ответ;
КонецФункции
// Получить информацию о модели
// Получает информацию о выбранной модели
//
// Примечание:
// Метод в документации API: [Show Model Information](@github.com/ollama/ollama/blob/main/docs/api.md#show-model-information)
//
// Параметры:
// URL - Строка - URL сервера Ollama - url
// Модель - Строка - Имя модели - model
// Подробно - Булево - Возврат полной информации о модели - verbose
// ДопЗаголовки - Соответствие Из КлючИЗначение - Доп заголовки запроса, если необходимо - headers
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - Результат обработки
Функция ПолучитьИнформациюОМодели(Знач URL, Знач Модель, Знач Подробно = Истина, Знач ДопЗаголовки = "") Экспорт
ДополнитьURL(URL, "api/show");
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("model" , Модель , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("verbose", Подробно, "Булево", Параметры);
ОбработатьЗаголовки(ДопЗаголовки);
Ответ = OPI_Инструменты.Post(URL, Параметры, ДопЗаголовки);
Возврат Ответ;
КонецФункции
// Создать модель
// Создает новую модель с заданными настройками
//
@@ -237,6 +292,37 @@
КонецФункции
// Копировать модель
// Копирует существующую модель
//
// Примечание:
// Метод в документации API: [Copy a Model](@github.com/ollama/ollama/blob/main/docs/api.md#copy-a-model)
//
// Параметры:
// URL - Строка - URL сервера Ollama - url
// Модель - Строка - Имя существующей модели - model
// Имя - Строка - Имя новой модели - name
// ДопЗаголовки - Соответствие Из КлючИЗначение - Доп заголовки запроса, если необходимо - headers
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - Результат обработки
Функция КопироватьМодель(Знач URL, Знач Модель, Знач Имя, Знач ДопЗаголовки = "") Экспорт
ДополнитьURL(URL, "api/copy");
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("source" , Модель, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("destination", Имя , "Строка", Параметры);
ОбработатьЗаголовки(ДопЗаголовки);
Ответ = OPI_Инструменты.Post(URL, Параметры, ДопЗаголовки);
Возврат Ответ;
КонецФункции
// Удалить модель
// Удаляет существующую модель
//

View File

@@ -2364,6 +2364,19 @@
КонецПроцедуры
Процедура Проверка_OllamaМодели(Знач Результат) Экспорт
ОжидаетЧто(Результат["models"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_OllamaИнформацияМодели(Знач Результат) Экспорт
ОжидаетЧто(Результат["parameters"]).Заполнено();
ОжидаетЧто(Результат["model_info"]).Заполнено();
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@@ -2591,6 +2591,9 @@
Ollama_ЗагрузитьМодельВПамять(ПараметрыТеста);
Ollama_ВыгрузитьМодельИзПамяти(ПараметрыТеста);
Ollama_СоздатьМодель(ПараметрыТеста);
Ollama_ПолучитьИнформациюОМодели(ПараметрыТеста);
Ollama_ПолучитьСписокМоделей(ПараметрыТеста);
Ollama_КопироватьМодель(ПараметрыТеста);
Ollama_УдалитьМодель(ПараметрыТеста);
КонецПроцедуры
@@ -20746,6 +20749,64 @@
КонецПроцедуры
Процедура Ollama_ПолучитьСписокМоделей(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Результат = OPI_Ollama.ПолучитьСписокМоделей(URL, ДопЗаголовки);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокМоделей", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaМодели(Результат);
КонецПроцедуры
Процедура Ollama_ПолучитьИнформациюОМодели(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Модель = "mario";
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Результат = OPI_Ollama.ПолучитьИнформациюОМодели(URL, Модель, Ложь, ДопЗаголовки);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОМодели", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_OllamaИнформацияМодели(Результат);
КонецПроцедуры
Процедура Ollama_КопироватьМодель(ПараметрыФункции)
URL = ПараметрыФункции["Ollama_URL"];
Токен = ПараметрыФункции["Ollama_Token"]; // Авторизация - не часть API Ollama
Модель = "mario";
Имя = "mario2";
ДопЗаголовки = Новый Соответствие;
ДопЗаголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
Результат = OPI_Ollama.КопироватьМодель(URL, Модель, Имя, ДопЗаголовки);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "КопироватьМодель", "Ollama");
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Результат);
Результат = OPI_Ollama.УдалитьМодель(URL, Имя, ДопЗаголовки);
КонецПроцедуры
#КонецОбласти
#КонецОбласти