Add basic chat widgets and functionality

This commit is contained in:
Petr Mironychev
2024-09-15 01:58:56 +02:00
parent 6e56646b4c
commit 04c44f5916
37 changed files with 1422 additions and 369 deletions

View File

@ -46,13 +46,14 @@ QString OpenAICompatProvider::completionEndpoint() const
return "/v1/chat/completions";
}
QString OpenAICompatProvider::chatEndpoint() const
{
return "/v1/chat/completions";
}
void OpenAICompatProvider::prepareRequest(QJsonObject &request)
{
auto &settings = Settings::presetPromptsSettings();
const auto &currentTemplate = PromptTemplateManager::instance().getCurrentTemplate();
if (currentTemplate->name() == "Custom Template")
return;
if (request.contains("prompt")) {
QJsonArray messages{
{QJsonObject{{"role", "user"}, {"content", request.take("prompt").toString()}}}};
@ -61,7 +62,6 @@ void OpenAICompatProvider::prepareRequest(QJsonObject &request)
request["max_tokens"] = settings.maxTokens();
request["temperature"] = settings.temperature();
request["stop"] = QJsonArray::fromStringList(currentTemplate->stopWords());
if (settings.useTopP())
request["top_p"] = settings.topP();
if (settings.useTopK())