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_int m_useJsonFormat = s_maxJsonFormatTry;
39 QElapsedTimer m_lastWakeupTimer;
40 static constexpr int s_maxJsonFormatTry = 3;
41 static constexpr int s_maxBatchSize = 20;
42 static constexpr int s_wakeUpTimeOut = 4 * 60 * 1000;
43};
44
45QT_END_NAMESPACE
46
47#endif // OLLAMA_H
void start() noexcept
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:194
Ollama()
Definition ollama.cpp:54
QUrl discoveryEndpoint() const override
Definition ollama.cpp:199
QStringList extractModels(const QByteArray &data) const override
Definition ollama.cpp:137
QHash< QString, QString > extractTranslations(const QByteArray &response) override
Definition ollama.cpp:102
QByteArray payload(const Batch &b) const override
Definition ollama.cpp:151
~Ollama() override
std::optional< QByteArray > stageModel(const QString &modelName) override
Definition ollama.cpp:170
void setUrl(const QString &url) override
Definition ollama.cpp:189
Combined button and popup list for selecting options.