Claude: console.log system before messages

c59afd1b56f11df07bb137a9799ab0c505dd41c1

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +6 -2Showing whitespace changes
src/endpoints/backends/chat-completions.js+6 -2
@@ -107,6 +107,7 @@ async function sendClaudeRequest(request, response) {
107107 }
108108
109109 const requestBody = {
110+ /** @type {any} */ system: '',
110111 messages: convertedPrompt.messages,
111112 model: request.body.model,
112113 max_tokens: request.body.max_tokens,
@@ -120,6 +121,8 @@ async function sendClaudeRequest(request, response) {
120121 requestBody.system = enableSystemPromptCache
121122 ? [{ type: 'text', text: convertedPrompt.systemPrompt, cache_control: { type: 'ephemeral' } }]
122123 : convertedPrompt.systemPrompt;
124+ } else {
125+ delete requestBody.system;
123126 }
124127 if (Array.isArray(request.body.tools) && request.body.tools.length > 0) {
125128 // Claude doesn't do prefills on function calls, and doesn't allow empty messages
@@ -156,12 +159,13 @@ async function sendClaudeRequest(request, response) {
156159 forwardFetchResponse(generateResponse, response);
157160 } else {
158161 if (!generateResponse.ok) {
159- console.log(color.red(`Claude API returned error: ${generateResponse.status} ${generateResponse.statusText}\n${await generateResponse.text()}\n${divider}`));
162+ const generateResponseText = await generateResponse.text();
163+ console.log(color.red(`Claude API returned error: ${generateResponse.status} ${generateResponse.statusText}\n${generateResponseText}\n${divider}`));
160164 return response.status(generateResponse.status).send({ error: true });
161165 }
162166
163167 const generateResponseJson = await generateResponse.json();
164168 const responseText = generateResponseJson?.content?.[0]?.text || '';
165169 console.log('Claude response:', generateResponseJson);
166170
167171 // Wrap it back to OAI format + save the original content