feat: LM Studio response API and Ollama OpenAI API

This commit is contained in:
Petr Mironychev
2026-04-23 03:26:52 +02:00
parent 7a551ed384
commit 25c4d5f185
19 changed files with 423 additions and 72 deletions

View File

@@ -27,7 +27,7 @@ OpenAIResponsesProvider::OpenAIResponsesProvider(QObject *parent)
QString OpenAIResponsesProvider::name() const
{
return "OpenAI Responses";
return "OpenAI (Responses API)";
}
QString OpenAIResponsesProvider::apiKey() const
@@ -98,24 +98,11 @@ void OpenAIResponsesProvider::prepareRequest(
}
if (isToolsEnabled) {
const auto toolsDefinitions
= m_client->tools()->getToolsDefinitions();
const auto toolsDefinitions = m_client->tools()->getToolsDefinitions();
if (!toolsDefinitions.isEmpty()) {
QJsonArray responsesTools;
for (const QJsonValue &toolValue : toolsDefinitions) {
const QJsonObject tool = toolValue.toObject();
if (tool.contains("function")) {
const QJsonObject functionObj = tool["function"].toObject();
QJsonObject responsesTool;
responsesTool["type"] = "function";
responsesTool["name"] = functionObj["name"];
responsesTool["description"] = functionObj["description"];
responsesTool["parameters"] = functionObj["parameters"];
responsesTools.append(responsesTool);
}
}
request["tools"] = responsesTools;
request["tools"] = toolsDefinitions;
LOG_MESSAGE(QString("Added %1 tools to OpenAI Responses request")
.arg(toolsDefinitions.size()));
}
}