6ede33ccdb
Build and Push Docker Images / create_manifest (web, surfsense-web, , cpu) (push) Has been cancelled
Build and Push Docker Images / finalize_release (push) Has been cancelled
Obsidian Plugin Lint / lint (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64, , runner, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64, , runner, false, cpu) (push) Has been cancelled
Build and Push Docker Images / compute_version (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, , production, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, , production, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda126, production, true, cuda126) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda126, production, true, cuda126) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda, production, true, cuda) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda, production, true, cuda) (push) Has been cancelled
Build and Push Docker Images / verify_digests (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, , cpu) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda, cuda) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda126, cuda126) (push) Has been cancelled
31 lines
1.0 KiB
TypeScript
31 lines
1.0 KiB
TypeScript
import type { ModelPreviewRead, ModelRead } from "@/contracts/types/model-connections.types";
|
|
|
|
export type ModelCapabilityFilter = "chat" | "vision" | "image_gen";
|
|
|
|
export const MODEL_CAPABILITY_FILTERS: { key: ModelCapabilityFilter; label: string }[] = [
|
|
{ key: "chat", label: "Chat" },
|
|
{ key: "vision", label: "Vision" },
|
|
{ key: "image_gen", label: "Image" },
|
|
];
|
|
|
|
export type SelectableModel = (ModelRead | ModelPreviewRead) & {
|
|
id?: number | string;
|
|
connection_id?: number;
|
|
};
|
|
|
|
export function modelLabel(model: SelectableModel) {
|
|
return model.display_name || model.model_id;
|
|
}
|
|
|
|
export function capability(model: SelectableModel, key: ModelCapabilityFilter) {
|
|
if (key === "chat") return Boolean(model.supports_chat);
|
|
if (key === "vision") return Boolean(model.supports_image_input);
|
|
return Boolean(model.supports_image_generation);
|
|
}
|
|
|
|
export function capabilityLabels(model: SelectableModel) {
|
|
return MODEL_CAPABILITY_FILTERS.filter((filter) => capability(model, filter.key))
|
|
.map((filter) => filter.label.toLowerCase())
|
|
.join(", ");
|
|
}
|