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 <QtCore/qelapsedtimer.h>
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, QStringList> extractTranslations(const QByteArray &response,
24 bool plural) override;
25 QStringList extractModels(const QByteArray &data) const override;
26
27 std::optional<QByteArray> stageModel(const QString &modelName) override;
28 void setUrl(const QString &url) override;
29 QUrl translationEndpoint() const override;
30 QUrl discoveryEndpoint() const override;
31 void onRequestRejected() override;
32
33private:
34 QString makePrompt(const Batch &b) const;
35
36 std::unique_ptr<QJsonObject> m_payloadBase;
37 QString m_url;
38 std::atomic_int m_useJsonFormat;
39 QElapsedTimer m_lastWakeupTimer;
40};
41
42QT_END_NAMESPACE
43
44#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)
void setApiType(TranslationApiType type)
void setApiKey(const QString &apiKey)
QList< Batch > makeBatches(const Messages &messages, const QString &userContext) const override
Definition ollama.cpp:30
QUrl translationEndpoint() const override
Definition ollama.cpp:174
void onRequestRejected() override
Definition ollama.cpp:184
Ollama()
Definition ollama.cpp:16
QUrl discoveryEndpoint() const override
Definition ollama.cpp:179
QStringList extractModels(const QByteArray &data) const override
Definition ollama.cpp:110
QByteArray payload(const Batch &b) const override
Definition ollama.cpp:124
~Ollama() override
std::optional< QByteArray > stageModel(const QString &modelName) override
Definition ollama.cpp:149
void setUrl(const QString &url) override
Definition ollama.cpp:169
QHash< QString, QStringList > extractTranslations(const QByteArray &response, bool plural) override
Definition ollama.cpp:77
TranslationApiType
Combined button and popup list for selecting options.