mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2026-04-03 03:12:42 -04:00
refactor: Remove dead code
This commit is contained in:
@ -266,8 +266,6 @@ void ClientInterface::sendMessage(
|
||||
= {{"model", Settings::generalSettings().caModel()}, {"stream", true}};
|
||||
}
|
||||
|
||||
config.apiKey = provider->apiKey();
|
||||
|
||||
config.provider->prepareRequest(
|
||||
config.providerRequest,
|
||||
promptTemplate,
|
||||
|
||||
@ -283,7 +283,6 @@ void LLMClientInterface::handleCompletion(const QJsonObject &request)
|
||||
QString("%1%2").arg(url, endpoint(provider, promptTemplate->type(), isPreset1Active)));
|
||||
config.providerRequest = {{"model", modelName}, {"stream", true}};
|
||||
}
|
||||
config.apiKey = provider->apiKey();
|
||||
config.multiLineCompletion = m_completeSettings.multiLineCompletion();
|
||||
|
||||
const auto stopWords = QJsonArray::fromStringList(config.promptTemplate->stopWords());
|
||||
|
||||
@ -146,7 +146,6 @@ void QuickRefactorHandler::prepareAndSendRequest(
|
||||
config.provider = provider;
|
||||
config.promptTemplate = promptTemplate;
|
||||
config.url = QString("%1%2").arg(settings.qrUrl(), provider->chatEndpoint());
|
||||
config.apiKey = provider->apiKey();
|
||||
|
||||
if (provider->providerID() == PluginLLMCore::ProviderID::GoogleAI) {
|
||||
QString stream = QString{"streamGenerateContent?alt=sse"};
|
||||
|
||||
@ -47,6 +47,13 @@ RequestID Provider::sendRequest(const QUrl &url, const QJsonObject &payload)
|
||||
return requestId;
|
||||
}
|
||||
|
||||
QString Provider::apiKey() const
|
||||
{
|
||||
if (m_apiKeyGetter)
|
||||
return m_apiKeyGetter();
|
||||
return {};
|
||||
}
|
||||
|
||||
void Provider::cancelRequest(const RequestID &requestId)
|
||||
{
|
||||
LOG_MESSAGE(QString("%1: Cancelling request %2").arg(name(), requestId));
|
||||
|
||||
@ -21,11 +21,12 @@
|
||||
|
||||
#include <QFlags>
|
||||
#include <QFuture>
|
||||
#include <QNetworkRequest>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <utils/environment.h>
|
||||
|
||||
#include <functional>
|
||||
|
||||
#include "ContextData.hpp"
|
||||
#include "IToolsManager.hpp"
|
||||
#include "PromptTemplate.hpp"
|
||||
@ -53,6 +54,8 @@ class Provider : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
using ApiKeyGetter = std::function<QString()>;
|
||||
|
||||
explicit Provider(QObject *parent = nullptr);
|
||||
|
||||
virtual ~Provider() = default;
|
||||
@ -70,16 +73,18 @@ public:
|
||||
bool isThinkingEnabled)
|
||||
= 0;
|
||||
virtual QFuture<QList<QString>> getInstalledModels(const QString &url) = 0;
|
||||
virtual QString apiKey() const = 0;
|
||||
virtual void prepareNetworkRequest(QNetworkRequest &networkRequest) const = 0;
|
||||
virtual ProviderID providerID() const = 0;
|
||||
virtual ProviderCapabilities capabilities() const { return {}; }
|
||||
|
||||
virtual ::LLMCore::BaseClient *client() const = 0;
|
||||
|
||||
QString apiKey() const;
|
||||
RequestID sendRequest(const QUrl &url, const QJsonObject &payload);
|
||||
void cancelRequest(const RequestID &requestId);
|
||||
::LLMCore::ToolsManager *toolsManager() const;
|
||||
|
||||
protected:
|
||||
ApiKeyGetter m_apiKeyGetter;
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::PluginLLMCore
|
||||
|
||||
@ -35,7 +35,6 @@ struct LLMConfig
|
||||
QJsonObject providerRequest;
|
||||
RequestType requestType;
|
||||
bool multiLineCompletion;
|
||||
QString apiKey;
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::PluginLLMCore
|
||||
|
||||
@ -37,9 +37,9 @@ namespace QodeAssist::Providers {
|
||||
|
||||
ClaudeProvider::ClaudeProvider(QObject *parent)
|
||||
: PluginLLMCore::Provider(parent)
|
||||
, m_client(new ::LLMCore::ClaudeClient(
|
||||
url(), Settings::providerSettings().claudeApiKey(), QString(), this))
|
||||
, m_client(new ::LLMCore::ClaudeClient(QString(), QString(), QString(), this))
|
||||
{
|
||||
m_apiKeyGetter = [] { return Settings::providerSettings().claudeApiKey(); };
|
||||
Tools::registerQodeAssistTools(m_client->tools());
|
||||
}
|
||||
|
||||
@ -135,21 +135,6 @@ QFuture<QList<QString>> ClaudeProvider::getInstalledModels(const QString &baseUr
|
||||
return m_client->listModels();
|
||||
}
|
||||
|
||||
QString ClaudeProvider::apiKey() const
|
||||
{
|
||||
return Settings::providerSettings().claudeApiKey();
|
||||
}
|
||||
|
||||
void ClaudeProvider::prepareNetworkRequest(QNetworkRequest &networkRequest) const
|
||||
{
|
||||
networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
||||
networkRequest.setRawHeader("anthropic-version", "2023-06-01");
|
||||
|
||||
if (!apiKey().isEmpty()) {
|
||||
networkRequest.setRawHeader("x-api-key", apiKey().toUtf8());
|
||||
}
|
||||
}
|
||||
|
||||
PluginLLMCore::ProviderID ClaudeProvider::providerID() const
|
||||
{
|
||||
return PluginLLMCore::ProviderID::Claude;
|
||||
|
||||
@ -43,8 +43,6 @@ public:
|
||||
bool isToolsEnabled,
|
||||
bool isThinkingEnabled) override;
|
||||
QFuture<QList<QString>> getInstalledModels(const QString &url) override;
|
||||
QString apiKey() const override;
|
||||
void prepareNetworkRequest(QNetworkRequest &networkRequest) const override;
|
||||
PluginLLMCore::ProviderID providerID() const override;
|
||||
PluginLLMCore::ProviderCapabilities capabilities() const override;
|
||||
|
||||
|
||||
@ -23,6 +23,12 @@
|
||||
|
||||
namespace QodeAssist::Providers {
|
||||
|
||||
CodestralProvider::CodestralProvider(QObject *parent)
|
||||
: MistralAIProvider(parent)
|
||||
{
|
||||
m_apiKeyGetter = [] { return Settings::providerSettings().codestralApiKey(); };
|
||||
}
|
||||
|
||||
QString CodestralProvider::name() const
|
||||
{
|
||||
return "Codestral";
|
||||
@ -38,9 +44,4 @@ PluginLLMCore::ProviderCapabilities CodestralProvider::capabilities() const
|
||||
return PluginLLMCore::ProviderCapability::Tools | PluginLLMCore::ProviderCapability::Image;
|
||||
}
|
||||
|
||||
QString CodestralProvider::apiKey() const
|
||||
{
|
||||
return Settings::providerSettings().codestralApiKey();
|
||||
}
|
||||
|
||||
} // namespace QodeAssist::Providers
|
||||
|
||||
@ -26,9 +26,10 @@ namespace QodeAssist::Providers {
|
||||
class CodestralProvider : public MistralAIProvider
|
||||
{
|
||||
public:
|
||||
explicit CodestralProvider(QObject *parent = nullptr);
|
||||
|
||||
QString name() const override;
|
||||
QString url() const override;
|
||||
QString apiKey() const override;
|
||||
PluginLLMCore::ProviderCapabilities capabilities() const override;
|
||||
};
|
||||
|
||||
|
||||
@ -38,8 +38,9 @@ namespace QodeAssist::Providers {
|
||||
|
||||
GoogleAIProvider::GoogleAIProvider(QObject *parent)
|
||||
: PluginLLMCore::Provider(parent)
|
||||
, m_client(new ::LLMCore::GoogleAIClient(url(), apiKey(), QString(), this))
|
||||
, m_client(new ::LLMCore::GoogleAIClient(QString(), QString(), QString(), this))
|
||||
{
|
||||
m_apiKeyGetter = [] { return Settings::providerSettings().googleAiApiKey(); };
|
||||
Tools::registerQodeAssistTools(m_client->tools());
|
||||
}
|
||||
|
||||
@ -148,22 +149,6 @@ QFuture<QList<QString>> GoogleAIProvider::getInstalledModels(const QString &base
|
||||
return m_client->listModels();
|
||||
}
|
||||
|
||||
QString GoogleAIProvider::apiKey() const
|
||||
{
|
||||
return Settings::providerSettings().googleAiApiKey();
|
||||
}
|
||||
|
||||
void GoogleAIProvider::prepareNetworkRequest(QNetworkRequest &networkRequest) const
|
||||
{
|
||||
networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
||||
|
||||
QUrl url = networkRequest.url();
|
||||
QUrlQuery query(url.query());
|
||||
query.addQueryItem("key", apiKey());
|
||||
url.setQuery(query);
|
||||
networkRequest.setUrl(url);
|
||||
}
|
||||
|
||||
PluginLLMCore::ProviderID GoogleAIProvider::providerID() const
|
||||
{
|
||||
return PluginLLMCore::ProviderID::GoogleAI;
|
||||
|
||||
@ -43,8 +43,6 @@ public:
|
||||
bool isToolsEnabled,
|
||||
bool isThinkingEnabled) override;
|
||||
QFuture<QList<QString>> getInstalledModels(const QString &url) override;
|
||||
QString apiKey() const override;
|
||||
void prepareNetworkRequest(QNetworkRequest &networkRequest) const override;
|
||||
PluginLLMCore::ProviderID providerID() const override;
|
||||
PluginLLMCore::ProviderCapabilities capabilities() const override;
|
||||
|
||||
|
||||
@ -37,7 +37,7 @@ namespace QodeAssist::Providers {
|
||||
|
||||
LMStudioProvider::LMStudioProvider(QObject *parent)
|
||||
: PluginLLMCore::Provider(parent)
|
||||
, m_client(new ::LLMCore::OpenAIClient(url(), apiKey(), QString(), this))
|
||||
, m_client(new ::LLMCore::OpenAIClient(QString(), QString(), QString(), this))
|
||||
{
|
||||
Tools::registerQodeAssistTools(m_client->tools());
|
||||
}
|
||||
@ -69,16 +69,6 @@ QFuture<QList<QString>> LMStudioProvider::getInstalledModels(const QString &url)
|
||||
return m_client->listModels();
|
||||
}
|
||||
|
||||
QString LMStudioProvider::apiKey() const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
void LMStudioProvider::prepareNetworkRequest(QNetworkRequest &networkRequest) const
|
||||
{
|
||||
networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
||||
}
|
||||
|
||||
PluginLLMCore::ProviderID LMStudioProvider::providerID() const
|
||||
{
|
||||
return PluginLLMCore::ProviderID::LMStudio;
|
||||
|
||||
@ -42,8 +42,6 @@ public:
|
||||
bool isToolsEnabled,
|
||||
bool isThinkingEnabled) override;
|
||||
QFuture<QList<QString>> getInstalledModels(const QString &url) override;
|
||||
QString apiKey() const override;
|
||||
void prepareNetworkRequest(QNetworkRequest &networkRequest) const override;
|
||||
PluginLLMCore::ProviderID providerID() const override;
|
||||
PluginLLMCore::ProviderCapabilities capabilities() const override;
|
||||
|
||||
|
||||
@ -35,7 +35,7 @@ namespace QodeAssist::Providers {
|
||||
|
||||
LlamaCppProvider::LlamaCppProvider(QObject *parent)
|
||||
: PluginLLMCore::Provider(parent)
|
||||
, m_client(new ::LLMCore::LlamaCppClient(url(), apiKey(), QString(), this))
|
||||
, m_client(new ::LLMCore::LlamaCppClient(QString(), QString(), QString(), this))
|
||||
{
|
||||
Tools::registerQodeAssistTools(m_client->tools());
|
||||
}
|
||||
@ -110,16 +110,6 @@ QFuture<QList<QString>> LlamaCppProvider::getInstalledModels(const QString &)
|
||||
return QtFuture::makeReadyFuture(QList<QString>{});
|
||||
}
|
||||
|
||||
QString LlamaCppProvider::apiKey() const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
void LlamaCppProvider::prepareNetworkRequest(QNetworkRequest &networkRequest) const
|
||||
{
|
||||
networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
||||
}
|
||||
|
||||
PluginLLMCore::ProviderID LlamaCppProvider::providerID() const
|
||||
{
|
||||
return PluginLLMCore::ProviderID::LlamaCpp;
|
||||
|
||||
@ -43,8 +43,6 @@ public:
|
||||
bool isToolsEnabled,
|
||||
bool isThinkingEnabled) override;
|
||||
QFuture<QList<QString>> getInstalledModels(const QString &url) override;
|
||||
QString apiKey() const override;
|
||||
void prepareNetworkRequest(QNetworkRequest &networkRequest) const override;
|
||||
PluginLLMCore::ProviderID providerID() const override;
|
||||
PluginLLMCore::ProviderCapabilities capabilities() const override;
|
||||
|
||||
|
||||
@ -36,8 +36,9 @@ namespace QodeAssist::Providers {
|
||||
|
||||
MistralAIProvider::MistralAIProvider(QObject *parent)
|
||||
: PluginLLMCore::Provider(parent)
|
||||
, m_client(new ::LLMCore::OpenAIClient(url(), apiKey(), QString(), this))
|
||||
, m_client(new ::LLMCore::OpenAIClient(QString(), QString(), QString(), this))
|
||||
{
|
||||
m_apiKeyGetter = [] { return Settings::providerSettings().mistralAiApiKey(); };
|
||||
Tools::registerQodeAssistTools(m_client->tools());
|
||||
}
|
||||
|
||||
@ -68,20 +69,6 @@ QFuture<QList<QString>> MistralAIProvider::getInstalledModels(const QString &url
|
||||
return m_client->listModels();
|
||||
}
|
||||
|
||||
QString MistralAIProvider::apiKey() const
|
||||
{
|
||||
return Settings::providerSettings().mistralAiApiKey();
|
||||
}
|
||||
|
||||
void MistralAIProvider::prepareNetworkRequest(QNetworkRequest &networkRequest) const
|
||||
{
|
||||
networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
||||
|
||||
if (!apiKey().isEmpty()) {
|
||||
networkRequest.setRawHeader("Authorization", QString("Bearer %1").arg(apiKey()).toUtf8());
|
||||
}
|
||||
}
|
||||
|
||||
PluginLLMCore::ProviderID MistralAIProvider::providerID() const
|
||||
{
|
||||
return PluginLLMCore::ProviderID::MistralAI;
|
||||
|
||||
@ -42,8 +42,6 @@ public:
|
||||
bool isToolsEnabled,
|
||||
bool isThinkingEnabled) override;
|
||||
QFuture<QList<QString>> getInstalledModels(const QString &url) override;
|
||||
QString apiKey() const override;
|
||||
void prepareNetworkRequest(QNetworkRequest &networkRequest) const override;
|
||||
PluginLLMCore::ProviderID providerID() const override;
|
||||
PluginLLMCore::ProviderCapabilities capabilities() const override;
|
||||
|
||||
|
||||
@ -37,8 +37,9 @@ namespace QodeAssist::Providers {
|
||||
|
||||
OllamaProvider::OllamaProvider(QObject *parent)
|
||||
: PluginLLMCore::Provider(parent)
|
||||
, m_client(new ::LLMCore::OllamaClient(url(), apiKey(), QString(), this))
|
||||
, m_client(new ::LLMCore::OllamaClient(QString(), QString(), QString(), this))
|
||||
{
|
||||
m_apiKeyGetter = [] { return Settings::providerSettings().ollamaBasicAuthApiKey(); };
|
||||
Tools::registerQodeAssistTools(m_client->tools());
|
||||
}
|
||||
|
||||
@ -139,20 +140,6 @@ QFuture<QList<QString>> OllamaProvider::getInstalledModels(const QString &baseUr
|
||||
return m_client->listModels();
|
||||
}
|
||||
|
||||
QString OllamaProvider::apiKey() const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
void OllamaProvider::prepareNetworkRequest(QNetworkRequest &networkRequest) const
|
||||
{
|
||||
networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
||||
const auto key = Settings::providerSettings().ollamaBasicAuthApiKey();
|
||||
if (!key.isEmpty()) {
|
||||
networkRequest.setRawHeader("Authorization", "Basic " + key.toLatin1());
|
||||
}
|
||||
}
|
||||
|
||||
PluginLLMCore::ProviderID OllamaProvider::providerID() const
|
||||
{
|
||||
return PluginLLMCore::ProviderID::Ollama;
|
||||
|
||||
@ -43,8 +43,6 @@ public:
|
||||
bool isToolsEnabled,
|
||||
bool isThinkingEnabled) override;
|
||||
QFuture<QList<QString>> getInstalledModels(const QString &url) override;
|
||||
QString apiKey() const override;
|
||||
void prepareNetworkRequest(QNetworkRequest &networkRequest) const override;
|
||||
PluginLLMCore::ProviderID providerID() const override;
|
||||
PluginLLMCore::ProviderCapabilities capabilities() const override;
|
||||
|
||||
|
||||
@ -36,8 +36,9 @@ namespace QodeAssist::Providers {
|
||||
|
||||
OpenAICompatProvider::OpenAICompatProvider(QObject *parent)
|
||||
: PluginLLMCore::Provider(parent)
|
||||
, m_client(new ::LLMCore::OpenAIClient(url(), apiKey(), QString(), this))
|
||||
, m_client(new ::LLMCore::OpenAIClient(QString(), QString(), QString(), this))
|
||||
{
|
||||
m_apiKeyGetter = [] { return Settings::providerSettings().openAiCompatApiKey(); };
|
||||
Tools::registerQodeAssistTools(m_client->tools());
|
||||
}
|
||||
|
||||
@ -112,20 +113,6 @@ QFuture<QList<QString>> OpenAICompatProvider::getInstalledModels(const QString &
|
||||
return QtFuture::makeReadyFuture(QList<QString>{});
|
||||
}
|
||||
|
||||
QString OpenAICompatProvider::apiKey() const
|
||||
{
|
||||
return Settings::providerSettings().openAiCompatApiKey();
|
||||
}
|
||||
|
||||
void OpenAICompatProvider::prepareNetworkRequest(QNetworkRequest &networkRequest) const
|
||||
{
|
||||
networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
||||
|
||||
if (!apiKey().isEmpty()) {
|
||||
networkRequest.setRawHeader("Authorization", QString("Bearer %1").arg(apiKey()).toUtf8());
|
||||
}
|
||||
}
|
||||
|
||||
PluginLLMCore::ProviderID OpenAICompatProvider::providerID() const
|
||||
{
|
||||
return PluginLLMCore::ProviderID::OpenAICompatible;
|
||||
|
||||
@ -42,8 +42,6 @@ public:
|
||||
bool isToolsEnabled,
|
||||
bool isThinkingEnabled) override;
|
||||
QFuture<QList<QString>> getInstalledModels(const QString &url) override;
|
||||
QString apiKey() const override;
|
||||
void prepareNetworkRequest(QNetworkRequest &networkRequest) const override;
|
||||
PluginLLMCore::ProviderID providerID() const override;
|
||||
PluginLLMCore::ProviderCapabilities capabilities() const override;
|
||||
|
||||
|
||||
@ -36,8 +36,9 @@ namespace QodeAssist::Providers {
|
||||
|
||||
OpenAIProvider::OpenAIProvider(QObject *parent)
|
||||
: PluginLLMCore::Provider(parent)
|
||||
, m_client(new ::LLMCore::OpenAIClient(url(), apiKey(), QString(), this))
|
||||
, m_client(new ::LLMCore::OpenAIClient(QString(), QString(), QString(), this))
|
||||
{
|
||||
m_apiKeyGetter = [] { return Settings::providerSettings().openAiApiKey(); };
|
||||
Tools::registerQodeAssistTools(m_client->tools());
|
||||
}
|
||||
|
||||
@ -142,20 +143,6 @@ QFuture<QList<QString>> OpenAIProvider::getInstalledModels(const QString &baseUr
|
||||
});
|
||||
}
|
||||
|
||||
QString OpenAIProvider::apiKey() const
|
||||
{
|
||||
return Settings::providerSettings().openAiApiKey();
|
||||
}
|
||||
|
||||
void OpenAIProvider::prepareNetworkRequest(QNetworkRequest &networkRequest) const
|
||||
{
|
||||
networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
||||
|
||||
if (!apiKey().isEmpty()) {
|
||||
networkRequest.setRawHeader("Authorization", QString("Bearer %1").arg(apiKey()).toUtf8());
|
||||
}
|
||||
}
|
||||
|
||||
PluginLLMCore::ProviderID OpenAIProvider::providerID() const
|
||||
{
|
||||
return PluginLLMCore::ProviderID::OpenAI;
|
||||
|
||||
@ -42,8 +42,6 @@ public:
|
||||
bool isToolsEnabled,
|
||||
bool isThinkingEnabled) override;
|
||||
QFuture<QList<QString>> getInstalledModels(const QString &url) override;
|
||||
QString apiKey() const override;
|
||||
void prepareNetworkRequest(QNetworkRequest &networkRequest) const override;
|
||||
PluginLLMCore::ProviderID providerID() const override;
|
||||
PluginLLMCore::ProviderCapabilities capabilities() const override;
|
||||
|
||||
|
||||
@ -36,8 +36,9 @@ namespace QodeAssist::Providers {
|
||||
|
||||
OpenAIResponsesProvider::OpenAIResponsesProvider(QObject *parent)
|
||||
: PluginLLMCore::Provider(parent)
|
||||
, m_client(new ::LLMCore::OpenAIResponsesClient(url(), apiKey(), QString(), this))
|
||||
, m_client(new ::LLMCore::OpenAIResponsesClient(QString(), QString(), QString(), this))
|
||||
{
|
||||
m_apiKeyGetter = [] { return Settings::providerSettings().openAiApiKey(); };
|
||||
Tools::registerQodeAssistTools(m_client->tools());
|
||||
}
|
||||
|
||||
@ -162,20 +163,6 @@ QFuture<QList<QString>> OpenAIResponsesProvider::getInstalledModels(const QStrin
|
||||
});
|
||||
}
|
||||
|
||||
QString OpenAIResponsesProvider::apiKey() const
|
||||
{
|
||||
return Settings::providerSettings().openAiApiKey();
|
||||
}
|
||||
|
||||
void OpenAIResponsesProvider::prepareNetworkRequest(QNetworkRequest &networkRequest) const
|
||||
{
|
||||
networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
||||
|
||||
if (!apiKey().isEmpty()) {
|
||||
networkRequest.setRawHeader("Authorization", QString("Bearer %1").arg(apiKey()).toUtf8());
|
||||
}
|
||||
}
|
||||
|
||||
PluginLLMCore::ProviderID OpenAIResponsesProvider::providerID() const
|
||||
{
|
||||
return PluginLLMCore::ProviderID::OpenAIResponses;
|
||||
|
||||
@ -42,8 +42,6 @@ public:
|
||||
bool isToolsEnabled,
|
||||
bool isThinkingEnabled) override;
|
||||
QFuture<QList<QString>> getInstalledModels(const QString &url) override;
|
||||
QString apiKey() const override;
|
||||
void prepareNetworkRequest(QNetworkRequest &networkRequest) const override;
|
||||
PluginLLMCore::ProviderID providerID() const override;
|
||||
PluginLLMCore::ProviderCapabilities capabilities() const override;
|
||||
|
||||
|
||||
@ -28,6 +28,12 @@
|
||||
|
||||
namespace QodeAssist::Providers {
|
||||
|
||||
OpenRouterProvider::OpenRouterProvider(QObject *parent)
|
||||
: OpenAICompatProvider(parent)
|
||||
{
|
||||
m_apiKeyGetter = [] { return Settings::providerSettings().openRouterApiKey(); };
|
||||
}
|
||||
|
||||
QString OpenRouterProvider::name() const
|
||||
{
|
||||
return "OpenRouter";
|
||||
@ -38,11 +44,6 @@ QString OpenRouterProvider::url() const
|
||||
return "https://openrouter.ai/api";
|
||||
}
|
||||
|
||||
QString OpenRouterProvider::apiKey() const
|
||||
{
|
||||
return Settings::providerSettings().openRouterApiKey();
|
||||
}
|
||||
|
||||
PluginLLMCore::ProviderID OpenRouterProvider::providerID() const
|
||||
{
|
||||
return PluginLLMCore::ProviderID::OpenRouter;
|
||||
|
||||
@ -26,9 +26,10 @@ namespace QodeAssist::Providers {
|
||||
class OpenRouterProvider : public OpenAICompatProvider
|
||||
{
|
||||
public:
|
||||
explicit OpenRouterProvider(QObject *parent = nullptr);
|
||||
|
||||
QString name() const override;
|
||||
QString url() const override;
|
||||
QString apiKey() const override;
|
||||
PluginLLMCore::ProviderID providerID() const override;
|
||||
};
|
||||
|
||||
|
||||
@ -83,8 +83,6 @@ public:
|
||||
return QtFuture::makeReadyFuture(QList<QString>{});
|
||||
}
|
||||
|
||||
QString apiKey() const override { return "mock_api_key"; }
|
||||
void prepareNetworkRequest(QNetworkRequest &request) const override {}
|
||||
LLMCore::ProviderID providerID() const override { return LLMCore::ProviderID::OpenAI; }
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user