فهرست منبع

Claude: Remove image payloads after the have been sent

We should really not send them everytime
Alessandro Pignotti 6 ماه پیش
والد
کامیت
35a450e52c
1فایلهای تغییر یافته به همراه10 افزوده شده و 0 حذف شده
  1. 10 0
      src/lib/anthropic.js

+ 10 - 0
src/lib/anthropic.js

@@ -38,6 +38,16 @@ async function sendMessages(handleTool)
 		var dc = get(displayConfig);
 		var tool = dc ? { type: "computer_20241022", name: "computer", display_width_px: dc.width, display_height_px: dc.height } : { type: "bash_20241022", name: "bash" }
 		const response = await client.beta.messages.create({max_tokens: 1024, messages: messages, model: 'claude-3-5-sonnet-20241022', tools: [tool], betas: ["computer-use-2024-10-22"]}); 
+		// Remove all the image payloads, we don't want to send them over and over again
+		for(var i=0;i<messages.length;i++)
+		{
+			var c = messages[i].content;
+			if(Array.isArray(c))
+			{
+				if(c[0].type == "tool_result" && c[0].content && c[0].content[0].type == "image")
+					delete c[0].content;
+			}
+		}
 		var content = response.content;
 		// Be robust to multiple response
 		for(var i=0;i<content.length;i++)