#ifndef OLLAMAPROVIDER_H #define OLLAMAPROVIDER_H #include #include "KIProvider.h" #include "../Completion/KIChatOptions.h" // Included full definition #include "../Embedding/KIEmbedding.h" // Included full definition for KIEmbedOptions and KIEmbeddingResult #include "../Completion/KIReply.h" // Included full definition for KIReply (needed for QFuture) #include "../Message/KIThread.h" // Included full definition for KIThread #include "KICapabilities.h" namespace KI { class OllamaProvider : public KIProvider { Q_OBJECT public: explicit OllamaProvider(QObject *parent = nullptr); QString name() const override; QStringList models() const override; KICapabilities* caps() const override; QFuture chat(const KIThread& thread, const KIChatOptions& opts) override; QFuture embed(const QStringList& texts, const KIEmbedOptions& opts) override; void cancel(quint64 requestId) override; public slots: void reload(); private: QNetworkAccessManager* m_manager; QStringList m_models; KICapabilities* m_caps; }; } // namespace KI #endif // OLLAMAPROVIDER_H