34 lines
1.2 KiB
Java
34 lines
1.2 KiB
Java
/*
|
|
* Copyright 2025 Google. This software is provided as-is, without warranty or representation for any use or purpose.
|
|
* Your use of it is subject to your agreement with Google.
|
|
*/
|
|
|
|
package com.example.service.llm;
|
|
|
|
import java.time.Duration;
|
|
import org.springframework.data.redis.core.ReactiveRedisTemplate;
|
|
import org.springframework.stereotype.Service;
|
|
import reactor.core.publisher.Mono;
|
|
|
|
@Service
|
|
public class LlmResponseTunerServiceImpl implements LlmResponseTunerService {
|
|
|
|
private final ReactiveRedisTemplate<String, String> reactiveStringRedisTemplate;
|
|
private final String llmPreResponseCollectionName = "llm-pre-response:";
|
|
private final Duration ttl = Duration.ofHours(1);
|
|
|
|
public LlmResponseTunerServiceImpl(ReactiveRedisTemplate<String, String> reactiveStringRedisTemplate) {
|
|
this.reactiveStringRedisTemplate = reactiveStringRedisTemplate;
|
|
}
|
|
|
|
@Override
|
|
public Mono<String> getValue(String key) {
|
|
return reactiveStringRedisTemplate.opsForValue().get(llmPreResponseCollectionName + key);
|
|
}
|
|
|
|
@Override
|
|
public Mono<Void> setValue(String key, String value) {
|
|
return reactiveStringRedisTemplate.opsForValue().set(llmPreResponseCollectionName + key, value, ttl).then();
|
|
}
|
|
}
|