construct and return the correct reponse when the request is a chat completion

This commit is contained in:
FoivosC 2023-05-29 15:18:48 +01:00 committed by AT
parent fae8d65582
commit 0e82d87032

View File

@ -332,6 +332,20 @@ QHttpServerResponse Server::handleCompletionRequest(const QHttpServerRequest &re
responseObject.insert("model", modelName()); responseObject.insert("model", modelName());
QJsonArray choices; QJsonArray choices;
if (isChat) {
int index = 0;
for (QString r : responses) {
QJsonObject choice;
choice.insert("index", index++);
choice.insert("finish_reason", responseTokens == max_tokens ? "length" : "stop");
QJsonObject message;
message.insert("role", "assistant");
message.insert("content", r);
choice.insert("message", message);
choices.append(choice);
}
} else {
int index = 0; int index = 0;
for (QString r : responses) { for (QString r : responses) {
QJsonObject choice; QJsonObject choice;
@ -341,6 +355,8 @@ QHttpServerResponse Server::handleCompletionRequest(const QHttpServerRequest &re
choice.insert("finish_reason", responseTokens == max_tokens ? "length" : "stop"); choice.insert("finish_reason", responseTokens == max_tokens ? "length" : "stop");
choices.append(choice); choices.append(choice);
} }
}
responseObject.insert("choices", choices); responseObject.insert("choices", choices);
QJsonObject usage; QJsonObject usage;