Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
openaicompatible.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
OPENAICOMPATIBLE_H
5
#
define
OPENAICOMPATIBLE_H
6
7
#
include
"translationprotocol.h"
8
9
QT_BEGIN_NAMESPACE
10
11
class
QJsonObject;
12
class
QJsonArray;
13
14
class
OpenAICompatible
:
public
TranslationProtocol
15
{
16
public
:
17
OpenAICompatible
();
18
~
OpenAICompatible
()
override
;
19
QList
<
Batch
>
makeBatches
(
const
Messages
&messages,
const
QString &userContext)
const
override
;
20
QByteArray
payload
(
const
Batch
&b)
const
override
;
21
QHash
<
QString
,
QStringList
>
extractTranslations
(
const
QByteArray &response,
22
bool
plural)
override
;
23
QStringList
extractModels
(
const
QByteArray &data)
const
override
;
24
25
std
::
optional
<
QByteArray
>
stageModel
(
const
QString &modelName)
override
;
26
void
setUrl
(
const
QString &url)
override
;
27
QUrl
translationEndpoint
()
const
override
;
28
QUrl
discoveryEndpoint
()
const
override
;
29
void
onRequestRejected
()
override
;
30
31
private
:
32
// JSON format stages for fallback mechanism:
33
// JsonObject: llama.cpp style {"type": "json_object"}
34
// JsonSchema: LM Studio style {"type": "json_schema", "json_schema": {...}}
35
// None: No response_format (for thinking models or unsupported servers)
36
enum
class
JsonFormatStage { JsonObject, JsonSchema, None };
37
38
QString makePrompt(
const
Batch
&b)
const
;
39
void
decrementFormatCounter();
40
41
std::unique_ptr<QJsonObject> m_payloadBase;
42
QString m_url;
43
JsonFormatStage m_formatStage = JsonFormatStage::JsonObject;
44
std::atomic_int m_formatTryCounter;
45
bool
m_formatLocked =
false
;
46
};
47
48
QT_END_NAMESPACE
49
50
#
endif
// OPENAICOMPATIBLE_H
Batch
Definition
translationprotocol.h:29
Batch::tries
int tries
Definition
translationprotocol.h:37
MachineTranslator
Definition
machinetranslator.h:23
MachineTranslator::start
void start() noexcept
Definition
machinetranslator.cpp:54
MachineTranslator::setUrl
void setUrl(const QString &url)
Definition
machinetranslator.cpp:62
MachineTranslator::requestModels
void requestModels()
Definition
machinetranslator.cpp:106
MachineTranslator::translate
void translate(const Messages &messages, const QString &userContext=QString())
Definition
machinetranslator.cpp:41
MachineTranslator::activateTranslationModel
void activateTranslationModel(const QString &modelName)
Definition
machinetranslator.cpp:76
MachineTranslator::~MachineTranslator
~MachineTranslator()
MachineTranslator::setApiType
void setApiType(TranslationApiType type)
Definition
machinetranslator.cpp:27
MachineTranslator::setApiKey
void setApiKey(const QString &apiKey)
Definition
machinetranslator.cpp:68
Ollama
Definition
ollama.h:17
Ollama::makeBatches
QList< Batch > makeBatches(const Messages &messages, const QString &userContext) const override
Definition
ollama.cpp:30
Ollama::translationEndpoint
QUrl translationEndpoint() const override
Definition
ollama.cpp:174
Ollama::onRequestRejected
void onRequestRejected() override
Definition
ollama.cpp:184
Ollama::Ollama
Ollama()
Definition
ollama.cpp:16
Ollama::discoveryEndpoint
QUrl discoveryEndpoint() const override
Definition
ollama.cpp:179
Ollama::extractModels
QStringList extractModels(const QByteArray &data) const override
Definition
ollama.cpp:110
Ollama::payload
QByteArray payload(const Batch &b) const override
Definition
ollama.cpp:124
Ollama::~Ollama
~Ollama() override
Ollama::stageModel
std::optional< QByteArray > stageModel(const QString &modelName) override
Definition
ollama.cpp:149
Ollama::setUrl
void setUrl(const QString &url) override
Definition
ollama.cpp:169
Ollama::extractTranslations
QHash< QString, QStringList > extractTranslations(const QByteArray &response, bool plural) override
Definition
ollama.cpp:77
OpenAICompatible
Definition
openaicompatible.h:15
OpenAICompatible::stageModel
std::optional< QByteArray > stageModel(const QString &modelName) override
Definition
openaicompatible.cpp:201
OpenAICompatible::makeBatches
QList< Batch > makeBatches(const Messages &messages, const QString &userContext) const override
Definition
openaicompatible.cpp:26
OpenAICompatible::~OpenAICompatible
~OpenAICompatible() override
OpenAICompatible::extractModels
QStringList extractModels(const QByteArray &data) const override
Definition
openaicompatible.cpp:127
OpenAICompatible::OpenAICompatible
OpenAICompatible()
Definition
openaicompatible.cpp:16
OpenAICompatible::extractTranslations
QHash< QString, QStringList > extractTranslations(const QByteArray &response, bool plural) override
Definition
openaicompatible.cpp:74
OpenAICompatible::onRequestRejected
void onRequestRejected() override
Definition
openaicompatible.cpp:238
OpenAICompatible::discoveryEndpoint
QUrl discoveryEndpoint() const override
Definition
openaicompatible.cpp:230
OpenAICompatible::payload
QByteArray payload(const Batch &b) const override
Definition
openaicompatible.cpp:143
OpenAICompatible::setUrl
void setUrl(const QString &url) override
Definition
openaicompatible.cpp:217
OpenAICompatible::translationEndpoint
QUrl translationEndpoint() const override
Definition
openaicompatible.cpp:222
TranslationProtocol
Definition
translationprotocol.h:42
TranslationSettings
Definition
translationsettings.h:12
TranslationSettings::maxConcurrentBatches
static int maxConcurrentBatches()
Definition
translationsettings.cpp:27
TranslationSettings::maxRetries
static int maxRetries()
Definition
translationsettings.cpp:22
TranslationApiType
TranslationApiType
Definition
machinetranslator.h:20
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
Messages
Definition
translationprotocol.h:15
qttools
src
linguist
shared
auto-translation
openaicompatible.h
Generated on
for Qt by
1.18.0