Rework General Settings

This commit is contained in:
Petr Mironychev
2024-11-10 20:31:57 +01:00
parent 1ec6098210
commit b141e54e3e
27 changed files with 564 additions and 575 deletions

View File

@ -30,12 +30,12 @@ ChatModel::ChatModel(QObject *parent)
: QAbstractListModel(parent)
, m_totalTokens(0)
{
auto &settings = Settings::generalSettings();
// auto &settings = Settings::generalSettings();
connect(&settings.chatTokensThreshold,
&Utils::BaseAspect::changed,
this,
&ChatModel::tokensThresholdChanged);
// connect(&settings.chatTokensThreshold,
// &Utils::BaseAspect::changed,
// this,
// &ChatModel::tokensThresholdChanged);
}
int ChatModel::rowCount(const QModelIndex &parent) const
@ -183,8 +183,9 @@ int ChatModel::totalTokens() const
int ChatModel::tokensThreshold() const
{
auto &settings = Settings::generalSettings();
return settings.chatTokensThreshold();
// auto &settings = Settings::generalSettings();
// return settings.chatTokensThreshold();
return 0;
}
QString ChatModel::lastMessageId() const

View File

@ -31,12 +31,12 @@ ChatRootView::ChatRootView(QQuickItem *parent)
, m_chatModel(new ChatModel(this))
, m_clientInterface(new ClientInterface(m_chatModel, this))
{
auto &settings = Settings::generalSettings();
// auto &settings = Settings::generalSettings();
connect(&settings.chatModelName,
&Utils::BaseAspect::changed,
this,
&ChatRootView::currentTemplateChanged);
// connect(&settings.chatModelName,
// &Utils::BaseAspect::changed,
// this,
// &ChatRootView::currentTemplateChanged);
generateColors();
}
@ -111,7 +111,7 @@ QColor ChatRootView::generateColor(const QColor &baseColor,
QString ChatRootView::currentTemplate() const
{
auto &settings = Settings::generalSettings();
return settings.chatModelName();
return settings.caModel();
}
QColor ChatRootView::primaryColor() const

View File

@ -56,46 +56,46 @@ ClientInterface::~ClientInterface() = default;
void ClientInterface::sendMessage(const QString &message)
{
cancelRequest();
// cancelRequest();
LOG_MESSAGE("Sending message: " + message);
LOG_MESSAGE("chatProvider " + Settings::generalSettings().chatLlmProviders.stringValue());
LOG_MESSAGE("chatTemplate " + Settings::generalSettings().chatPrompts.stringValue());
// LOG_MESSAGE("Sending message: " + message);
// LOG_MESSAGE("chatProvider " + Settings::generalSettings().chatLlmProviders.stringValue());
// LOG_MESSAGE("chatTemplate " + Settings::generalSettings().chatPrompts.stringValue());
auto chatTemplate = LLMCore::PromptTemplateManager::instance().getCurrentChatTemplate();
auto chatProvider = LLMCore::ProvidersManager::instance().getCurrentChatProvider();
// auto chatTemplate = LLMCore::PromptTemplateManager::instance().getCurrentChatTemplate();
// auto chatProvider = LLMCore::ProvidersManager::instance().getCurrentChatProvider();
LLMCore::ContextData context;
context.prefix = message;
context.suffix = "";
if (Settings::contextSettings().useChatSystemPrompt())
context.systemPrompt = Settings::contextSettings().chatSystemPrompt();
// LLMCore::ContextData context;
// context.prefix = message;
// context.suffix = "";
// if (Settings::contextSettings().useChatSystemPrompt())
// context.systemPrompt = Settings::contextSettings().chatSystemPrompt();
QJsonObject providerRequest;
providerRequest["model"] = Settings::generalSettings().chatModelName();
providerRequest["stream"] = true;
providerRequest["messages"] = m_chatModel->prepareMessagesForRequest(context);
// QJsonObject providerRequest;
// providerRequest["model"] = Settings::generalSettings().chatModelName();
// providerRequest["stream"] = true;
// providerRequest["messages"] = m_chatModel->prepareMessagesForRequest(context);
if (!chatTemplate || !chatProvider) {
LOG_MESSAGE("Check settings, provider or template are not set");
}
chatTemplate->prepareRequest(providerRequest, context);
chatProvider->prepareRequest(providerRequest, LLMCore::RequestType::Chat);
// if (!chatTemplate || !chatProvider) {
// LOG_MESSAGE("Check settings, provider or template are not set");
// }
// chatTemplate->prepareRequest(providerRequest, context);
// chatProvider->prepareRequest(providerRequest, LLMCore::RequestType::Chat);
LLMCore::LLMConfig config;
config.requestType = LLMCore::RequestType::Chat;
config.provider = chatProvider;
config.promptTemplate = chatTemplate;
config.url = QString("%1%2").arg(Settings::generalSettings().chatUrl(),
Settings::generalSettings().chatEndPoint());
config.providerRequest = providerRequest;
config.multiLineCompletion = Settings::generalSettings().multiLineCompletion();
// LLMCore::LLMConfig config;
// config.requestType = LLMCore::RequestType::Chat;
// config.provider = chatProvider;
// config.promptTemplate = chatTemplate;
// config.url = QString("%1%2").arg(Settings::generalSettings().chatUrl(),
// Settings::generalSettings().chatEndPoint());
// config.providerRequest = providerRequest;
// config.multiLineCompletion = Settings::generalSettings().multiLineCompletion();
QJsonObject request;
request["id"] = QUuid::createUuid().toString();
// QJsonObject request;
// request["id"] = QUuid::createUuid().toString();
m_chatModel->addMessage(message, ChatModel::ChatRole::User, "");
m_requestHandler->sendLLMRequest(config, request);
// m_chatModel->addMessage(message, ChatModel::ChatRole::User, "");
// m_requestHandler->sendLLMRequest(config, request);
}
void ClientInterface::clearMessages()