Claude: console.log system before messages

c59afd1b56f11df07bb137a9799ab0c505dd41c1

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

1 files changed, +6 -2Ignore whitespace
src/endpoints/backends/chat-completions.js+6 -2
@@ -107,6 +107,7 @@ async function sendClaudeRequest(request, response) {
107 }107 }
108108
109 const requestBody = {109 const requestBody = {
110 /** @type {any} */ system: '',
110 messages: convertedPrompt.messages,111 messages: convertedPrompt.messages,
111 model: request.body.model,112 model: request.body.model,
112 max_tokens: request.body.max_tokens,113 max_tokens: request.body.max_tokens,
@@ -120,6 +121,8 @@ async function sendClaudeRequest(request, response) {
120 requestBody.system = enableSystemPromptCache121 requestBody.system = enableSystemPromptCache
121 ? [{ type: 'text', text: convertedPrompt.systemPrompt, cache_control: { type: 'ephemeral' } }]122 ? [{ type: 'text', text: convertedPrompt.systemPrompt, cache_control: { type: 'ephemeral' } }]
122 : convertedPrompt.systemPrompt;123 : convertedPrompt.systemPrompt;
124 } else {
125 delete requestBody.system;
123 }126 }
124 if (Array.isArray(request.body.tools) && request.body.tools.length > 0) {127 if (Array.isArray(request.body.tools) && request.body.tools.length > 0) {
125 // Claude doesn't do prefills on function calls, and doesn't allow empty messages128 // Claude doesn't do prefills on function calls, and doesn't allow empty messages
@@ -156,12 +159,13 @@ async function sendClaudeRequest(request, response) {
156 forwardFetchResponse(generateResponse, response);159 forwardFetchResponse(generateResponse, response);
157 } else {160 } else {
158 if (!generateResponse.ok) {161 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}`));
160 return response.status(generateResponse.status).send({ error: true });164 return response.status(generateResponse.status).send({ error: true });
161 }165 }
162166
163 const generateResponseJson = await generateResponse.json();167 const generateResponseJson = await generateResponse.json();
164 const responseText = generateResponseJson.content[0].text;168 const responseText = generateResponseJson?.content?.[0]?.text || '';
165 console.log('Claude response:', generateResponseJson);169 console.log('Claude response:', generateResponseJson);
166170
167 // Wrap it back to OAI format + save the original content171 // Wrap it back to OAI format + save the original content