digiKam Developer Documentation
Professional Photo Management with the Power of Open Source
Loading...
Searching...
No Matches
Digikam::SearchLanguageBackend Class Referenceabstract
Inheritance diagram for Digikam::SearchLanguageBackend:

Public Slots

virtual void slotCancel ()
virtual void slotRunInference (const QString &prompt)=0
 Run inference asynchronously.

Signals

void signalInferenceCancelled ()
void signalInferenceError (const QString &errorMessage)
void signalInferenceProgress (int step)
void signalModelLoaded (bool success)
void signalModelLoadProgress (int percent)
void signalRawOutputReady (const QString &output)

Public Member Functions

 SearchLanguageBackend (QObject *const parent=nullptr)
virtual QString backendName () const =0
 Human-readable backend identifier ("llama.cpp", "onnx", "mock").
virtual bool isModelLoaded () const =0
virtual bool loadModel (const QString &modelPath)=0
 Load the model from a local path (resolved by SearchNlModelManager).
virtual QString modelPath () const =0
virtual void unloadModel ()=0

Member Function Documentation

◆ backendName()

virtual QString Digikam::SearchLanguageBackend::backendName ( ) const
pure virtual

◆ loadModel()

virtual bool Digikam::SearchLanguageBackend::loadModel ( const QString & modelPath)
pure virtual

Implementations should perform heavy loading off the GUI thread and report completion through signalModelLoaded(). Returns false immediately if the path is invalid.

Implemented in Digikam::SearchLlamaBackend, and Digikam::SearchMockBackend.

◆ slotRunInference

virtual void Digikam::SearchLanguageBackend::slotRunInference ( const QString & prompt)
pure virtualslot

Result is delivered via signalRawOutputReady() or signalInferenceError(). Implementations must be safe to call from the GUI thread and must not block it.