LLM Configuration
FindAModel supports local tag generation through two providers:
internal(default): runs a local model using LLamaSharpollama: calls an external Ollama endpoint over HTTP
Provider selection
Provider selection is stored in app settings (/api/settings/config) using:
tagGenerationProvider:internalorollama
Default behavior:
- default provider is
internal - if you set
tagGenerationProvidertoollama, FindAModel uses Ollama instead
Internal provider model download and cache
The internal provider auto-downloads a GGUF model from Hugging Face on startup (or first use if warmup fails), then caches it locally.
Appsettings keys:
{
"LocalLlm": {
"Internal": {
"ModelUrl": "https://huggingface.co/.../model.gguf",
"ModelSha256": "",
"CachePath": ""
}
}
}
ModelUrl: direct download URL to a GGUF fileModelSha256: optional checksum validation (hex string)CachePath: optional absolute/relative cache directory
If CachePath is empty, cache defaults to:
{Configuration:DataPath}/cache/llm
GPU behavior (internal provider)
Internal inference is GPU-first by default and falls back to CPU automatically if GPU initialization fails.
Appsettings keys:
{
"LocalLlm": {
"Internal": {
"UseGpu": true,
"GpuLayerCount": 35
}
}
}
UseGpu: enables GPU offload whentrueGpuLayerCount: number of model layers to offload to GPU
Recommendations:
- keep
UseGpu: truefor best performance - lower
GpuLayerCountif VRAM is limited - set
UseGpu: falsefor deterministic CPU-only behavior
Tag generation app config fields
These values are managed through the settings API/UI and persisted in the database:
tagGenerationEnabledtagGenerationProvidertagGenerationEndpointtagGenerationModeltagGenerationTimeoutMstagGenerationAutoApplytagGenerationMaxTagstagGenerationMinConfidence
Notes:
tagGenerationEnableddefaults totrue- non-schema tags are rejected
- with
tagGenerationAutoApply: true, accepted generated tags are merged into effective model tags tagGenerationMinConfidenceis the minimum score required for a generated tag to be kept
Ollama configuration
When using tagGenerationProvider: ollama, configure:
tagGenerationEndpoint(for examplehttp://localhost:11434)tagGenerationModel(for exampleqwen2.5vl:7b)
The current tagging pipeline sends preview-image context when available and metadata context always.