🐛 fix: Anthropic Prompt Caching Edge Case #3690
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
I addressed an edge case in the Anthropic prompt caching mechanism, specifically improving the handling of multi-modal messages and ensuring proper cache control for text content.
addCacheControl
function to handle complex message structures more effectively.Anthropic only allows 4 items to have the
cache_control
property per payload. Our method now correctly stays under this limit with a maximum of 3 (last 2 user messages, and +1 if system prompt is included)Testing
To test these changes:
addCacheControl.spec.js
.cache_control
property.Test Configuration:
I've thoroughly tested these changes with both unit tests and manual verification. The updated implementation should now correctly handle various edge cases while maintaining the intended functionality of the caching mechanism.