소스 검색

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++)