feat: Add prompt caching to OpenAI-compatible custom models #1587
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.
Context
Builds on the PR: #1562 to add the OpenAI compatible provider support for cache control. The previous PR updates the UI to add an option to specify that a model supports prompt caching.
Implementation
The OpenRouter provider has an implementation of adding the cache control key to OpenAI messages. Acknowledging the risk of duplication we pretty much copy the implementation wholesale. There probably is an opportunity to combine the implementations for OpenAI compatible and OpenRouter in the future.
Screenshots
How to Test
'type': 'text', 'cache_control': {'type': 'ephemeral'}
Get in Touch
Roo Code Discord handle: dleen
Important
Adds prompt caching support for OpenAI-compatible custom models, including UI options and message handling in
openai.ts
.openai.ts
.createMessage()
for models withsupportsPromptCache
.cache_control
to user messages.ApiOptions.tsx
for OpenAI-compatible models..changeset/thin-fans-deliver.md
to document the feature addition.This description was created by
for 10c1e7d. It will automatically update as commits are pushed.