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

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot)
2025-04-14 19:52:29 +03:00
parent 9252a94425
commit 3b5b88d6f4
12 changed files with 8259 additions and 7134 deletions

View File

@@ -1640,6 +1640,10 @@ jobs:
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/en/OInt/tests/Modules/internal/OPI_TestsCLI.os "CLI_OLLM_ModelsManagement"
- name: Working with Blob
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/en/OInt/tests/Modules/internal/OPI_TestsCLI.os "CLI_OLLM_WorkingWithBlob"
- name: Записать логи
if: ${{ cancelled() }} == false
uses: actions/cache/save@v3

4
ci/cli_ostesten vendored
View File

@@ -778,6 +778,10 @@ pipeline {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/en/OInt/tests/Modules/internal/OPI_TestsCLI.os" "CLI_OLLM_ModelsManagement"'
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/en/OInt/tests/Modules/internal/OPI_TestsCLI.os" "CLI_OLLM_WorkingWithBlob"'
}
}
}

4
ci/ostesten vendored
View File

@@ -778,6 +778,10 @@ pipeline {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/en/OInt/tests/Modules/internal/OPI_Tests.os" "OLLM_ModelsManagement"'
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/en/OInt/tests/Modules/internal/OPI_Tests.os" "OLLM_WorkingWithBlob"'
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -20863,7 +20863,7 @@ Procedure Ollama_CopyModel(FunctionParameters)
OPI_TestDataRetrieval.WriteLog(Result, "CopyModel", "Ollama");
OPI_TestDataRetrieval.Check_OllamaCode(Result);
Result = OPI_Ollama.DeleteModel(URL, Name, AdditionalHeaders);
OPI_Ollama.DeleteModel(URL, Name, AdditionalHeaders);
EndProcedure
@@ -20993,7 +20993,6 @@ Procedure Ollama_PushBlob(FunctionParameters)
EndProcedure
#EndRegion
#EndRegion

View File

@@ -2541,11 +2541,15 @@ Procedure CLI_OLLM_RequestsProcessing() Export
OPI_TestDataRetrieval.ParameterToCollection("Ollama_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Ollama_Token", TestParameters);
CLI_Ollama_PullModel(TestParameters);
CLI_Ollama_GetVersion(TestParameters);
CLI_Ollama_GetResponse(TestParameters);
CLI_Ollama_GetContextResponse(TestParameters);
CLI_Ollama_GetEmbeddings(TestParameters);
CLI_Ollama_GetRequestParameterStructure(TestParameters);
CLI_Ollama_GetContextParameterStructure(TestParameters);
CLI_Ollama_GetContextMessageStructure(TestParameters);
CLI_Ollama_GetEmbeddingsParameterStructure(TestParameters);
EndProcedure
@@ -2555,8 +2559,28 @@ Procedure CLI_OLLM_ModelsManagement() Export
OPI_TestDataRetrieval.ParameterToCollection("Ollama_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Ollama_Token", TestParameters);
CLI_Ollama_PullModel(TestParameters);
CLI_Ollama_LoadModelToMemory(TestParameters);
CLI_Ollama_UnloadModelFromMemory(TestParameters);
CLI_Ollama_CreateModel(TestParameters);
CLI_Ollama_GetModelInformation(TestParameters);
CLI_Ollama_GetModelList(TestParameters);
CLI_Ollama_ListRunningModels(TestParameters);
CLI_Ollama_CopyModel(TestParameters);
CLI_Ollama_PushModel(TestParameters);
CLI_Ollama_GetModelSettingsStructure(TestParameters);
CLI_Ollama_DeleteModel(TestParameters);
EndProcedure
Procedure CLI_OLLM_WorkingWithBlob() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("Ollama_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Ollama_Token", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
CLI_Ollama_PushBlob(TestParameters);
EndProcedure
@@ -23193,19 +23217,167 @@ EndProcedure
Procedure CLI_Ollama_GetContextMessageStructure(FunctionParameters)
Options = New Structure;
Options.Insert("empty", False);
Options.Insert("role", "user");
Options.Insert("text", "Hello!");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextMessageStructure", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetContextMessageStructure", "Ollama");
OPI_TestDataRetrieval.WriteLog(Result, "GetContextMessageStructure", "Ollama");
OPI_TestDataRetrieval.Check_Map(Result);
EndProcedure
Procedure CLI_Ollama_PullModel(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Model = "tinyllama";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PullModel", Options);
// END
OPI_TestDataRetrieval.WriteLog(Result, "PullModel", "Ollama");
OPI_TestDataRetrieval.Check_OllamaSuccess(Result);
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , "bayselonarrend/tinyllama:latest");
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PullModel", Options);
OPI_TestDataRetrieval.WriteLog(Result, "PullModel (bay)", "Ollama");
OPI_TestDataRetrieval.Check_OllamaSuccess(Result);
EndProcedure
Procedure CLI_Ollama_DeleteModel(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Model = "mario";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "DeleteModel", Options);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteModel", "Ollama");
OPI_TestDataRetrieval.Check_OllamaCode(Result);
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , "library/tinyllama:latest");
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "DeleteModel", Options);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteModel (tiny)", "Ollama");
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , "bayselonarrend/tinyllama:latest");
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "DeleteModel", Options);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteModel (tiny, bay)", "Ollama");
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelList", Options);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteModel (list)", "Ollama");
OPI_TestDataRetrieval.Check_OllamaModels(Result);
OPI_TestDataRetrieval.Check_Array(Result["models"], 0);
EndProcedure
Procedure CLI_Ollama_GetVersion(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetVersion", Options);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetVersion", "Ollama");
OPI_TestDataRetrieval.Check_OllamaVersion(Result);
EndProcedure
Procedure CLI_Ollama_GetEmbeddings(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
StingsArray = New Array;
StingsArray.Add("Why is the sky blue?");
StingsArray.Add("Why is the grass green?");
Model = "tinyllama";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("input" , StingsArray);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetEmbeddings", Options);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetEmbeddings", "Ollama");
OPI_TestDataRetrieval.Check_OllamaEmbeddings(Result);
EndProcedure
Procedure CLI_Ollama_GetEmbeddingsParameterStructure(FunctionParameters)
Options = New Structure;
Options.Insert("empty", False);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetEmbeddingsParameterStructure", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetEmbeddingsParameterStructure", "Ollama");
OPI_TestDataRetrieval.Check_Map(Result);
Options = New Structure;
Options.Insert("empty", True);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextMessageStructure", Options);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetEmbeddingsParameterStructure", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetContextMessageStructure (empty)", "Ollama");
OPI_TestDataRetrieval.WriteLog(Result, "GetEmbeddingsParameterStructure (empty)", "Ollama");
For Each Element In Result Do
@@ -23215,6 +23387,206 @@ Procedure CLI_Ollama_GetContextMessageStructure(FunctionParameters)
EndProcedure
Procedure CLI_Ollama_CreateModel(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Model = "mario";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Settings = New Structure("from,system", "tinyllama", "You are Mario from Super Mario Bros.");
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("settings", Settings);
Options.Insert("headers" , AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "CreateModel", Options);
OPI_TestDataRetrieval.WriteLog(Result, "CreateModel", "Ollama");
OPI_TestDataRetrieval.Check_OllamaSuccess(Result);
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("prompt" , "How are you?");
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetResponse", Options);
OPI_TestDataRetrieval.WriteLog(Result, "CreateModel (request)", "Ollama");
OPI_TestDataRetrieval.Check_OllamaResponse(Result);
EndProcedure
Procedure CLI_Ollama_GetModelInformation(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Model = "mario";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("verbose", False);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelInformation", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetModelInformation", "Ollama");
OPI_TestDataRetrieval.Check_OllamaModelInfo(Result);
EndProcedure
Procedure CLI_Ollama_GetModelList(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelList", Options);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetModelList", "Ollama");
OPI_TestDataRetrieval.Check_OllamaModels(Result);
EndProcedure
Procedure CLI_Ollama_ListRunningModels(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "ListRunningModels", Options);
OPI_TestDataRetrieval.WriteLog(Result, "ListRunningModels", "Ollama");
OPI_TestDataRetrieval.Check_OllamaModels(Result);
EndProcedure
Procedure CLI_Ollama_CopyModel(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Model = "mario";
Name = "mario2";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("name" , Name);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "CopyModel", Options);
OPI_TestDataRetrieval.WriteLog(Result, "CopyModel", "Ollama");
OPI_TestDataRetrieval.Check_OllamaCode(Result);
OPI_Ollama.DeleteModel(URL, Name, AdditionalHeaders);
EndProcedure
Procedure CLI_Ollama_PushModel(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Model = "bayselonarrend/tinyllama:latest";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PushModel", Options);
// END
OPI_TestDataRetrieval.WriteLog(Result, "PushModel", "Ollama");
OPI_TestDataRetrieval.Check_OllamaSuccess(Result);
EndProcedure
Procedure CLI_Ollama_GetModelSettingsStructure(FunctionParameters)
Options = New Structure;
Options.Insert("empty", False);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelSettingsStructure", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetModelSettingsStructure", "Ollama");
OPI_TestDataRetrieval.Check_Map(Result);
Options = New Structure;
Options.Insert("empty", True);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelSettingsStructure", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetModelSettingsStructure (empty)", "Ollama");
For Each Element In Result Do
OPI_TestDataRetrieval.Check_Empty(Element.Value);
EndDo;
EndProcedure
Procedure CLI_Ollama_PushBlob(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Image = FunctionParameters["Picture"]; // URL, Path or Binary Data
OPI_TypeConversion.GetBinaryData(Image, True); // SKIP
Random = ПолучитьДвоичныеДанныеИзСтроки(String(New UUID)); // SKIP
Image = OPI_Tools.MergeData(Image, Random); // SKIP
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("data" , Image);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PushBlob", Options);
OPI_TestDataRetrieval.WriteLog(Result, "PushBlob", "Ollama");
OPI_TestDataRetrieval.Check_OllamaCode(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@@ -2392,7 +2392,7 @@ EndProcedure
Procedure Check_OllamaCode(Val Result) Export
ExpectsThat(Result["status_code"] < 300.Равно(True);
ExpectsThat(Result["status_code"] < 300).Равно(True);
EndProcedure

View File

@@ -20863,7 +20863,7 @@ Procedure Ollama_CopyModel(FunctionParameters)
OPI_TestDataRetrieval.WriteLog(Result, "CopyModel", "Ollama");
OPI_TestDataRetrieval.Check_OllamaCode(Result);
Result = OPI_Ollama.DeleteModel(URL, Name, AdditionalHeaders);
OPI_Ollama.DeleteModel(URL, Name, AdditionalHeaders);
EndProcedure
@@ -20993,7 +20993,6 @@ Procedure Ollama_PushBlob(FunctionParameters)
EndProcedure
#EndRegion
#EndRegion

View File

@@ -2541,11 +2541,15 @@ Procedure CLI_OLLM_RequestsProcessing() Export
OPI_TestDataRetrieval.ParameterToCollection("Ollama_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Ollama_Token", TestParameters);
CLI_Ollama_PullModel(TestParameters);
CLI_Ollama_GetVersion(TestParameters);
CLI_Ollama_GetResponse(TestParameters);
CLI_Ollama_GetContextResponse(TestParameters);
CLI_Ollama_GetEmbeddings(TestParameters);
CLI_Ollama_GetRequestParameterStructure(TestParameters);
CLI_Ollama_GetContextParameterStructure(TestParameters);
CLI_Ollama_GetContextMessageStructure(TestParameters);
CLI_Ollama_GetEmbeddingsParameterStructure(TestParameters);
EndProcedure
@@ -2555,8 +2559,28 @@ Procedure CLI_OLLM_ModelsManagement() Export
OPI_TestDataRetrieval.ParameterToCollection("Ollama_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Ollama_Token", TestParameters);
CLI_Ollama_PullModel(TestParameters);
CLI_Ollama_LoadModelToMemory(TestParameters);
CLI_Ollama_UnloadModelFromMemory(TestParameters);
CLI_Ollama_CreateModel(TestParameters);
CLI_Ollama_GetModelInformation(TestParameters);
CLI_Ollama_GetModelList(TestParameters);
CLI_Ollama_ListRunningModels(TestParameters);
CLI_Ollama_CopyModel(TestParameters);
CLI_Ollama_PushModel(TestParameters);
CLI_Ollama_GetModelSettingsStructure(TestParameters);
CLI_Ollama_DeleteModel(TestParameters);
EndProcedure
Procedure CLI_OLLM_WorkingWithBlob() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("Ollama_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Ollama_Token", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
CLI_Ollama_PushBlob(TestParameters);
EndProcedure
@@ -23193,19 +23217,167 @@ EndProcedure
Procedure CLI_Ollama_GetContextMessageStructure(FunctionParameters)
Options = New Structure;
Options.Insert("empty", False);
Options.Insert("role", "user");
Options.Insert("text", "Hello!");
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextMessageStructure", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetContextMessageStructure", "Ollama");
OPI_TestDataRetrieval.WriteLog(Result, "GetContextMessageStructure", "Ollama");
OPI_TestDataRetrieval.Check_Map(Result);
EndProcedure
Procedure CLI_Ollama_PullModel(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Model = "tinyllama";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PullModel", Options);
// END
OPI_TestDataRetrieval.WriteLog(Result, "PullModel", "Ollama");
OPI_TestDataRetrieval.Check_OllamaSuccess(Result);
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , "bayselonarrend/tinyllama:latest");
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PullModel", Options);
OPI_TestDataRetrieval.WriteLog(Result, "PullModel (bay)", "Ollama");
OPI_TestDataRetrieval.Check_OllamaSuccess(Result);
EndProcedure
Procedure CLI_Ollama_DeleteModel(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Model = "mario";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "DeleteModel", Options);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteModel", "Ollama");
OPI_TestDataRetrieval.Check_OllamaCode(Result);
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , "library/tinyllama:latest");
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "DeleteModel", Options);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteModel (tiny)", "Ollama");
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , "bayselonarrend/tinyllama:latest");
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "DeleteModel", Options);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteModel (tiny, bay)", "Ollama");
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelList", Options);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteModel (list)", "Ollama");
OPI_TestDataRetrieval.Check_OllamaModels(Result);
OPI_TestDataRetrieval.Check_Array(Result["models"], 0);
EndProcedure
Procedure CLI_Ollama_GetVersion(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetVersion", Options);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetVersion", "Ollama");
OPI_TestDataRetrieval.Check_OllamaVersion(Result);
EndProcedure
Procedure CLI_Ollama_GetEmbeddings(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
StingsArray = New Array;
StingsArray.Add("Why is the sky blue?");
StingsArray.Add("Why is the grass green?");
Model = "tinyllama";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("input" , StingsArray);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetEmbeddings", Options);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetEmbeddings", "Ollama");
OPI_TestDataRetrieval.Check_OllamaEmbeddings(Result);
EndProcedure
Procedure CLI_Ollama_GetEmbeddingsParameterStructure(FunctionParameters)
Options = New Structure;
Options.Insert("empty", False);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetEmbeddingsParameterStructure", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetEmbeddingsParameterStructure", "Ollama");
OPI_TestDataRetrieval.Check_Map(Result);
Options = New Structure;
Options.Insert("empty", True);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextMessageStructure", Options);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetEmbeddingsParameterStructure", Options);
OPI_TestDataRetrieval.WriteLogCLI(Result, "GetContextMessageStructure (empty)", "Ollama");
OPI_TestDataRetrieval.WriteLog(Result, "GetEmbeddingsParameterStructure (empty)", "Ollama");
For Each Element In Result Do
@@ -23215,6 +23387,206 @@ Procedure CLI_Ollama_GetContextMessageStructure(FunctionParameters)
EndProcedure
Procedure CLI_Ollama_CreateModel(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Model = "mario";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Settings = New Structure("from,system", "tinyllama", "You are Mario from Super Mario Bros.");
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("settings", Settings);
Options.Insert("headers" , AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "CreateModel", Options);
OPI_TestDataRetrieval.WriteLog(Result, "CreateModel", "Ollama");
OPI_TestDataRetrieval.Check_OllamaSuccess(Result);
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("prompt" , "How are you?");
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetResponse", Options);
OPI_TestDataRetrieval.WriteLog(Result, "CreateModel (request)", "Ollama");
OPI_TestDataRetrieval.Check_OllamaResponse(Result);
EndProcedure
Procedure CLI_Ollama_GetModelInformation(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Model = "mario";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("verbose", False);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelInformation", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetModelInformation", "Ollama");
OPI_TestDataRetrieval.Check_OllamaModelInfo(Result);
EndProcedure
Procedure CLI_Ollama_GetModelList(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelList", Options);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetModelList", "Ollama");
OPI_TestDataRetrieval.Check_OllamaModels(Result);
EndProcedure
Procedure CLI_Ollama_ListRunningModels(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "ListRunningModels", Options);
OPI_TestDataRetrieval.WriteLog(Result, "ListRunningModels", "Ollama");
OPI_TestDataRetrieval.Check_OllamaModels(Result);
EndProcedure
Procedure CLI_Ollama_CopyModel(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Model = "mario";
Name = "mario2";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("name" , Name);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "CopyModel", Options);
OPI_TestDataRetrieval.WriteLog(Result, "CopyModel", "Ollama");
OPI_TestDataRetrieval.Check_OllamaCode(Result);
OPI_Ollama.DeleteModel(URL, Name, AdditionalHeaders);
EndProcedure
Procedure CLI_Ollama_PushModel(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Model = "bayselonarrend/tinyllama:latest";
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("model" , Model);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PushModel", Options);
// END
OPI_TestDataRetrieval.WriteLog(Result, "PushModel", "Ollama");
OPI_TestDataRetrieval.Check_OllamaSuccess(Result);
EndProcedure
Procedure CLI_Ollama_GetModelSettingsStructure(FunctionParameters)
Options = New Structure;
Options.Insert("empty", False);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelSettingsStructure", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetModelSettingsStructure", "Ollama");
OPI_TestDataRetrieval.Check_Map(Result);
Options = New Structure;
Options.Insert("empty", True);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelSettingsStructure", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetModelSettingsStructure (empty)", "Ollama");
For Each Element In Result Do
OPI_TestDataRetrieval.Check_Empty(Element.Value);
EndDo;
EndProcedure
Procedure CLI_Ollama_PushBlob(FunctionParameters)
URL = FunctionParameters["Ollama_URL"];
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
Image = FunctionParameters["Picture"]; // URL, Path or Binary Data
OPI_TypeConversion.GetBinaryData(Image, True); // SKIP
Random = GetBinaryDataFromString(String(New UUID)); // SKIP
Image = OPI_Tools.MergeData(Image, Random); // SKIP
AdditionalHeaders = New Map;
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("data" , Image);
Options.Insert("headers", AdditionalHeaders);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PushBlob", Options);
OPI_TestDataRetrieval.WriteLog(Result, "PushBlob", "Ollama");
OPI_TestDataRetrieval.Check_OllamaCode(Result);
EndProcedure
#EndRegion
#EndRegion

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Код(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@@ -23243,7 +23243,7 @@
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "СкачатьМодель", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьМодель", "Ollama");
@@ -23354,7 +23354,7 @@
Опции.Вставить("headers", ДопЗаголовки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьПредставления", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПредставления", "Ollama");
@@ -23376,7 +23376,7 @@
Опции.Вставить("empty", Истина);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруПараметровПредставлений", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруПараметровПредставлений (пустая)", "Ollama");
Для Каждого Элемент Из Результат Цикл
@@ -23550,7 +23550,7 @@
Опции.Вставить("empty", Истина);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("ollama", "ПолучитьСтруктуруНастроекМодели", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруНастроекМодели (пустая)", "Ollama");
Для Каждого Элемент Из Результат Цикл