Skip to content

Commit 3eb8636

Browse files
feat(ark-runtime): add responses prefix cache example
1 parent de74ab7 commit 3eb8636

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

volcengine-java-sdk-ark-runtime/src/main/java/com/volcengine/ark/runtime/model/responses/usage/InputTokensDetails.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,11 @@ public Long getCachedTokens() {
1515
public void setCachedTokens(Long cachedTokens) {
1616
this.cachedTokens = cachedTokens;
1717
}
18+
19+
@Override
20+
public String toString() {
21+
return "InputTokensDetails{" +
22+
"cachedTokens=" + cachedTokens +
23+
'}';
24+
}
1825
}

volcengine-java-sdk-ark-runtime/test/java/com/volcengine/ark/runtime/CreateResponseExample.java

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.volcengine.ark.runtime;
22

33
import com.fasterxml.jackson.databind.ObjectMapper;
4+
import com.volcengine.ark.runtime.model.responses.common.ResponsesCaching;
45
import com.volcengine.ark.runtime.model.responses.common.ResponsesThinking;
56
import com.volcengine.ark.runtime.model.responses.constant.ResponsesConstants;
67
import com.volcengine.ark.runtime.model.responses.content.*;
@@ -293,6 +294,46 @@ public static void main(String[] args) {
293294
System.err.println("Create Response 6 Error " + e.getMessage());
294295
}
295296

297+
System.out.println("\n----- [Request with Caching] Request 7-----");
298+
String longPrompt = "你是豆包,你必须用4个字回答我的问题";
299+
for (int i = 0; i < 1000; i++) {
300+
longPrompt += "你是豆包,你必须用4个字回答我的问题";
301+
}
302+
CreateResponsesRequest request7 = CreateResponsesRequest.builder()
303+
.model(modelName)
304+
.stream(false)
305+
.caching(ResponsesCaching.builder().type(ResponsesConstants.CACHE_TYPE_ENABLED).prefix(true).build())
306+
.input(ResponsesInput.builder().stringValue(longPrompt).build())
307+
.thinking(ResponsesThinking.builder().type(ResponsesConstants.THINKING_TYPE_DISABLED).build())
308+
.build();
309+
310+
String cacheResponseId = null;
311+
312+
try {
313+
ResponseObject cachePrefix = service.createResponse(request7);
314+
System.out.println("=== cache prefix response ===");
315+
printResponseObject(cachePrefix);
316+
cacheResponseId = cachePrefix.getId();
317+
} catch (Exception e) {
318+
System.err.println("Create Response 7 Error " + e.getMessage());
319+
}
320+
321+
CreateResponsesRequest cachedRequest = CreateResponsesRequest.builder()
322+
.model(modelName)
323+
.stream(false)
324+
.previousResponseId(cacheResponseId)
325+
.input(ResponsesInput.builder().stringValue("你好").build())
326+
.thinking(ResponsesThinking.builder().type(ResponsesConstants.THINKING_TYPE_DISABLED).build())
327+
.build();
328+
329+
try {
330+
ResponseObject cacheHitResponse = service.createResponse(cachedRequest);
331+
System.out.println("=== cache hit response ===");
332+
printResponseObject(cacheHitResponse);
333+
} catch (Exception e) {
334+
System.err.println("Create Cached Response Error " + e.getMessage());
335+
}
336+
296337
service.shutdownExecutor();
297338
}
298339

0 commit comments

Comments
 (0)