/* * 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 reactiveStringRedisTemplate; private final String llmPreResponseCollectionName = "llm-pre-response:"; private final Duration ttl = Duration.ofHours(1); public LlmResponseTunerServiceImpl(ReactiveRedisTemplate reactiveStringRedisTemplate) { this.reactiveStringRedisTemplate = reactiveStringRedisTemplate; } @Override public Mono getValue(String key) { return reactiveStringRedisTemplate.opsForValue().get(llmPreResponseCollectionName + key); } @Override public Mono setValue(String key, String value) { return reactiveStringRedisTemplate.opsForValue().set(llmPreResponseCollectionName + key, value, ttl).then(); } }