zhou zhou
10 小时以前 82624affb0251b75b62b35567d3eb260c06efe78
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com.vincent.rsf.server.ai.store;
 
import com.vincent.rsf.server.ai.config.AiDefaults;
import com.vincent.rsf.server.ai.store.support.AiRedisExecutor;
import com.vincent.rsf.server.ai.store.support.AiRedisKeys;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
 
@Component
@RequiredArgsConstructor
public class AiToolResultStore {
 
    private final AiRedisExecutor aiRedisExecutor;
    private final AiRedisKeys aiRedisKeys;
 
    public AiCachedToolResult getToolResult(Long tenantId, String requestId, String toolName, String toolInput) {
        return aiRedisExecutor.readJson(aiRedisKeys.buildToolResultKey(tenantId, requestId, toolName, toolInput), AiCachedToolResult.class);
    }
 
    public void cacheToolResult(Long tenantId, String requestId, String toolName, String toolInput,
                                boolean success, String output, String errorMessage) {
        aiRedisExecutor.writeJson(aiRedisKeys.buildToolResultKey(tenantId, requestId, toolName, toolInput),
                AiCachedToolResult.builder()
                        .success(success)
                        .output(output)
                        .errorMessage(errorMessage)
                        .build(),
                AiDefaults.TOOL_RESULT_CACHE_TTL_SECONDS);
    }
}