refactor(ai): unify prompt cache configuration
This commit is contained in:
parent
f6ea6b1762
commit
a214ac39de
19 changed files with 64 additions and 59 deletions
|
|
@ -64,7 +64,7 @@ describe("applyCachePolicy", () => {
|
|||
Message.assistant("assistant reply"),
|
||||
Message.user("latest user message"),
|
||||
],
|
||||
cache: "auto",
|
||||
cache: { mode: "auto" },
|
||||
}),
|
||||
)
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ describe("applyCachePolicy", () => {
|
|||
model: openaiModel,
|
||||
system: "Sys",
|
||||
prompt: "hi",
|
||||
cache: "auto",
|
||||
cache: { mode: "auto" },
|
||||
}),
|
||||
)
|
||||
|
||||
|
|
@ -112,7 +112,7 @@ describe("applyCachePolicy", () => {
|
|||
model: geminiModel,
|
||||
system: "Sys",
|
||||
prompt: "hi",
|
||||
cache: "auto",
|
||||
cache: { mode: "auto" },
|
||||
}),
|
||||
)
|
||||
|
||||
|
|
@ -133,7 +133,7 @@ describe("applyCachePolicy", () => {
|
|||
],
|
||||
tools: [{ name: "t1", description: "t1", inputSchema: { type: "object", properties: {} } }],
|
||||
messages: [Message.user("first user"), Message.assistant("reply"), Message.user("latest user")],
|
||||
cache: "auto",
|
||||
cache: { mode: "auto" },
|
||||
}),
|
||||
)
|
||||
|
||||
|
|
@ -183,7 +183,7 @@ describe("applyCachePolicy", () => {
|
|||
system: "Sys",
|
||||
tools: [{ name: "t1", description: "t1", inputSchema: { type: "object", properties: {} } }],
|
||||
prompt: "hi",
|
||||
cache: { tools: true },
|
||||
cache: { mode: "explicit", tools: true },
|
||||
}),
|
||||
)
|
||||
|
||||
|
|
@ -204,7 +204,7 @@ describe("applyCachePolicy", () => {
|
|||
{ type: "text", text: "last system" },
|
||||
],
|
||||
prompt: "hi",
|
||||
cache: "auto",
|
||||
cache: { mode: "auto" },
|
||||
}),
|
||||
)
|
||||
|
||||
|
|
@ -233,7 +233,7 @@ describe("applyCachePolicy", () => {
|
|||
],
|
||||
tools: [{ name: "t1", description: "t1", inputSchema: { type: "object", properties: {} } }],
|
||||
prompt: "hi",
|
||||
cache: "auto",
|
||||
cache: { mode: "auto" },
|
||||
})
|
||||
const applied = applyCachePolicy(request)
|
||||
expect(applied.tools[0]?.cache).toBeDefined()
|
||||
|
|
@ -267,7 +267,7 @@ describe("applyCachePolicy", () => {
|
|||
model: anthropicModel,
|
||||
system: "Sys",
|
||||
prompt: "hi",
|
||||
cache: { system: true, ttlSeconds: 3600 },
|
||||
cache: { mode: "explicit", system: true, ttlSeconds: 3600 },
|
||||
}),
|
||||
)
|
||||
|
||||
|
|
@ -283,7 +283,7 @@ describe("applyCachePolicy", () => {
|
|||
LLM.request({
|
||||
model: anthropicModel,
|
||||
messages: [Message.user("u1"), Message.assistant("a1"), Message.user("u2"), Message.assistant("a2")],
|
||||
cache: { messages: { tail: 2 } },
|
||||
cache: { mode: "explicit", messages: { tail: 2 } },
|
||||
}),
|
||||
)
|
||||
|
||||
|
|
@ -301,7 +301,7 @@ describe("applyCachePolicy", () => {
|
|||
LLM.request({
|
||||
model: anthropicModel,
|
||||
messages: [Message.user("u1"), Message.assistant("a1"), Message.user("u2")],
|
||||
cache: { messages: "latest-assistant" },
|
||||
cache: { mode: "explicit", messages: "latest-assistant" },
|
||||
}),
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@ import { CloudflareWorkersAI } from "../../src/providers"
|
|||
|
||||
const model = CloudflareWorkersAI.configure({ accountId: "account", apiKey: "test" }).model("model")
|
||||
|
||||
LLM.request({ model, prompt: "Hello", promptCacheKey: "cache" })
|
||||
LLM.request({ model, prompt: "Hello", cache: { mode: "auto", key: "cache" } })
|
||||
|
||||
LLM.request({
|
||||
model,
|
||||
prompt: "Hello",
|
||||
// @ts-expect-error Prompt cache keys must be strings.
|
||||
promptCacheKey: 1,
|
||||
cache: { mode: "auto", key: 1 },
|
||||
})
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ const cacheRequest = LLM.request({
|
|||
system: LARGE_CACHEABLE_SYSTEM,
|
||||
prompt: "Say hi.",
|
||||
generation: { maxTokens: 16, temperature: 0 },
|
||||
promptCacheKey: "recorded-cache-test",
|
||||
cache: { mode: "auto", key: "recorded-cache-test" },
|
||||
})
|
||||
|
||||
const recorded = recordedTests({
|
||||
|
|
|
|||
|
|
@ -680,7 +680,7 @@ describe("OpenAI Responses route", () => {
|
|||
LLM.request({
|
||||
model: OpenAI.configure({ baseURL: "https://api.openai.test/v1/", apiKey: "test" }).model("gpt-5.2"),
|
||||
prompt: "think",
|
||||
promptCacheKey: "session_123",
|
||||
cache: { mode: "auto", key: "session_123" },
|
||||
providerOptions: {
|
||||
openai: {
|
||||
reasoningEffort: "high",
|
||||
|
|
@ -810,7 +810,7 @@ describe("OpenAI Responses route", () => {
|
|||
apiKey: "test",
|
||||
}).model("gpt-4.1-mini"),
|
||||
prompt: "no cache",
|
||||
promptCacheKey: "request_cache",
|
||||
cache: { mode: "auto", key: "request_cache" },
|
||||
}),
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ describe("OpenRouter", () => {
|
|||
],
|
||||
tools: [{ name: "lookup", description: "Lookup", inputSchema: { type: "object", properties: {} } }],
|
||||
prompt: "Hello",
|
||||
cache: { tools: true, system: true, messages: { tail: 1 } },
|
||||
cache: { mode: "explicit", tools: true, system: true, messages: { tail: 1 } },
|
||||
}),
|
||||
)
|
||||
|
||||
|
|
@ -123,7 +123,7 @@ describe("OpenRouter", () => {
|
|||
const prepared = yield* compileRequest(
|
||||
LLM.request({
|
||||
model: OpenRouter.configure({ apiKey: "test-key" }).model("anthropic/claude-sonnet-4.6"),
|
||||
cache: { messages: "latest-assistant" },
|
||||
cache: { mode: "explicit", messages: "latest-assistant" },
|
||||
messages: [Message.user("Think"), Message.assistant([{ type: "reasoning", text: "Reasoning" }])],
|
||||
}),
|
||||
)
|
||||
|
|
@ -173,7 +173,7 @@ describe("OpenRouter", () => {
|
|||
},
|
||||
}).model("anthropic/claude-3.7-sonnet:thinking"),
|
||||
prompt: "Think briefly.",
|
||||
promptCacheKey: "session_123",
|
||||
cache: { mode: "auto", key: "session_123" },
|
||||
}),
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue