Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
ollama.h
Go to the documentation of this file.
1// Copyright (C) 2025 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef OLLAMA_H
5#define OLLAMA_H
6
8
9#include <QElapsedTimer>
10
12
13class QJsonObject;
14class QJsonArray;
15
17{
18public:
19 Ollama();
20 ~Ollama() override;
21 QList<Batch> makeBatches(const Messages &messages, const QString &userContext) const override;
22 QByteArray payload(const Batch &b) const override;
23 QHash<QString, QString> extractTranslations(const QByteArray &response) override;
24 QStringList extractModels(const QByteArray &data) const override;
25
26 std::optional<QByteArray> stageModel(const QString &modelName) override;
27 void setUrl(const QString &url) override;
28 QUrl translationEndpoint() const override;
29 QUrl discoveryEndpoint() const override;
30
31private:
32 QString makePrompt(const Batch &b) const;
33 QString makeSystemPrompt() const;
34
35 std::unique_ptr<QJsonObject> m_payloadBase;
36 std::unique_ptr<QJsonObject> m_systemMessage;
37 QString m_url;
38 std::atomic_bool m_useJsonFormat = true;
39 QElapsedTimer m_lastWakeupTimer;
40 static constexpr int s_maxBatchSize = 20;
41 static constexpr int s_wakeUpTimeOut = 4 * 60 * 1000;
42};
43
44QT_END_NAMESPACE
45
46#endif // OLLAMA_H
void setUrl(const QString &url)
void translate(const Messages &messages, const QString &userContext=QString())
void activateTranslationModel(const QString &modelName)
QList< Batch > makeBatches(const Messages &messages, const QString &userContext) const override
Definition ollama.cpp:71
QUrl translationEndpoint() const override
Definition ollama.cpp:187
Ollama()
Definition ollama.cpp:54
QUrl discoveryEndpoint() const override
Definition ollama.cpp:192
QStringList extractModels(const QByteArray &data) const override
Definition ollama.cpp:130
QHash< QString, QString > extractTranslations(const QByteArray &response) override
Definition ollama.cpp:102
QByteArray payload(const Batch &b) const override
Definition ollama.cpp:144
~Ollama() override
std::optional< QByteArray > stageModel(const QString &modelName) override
Definition ollama.cpp:163
void setUrl(const QString &url) override
Definition ollama.cpp:182