MCPcopy Create free account
hub / github.com/Palm1r/QodeAssist / buildRequestPayload

Method buildRequestPayload

ChatView/ChatCompressor.cpp:171–202  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

169}
170
171void ChatCompressor::buildRequestPayload(
172 QJsonObject &payload, PluginLLMCore::PromptTemplate *promptTemplate)
173{
174 PluginLLMCore::ContextData context;
175
176 context.systemPrompt = QStringLiteral(
177 "You are a helpful assistant that creates concise summaries of conversations. "
178 "Your summaries preserve key information, technical details, and the flow of discussion.");
179
180 QVector<PluginLLMCore::Message> messages;
181 for (const auto &msg : m_chatModel->getChatHistory()) {
182 if (msg.role == ChatModel::ChatRole::Tool
183 || msg.role == ChatModel::ChatRole::FileEdit
184 || msg.role == ChatModel::ChatRole::Thinking)
185 continue;
186
187 PluginLLMCore::Message apiMessage;
188 apiMessage.role = (msg.role == ChatModel::ChatRole::User) ? "user" : "assistant";
189 apiMessage.content = msg.content;
190 messages.append(apiMessage);
191 }
192
193 PluginLLMCore::Message compressionRequest;
194 compressionRequest.role = "user";
195 compressionRequest.content = buildCompressionPrompt();
196 messages.append(compressionRequest);
197
198 context.history = messages;
199
200 m_provider->prepareRequest(
201 payload, promptTemplate, context, PluginLLMCore::RequestType::Chat, false, false);
202}
203
204bool ChatCompressor::createCompressedChatFile(
205 const QString &sourcePath, const QString &destPath, const QString &summary)

Callers

nothing calls this directly

Calls 3

getChatHistoryMethod · 0.80
appendMethod · 0.80
prepareRequestMethod · 0.45

Tested by

no test coverage detected