Преглед на файлове

Add ExtractionResponseMapper

atsachlaris преди 2 дни
родител
ревизия
4bea4299ae

+ 6 - 6
src/main/java/es/uv/saic/service/EnhancementService.java

@@ -21,10 +21,7 @@ public class EnhancementService {
     private final DoclingTableExtractor doclingTableExtractor;
     private final LocalLlmProxy localLlmProxy;
     private final GroqProxy groqProxy;
-
-    public String calculateScoreAndProduceCommentsWithSingleCall(ExtractionRequest extractionRequest) {
-        return calculateScoreAndProduceCommentsWithSingleCall(extractionRequest, null, null);
-    }
+    private final ExtractionResponseMapper  extractionResponseMapper;
 
     public String calculateScoreAndProduceCommentsWithSingleCall(ExtractionRequest extractionRequest, String provider, String model) {
         String asCsv = extractCsv(extractionRequest);
@@ -37,11 +34,14 @@ public class EnhancementService {
         }
         String selectedProvider = StringUtils.defaultIfBlank(provider, PROVIDER_LOCAL);
 
-        return switch (selectedProvider.toLowerCase()) {
+        String llmResponse = switch (selectedProvider.toLowerCase()) {
             case PROVIDER_LOCAL -> localLlmProxy.calculateScoreAndProduceComments(asCsv, model);
             case PROVIDER_GROQ -> groqProxy.calculateScoreAndProduceComments(asCsv, model);
-            default -> throw new IllegalArgumentException("Unknown provider: " + provider + ". Supported values: local, groq");
+            default ->
+                    throw new IllegalArgumentException("Unknown provider: " + provider + ". Supported values: local, groq");
         };
+
+        return extractionResponseMapper.mapResponse(llmResponse);
     }
 
     private String extractCsv(ExtractionRequest request) {

+ 24 - 0
src/main/java/es/uv/saic/service/ExtractionResponse.java

@@ -0,0 +1,24 @@
+package es.uv.saic.service;
+
+import java.util.List;
+
+public record ExtractionResponse(
+        String rawAnswer,
+        String commentForOks,
+        Items warnings,
+        Items criticals
+
+) {}
+
+record Items(
+        int count,
+        String classification,
+        List<Item> items
+) {}
+
+record Item(
+        String code,
+        String group,
+        Double score,
+        String level
+) {}

+ 13 - 0
src/main/java/es/uv/saic/service/ExtractionResponseMapper.java

@@ -0,0 +1,13 @@
+package es.uv.saic.service;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class ExtractionResponseMapper {
+    
+
+    public String mapResponse(String llmResponse) {
+        return null;
+    }
+
+}