Skip to content

Commit ef7a8b7

Browse files
committed
Cache every 10 messages
1 parent 9b09988 commit ef7a8b7

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/api/transform/caching/__tests__/gemini.test.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,22 @@ describe("addCacheBreakpoints", () => {
8080
})),
8181
]
8282

83+
expect(messages.length).toEqual(frequency * 2 + 1)
84+
8385
addCacheBreakpoints(systemPrompt, messages, frequency)
8486

87+
const indices = []
88+
89+
for (let i = 0; i < messages.length; i++) {
90+
const content = messages[i].content?.[0]
91+
92+
if (typeof content === "object" && "cache_control" in content) {
93+
indices.push(i)
94+
}
95+
}
96+
97+
expect(indices).toEqual([0, 5, 10])
98+
8599
// Check Nth user message (index frequency)
86100
expect(messages[frequency].content).toEqual([
87101
{ type: "text", text: `User message ${frequency}`, cache_control: { type: "ephemeral" } },

src/api/transform/caching/gemini.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import OpenAI from "openai"
33
export function addCacheBreakpoints(
44
systemPrompt: string,
55
messages: OpenAI.Chat.ChatCompletionMessageParam[],
6-
frequency: number = 5,
6+
frequency: number = 10,
77
) {
88
// *Always* cache the system prompt.
99
messages[0] = {

0 commit comments

Comments
 (0)