Comprehensive guide to managing language models in the View Assistant platform for model operations and lifecycle management.
Overview
Model management provides comprehensive language model operations within the View Assistant platform. It enables listing, retrieving, deleting, loading, and unloading of language models for optimal resource management and performance optimization.
Model operations are accessible via the View Assistant API at [http|https]://[hostname]:[port]/v1.0/tenants/[tenant-guid]/models
and support various model lifecycle operations.
API Endpoints
- POST
/v1.0/tenants/[tenant-guid]/assistant/models
- List local models - POST
/v1.0/tenants/[tenant-guid]/assistant/models/pull
- Retrieve model - POST
/v1.0/tenants/[tenant-guid]/assistant/models/delete
- Delete model - POST
/v1.0/tenants/[tenant-guid]/assistant/models/load
- Load/unload model
List Local Models
Lists all available local models using POST /v1.0/tenants/[tenant-guid]/assistant/models
. Retrieves information about locally available language models including model names, families, and parameter sizes.
Request Parameters
Required Parameters
- OllamaHostname (string, Body, Required): Hostname of the Ollama server
- OllamaPort (number, Body, Required): Port number of the Ollama server
curl --location 'http://view.homedns.org:8000/v1.0/tenants/00000000-0000-0000-0000-000000000000/assistant/models' \
--header 'Content-Type: application/json' \
--data '{
"OllamaHostname": "ollama",
"OllamaPort": 11434
}'
import { ViewAssistantSdk } from "view-sdk";
const api = new ViewAssistantSdk(
"http://localhost:8000/", //endpoint
"<tenant-guid>", //tenant Id
"default" //access key
);
const retrieveLocalModels = async () => {
try {
const response = await api.Model.retrieveLocalModels({
OllamaHostname: "ollama",
OllamaPort: 11434,
});
console.log(response);
} catch (err) {
console.log("Error retrieving local models:", err);
}
};
retrieveLocalModels();
import view_sdk
from view_sdk import assistant
sdk = view_sdk.configure( access_key="default",base_url="localhost", tenant_guid= "<tenant-guid>")
def listModels():
result = assistant.Models.retrieve_all(
OllamaHostname= "ollama",
OllamaPort= 11434
)
print(result)
listModels()
using View.Sdk;
using View.Sdk.Assistant;
ViewAssistantSdk sdk = new ViewAssistantSdk(Guid.Parse("<tenant-guid>"),"default", "http://localhost:8000/");
ModelRequest modelReq = new ModelRequest
{
OllamaHostname = "ollama",
OllamaPort = 11434
};
List<Model> response = await sdk.Model.RetrieveMany(modelReq);
Response
[
{
"ModelName": "llama3.1:latest",
"ModelFamily": "llama",
"ParameterSize": "8.0B"
}
]
Retrieve model
To retrieve a model, call POST /v1.0/tenants/[tenant-guid]/assistant/models/pull
curl --location 'http://view.homedns.org:8000/v1.0/tenants/00000000-0000-0000-0000-000000000000/assistant/models/pull' \
--header 'Content-Type: application/json' \
--data '{
"ModelName": "llama3.1:latest",
"OllamaHostname": "ollama",
"OllamaPort": 11434
}'
import { ViewAssistantSdk } from "view-sdk";
const api = new ViewAssistantSdk(
"http://localhost:8000/", //endpoint
"<tenant-guid>", //tenant Id
"default" //access key
);
const retrieveModels = async () => {
try {
const response = await api.Model.retrieve(
{
ModelName: "llama3.1:latest",
OllamaHostname: "ollama",
OllamaPort: 11434,
},
(token) => {
console.log(token);
}
);
console.log(response);
} catch (err) {
console.log("Error retrieving models:", err);
}
};
retrieveModels();
import view_sdk
from view_sdk import assistant
sdk = view_sdk.configure( access_key="default",base_url="localhost", tenant_guid= "<tenant-guid>")
def retrieveModel():
result = assistant.Models.retrieve(
ModelName= "llama3.1:latest",
OllamaHostname= "ollama",
OllamaPort= 11434
)
print(result)
retrieveModel()
using View.Sdk;
using View.Sdk.Assistant;
ViewAssistantSdk sdk = new ViewAssistantSdk(Guid.Parse("<tenant-guid>"),"default", "http://localhost:8000/");
ModelRequest modelReq = new ModelRequest
{
ModelName = "llama3.1:latest",
OllamaHostname = "ollama",
OllamaPort = 11434
};
string response = await sdk.Model.Retrieve(modelReq);
Delete model
To lost local models, call POST /v1.0/tenants/[tenant-guid]/assistant/models/delete
curl --location 'http://view.homedns.org:8000/v1.0/tenants/00000000-0000-0000-0000-000000000000/assistant/models/delete' \
--header 'Content-Type: application/json' \
--data '{
"ModelName": "llama3.1:latestss",
"OllamaHostname": "localhost",
"OllamaPort": 11434
}'
import { ViewAssistantSdk } from "view-sdk";
const api = new ViewAssistantSdk(
"http://localhost:8000/", //endpoint
"<tenant-guid>", //tenant Id
"default" //access key
);
const deleteModel = async () => {
try {
const response = await api.Model.delete({
ModelName: "llama3.1:latest",
OllamaHostname: "ollama",
OllamaPort: 11434,
});
console.log(response);
} catch (err) {
console.log("Error deleting model:", err);
}
};
deleteModel();
import view_sdk
from view_sdk import assistant
sdk = view_sdk.configure( access_key="default",base_url="localhost", tenant_guid= "<tenant-guid>")
def deleteModel():
result = assistant.Models.delete(
ModelName= "llama3.1:latest",
OllamaHostname= "ollama",
OllamaPort= 114323
)
print(result)
deleteModel()
using View.Sdk;
using View.Sdk.Assistant;
ViewAssistantSdk sdk = new ViewAssistantSdk(Guid.Parse("<tenant-guid>"),"default", "http://localhost:8000/");
ModelRequest modelReq = new ModelRequest
{
ModelName = "llama3.1:latest",
OllamaHostname = "ollama",
OllamaPort = 11434
};
ModelResponse response = await sdk.Model.Delete(modelReq);
Preload Model
To preload model, call POST /v1.0/tenants/[tenant-guid]/assistant/models/load
curl --location 'http://view.homedns.org:8000/v1.0/tenants/00000000-0000-0000-0000-000000000000/assistant/models/load' \
--header 'Content-Type: application/json' \
--data '{
"ModelName": "llama3.1:latest",
"OllamaHostname": "ollama",
"OllamaPort": 11434
}'
import { ViewAssistantSdk } from "view-sdk";
const api = new ViewAssistantSdk(
"http://localhost:8000/", //endpoint
"<tenant-guid>", //tenant Id
"default" //access key
);
const preloadModel = async () => {
try {
const response = await api.Model.loadUnload({
ModelName: "llama3.1:latest",
OllamaHostname: "ollama",
OllamaPort: 11434,
});
console.log(response);
} catch (err) {
console.log("Error preloading model:", err);
}
};
preloadModel();
import view_sdk
from view_sdk import assistant
sdk = view_sdk.configure( access_key="default",base_url="localhost", tenant_guid= "<tenant-guid>")
def loadModel():
result = assistant.Models.load_unload(
ModelName= "llama3.1:latest",
OllamaHostname= "ollama",
OllamaPort= 11434
)
print(result)
loadModel()
using View.Sdk;
using View.Sdk.Assistant;
ViewAssistantSdk sdk = new ViewAssistantSdk(Guid.Parse("<tenant-guid>"),"default", "http://localhost:8000/");
ModelRequest modelReq = new ModelRequest
{
ModelName = "llama3.1:latest",
OllamaHostname = "ollama",
OllamaPort = 11434
};
ModelResponse response = await sdk.Model.PreLoad(modelReq);
Response
{
"message": "Model llama3.1:latest successfully loaded",
"details": {
"model": "llama3.1:latest",
"created_at": "2025-04-29T13:08:12.461027637Z",
"message": {
"role": "assistant",
"content": ""
},
"done_reason": "load",
"done": true
}
}
Unload Model
To lost local models, call POST /v1.0/tenants/[tenant-guid]/assistant/models/load
curl --location 'http://view.homedns.org:8000/v1.0/tenants/00000000-0000-0000-0000-000000000000/assistant/models/load' \
--header 'Content-Type: application/json' \
--data '{
"ModelName": "qwen2.5:7b",
"OllamaHostname": "localhost",
"OllamaPort": 11434,
"Unload": true
}'
import { ViewAssistantSdk } from "view-sdk";
const api = new ViewAssistantSdk(
"http://localhost:8000/", //endpoint
"<tenant-guid>", //tenant Id
"default" //access key
);
const unloadModel = async () => {
try {
const response = await api.Model.loadUnload({
ModelName: "qwen2.5:7b",
OllamaHostname: "localhost",
OllamaPort: 11434,
Unload: true,
});
console.log(response);
} catch (err) {
console.log("Error unloading model:", err);
}
};
unloadModel();
import view_sdk
from view_sdk import assistant
sdk = view_sdk.configure( access_key="default",base_url="localhost", tenant_guid= "<tenant-guid>")
def unLoadModel():
result = assistant.Models.load_unload(
Unload= True,
ModelName= "llama3.1:latest",
OllamaHostname= "ollama",
OllamaPort= 11434
)
print(result)
unLoadModel()
using View.Sdk;
using View.Sdk.Assistant;
ViewAssistantSdk sdk = new ViewAssistantSdk(Guid.Parse("<tenant-guid>"),"default", "http://localhost:8000/");
ModelRequest modelReq = new ModelRequest
{
ModelName = "llama3.1:latest",
OllamaHostname = "ollama",
OllamaPort = 11434,
Unload = true
};
ModelResponse response = await sdk.Model.Unload(modelReq);
Response
{
"message": "Model qwen2.5:7b successfully unloaded",
"details": {
"model": "qwen2.5:7b",
"created_at": "2025-04-30T10:30:58.73951003Z",
"message": {
"role": "assistant",
"content": ""
},
"done_reason": "unload",
"done": true
}
}
Best Practices
When managing language models in the View Assistant platform, consider the following recommendations for optimal model operations, lifecycle management, and resource optimization:
- Model Selection: Choose appropriate language models based on your use cases, performance requirements, and resource constraints
- Resource Management: Implement effective resource management strategies for model loading, unloading, and memory optimization
- Model Lifecycle: Implement proper model lifecycle management including retrieval, loading, and cleanup for optimal performance
- Performance Optimization: Monitor model performance and optimize loading/unloading strategies for different usage patterns
- Model Administration: Implement comprehensive model administration including versioning, updates, and maintenance
Next Steps
After successfully managing language models, you can:
- Assistant Configuration: Create and manage assistant configurations using your available models for specialized chat behaviors
- Model Optimization: Optimize model performance and resource utilization for different assistant scenarios and requirements
- Integration: Integrate model management with your applications for enhanced AI-powered interactions and experiences
- Model Analytics: Develop model analytics and performance monitoring for improved model effectiveness and optimization
- Advanced Operations: Implement advanced model operations including versioning, updates, and automated lifecycle management