44 lines
1.2 KiB
C++
44 lines
1.2 KiB
C++
|
|
#ifndef KLLMINTERFACE_H
|
|
#define KLLMINTERFACE_H
|
|
|
|
#include "KLLMOriginalInterface.h"
|
|
#include "KompanionAI/Client/KIClient.h"
|
|
#include "KompanionAI/Provider/OllamaProvider.h"
|
|
|
|
namespace KLLMCore {
|
|
|
|
class KLLMInterface : public KLLMOriginalInterface
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit KLLMCompatInterface(QObject *parent = nullptr);
|
|
explicit KLLMCompatInterface(const QString &ollamaUrl, QObject *parent = nullptr);
|
|
explicit KLLMCompatInterface(const QUrl &ollamaUrl, QObject *parent = nullptr);
|
|
|
|
bool ready() const override;
|
|
bool hasError() const override;
|
|
QStringList models() const override;
|
|
|
|
KLLMReply *getCompletion(const KLLMRequest &request) override;
|
|
KLLMReply *getModelInfo(const KLLMRequest &request) override;
|
|
|
|
void reload() override;
|
|
|
|
QString ollamaUrl() const override;
|
|
void setOllamaUrl(const QString &ollamaUrl) override;
|
|
void setOllamaUrl(const QUrl &ollamaUrl) override;
|
|
|
|
QString systemPrompt() const override;
|
|
void setSystemPrompt(const QString &systemPrompt) override;
|
|
|
|
private:
|
|
KompanionAI::KIClient* m_kompanionClient;
|
|
KompanionAI::OllamaProvider* m_ollamaProvider;
|
|
};
|
|
|
|
} // namespace KLLMCore
|
|
|
|
#endif // KLLMCOMPAT_H
|