working version

This commit is contained in:
andrea.terzani
2024-10-09 17:36:36 +02:00
parent 8b0e822b5e
commit f050d682db
16 changed files with 92 additions and 74 deletions

View File

@@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.RestController;
import com.olympus.hermione.dto.ScenarioExecutionInput;
import com.olympus.hermione.dto.ScenarioOutput;
import com.olympus.models.Scenario;
import com.olympus.hermione.models.Scenario;
import com.olympus.hermione.models.ScenarioExecution;
import com.olympus.hermione.repository.ScenarioRepository;
import com.olympus.hermione.repository.ScenarioExecutionRepository;

View File

@@ -1,16 +0,0 @@
package com.olympus.hermione.dto.external;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class CodeRagResponse {
private String fullyQualifiedName;
private String code;
private String description;
private String similarityScore;
private String documentId;
private String codeType;
}

View File

@@ -1,23 +0,0 @@
package com.olympus.hermione.dto.external;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class SimilaritySearchCodeInput {
private String query;
private String topK;
private String similarityThreshold;
private String filterExpression;
}
/*
* .withQuery(query)
.withTopK(3)
.withSimilarityThreshold(0.8)
.withFilterExpression(b.eq("doc_type","GeneratedMethodDoc").build())
*/

View File

@@ -0,0 +1,23 @@
package com.olympus.hermione.models;
import java.util.List;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import lombok.Getter;
import lombok.Setter;
@Document(collection = "scenarios")
@Getter @Setter
public class Scenario {
@Id
private String id;
private String name;
private String description;
private String startWithStepId;
private List<ScenarioStep> steps;
private List<ScenarioInputs> inputs;
private boolean useChatMemory=false;
}

View File

@@ -6,7 +6,7 @@ import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import com.olympus.hermione.dto.ScenarioExecutionInput;
import com.olympus.models.Scenario;
import com.olympus.hermione.models.Scenario;
import lombok.Getter;
import lombok.Setter;

View File

@@ -0,0 +1,15 @@
package com.olympus.hermione.models;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class ScenarioInputs {
private String name;
private String type;
private String label;
}

View File

@@ -0,0 +1,21 @@
package com.olympus.hermione.models;
import java.util.HashMap;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class ScenarioStep {
private String type;
private String description;
private String name;
private int order;
private String stepId;
private String nextStepId;
private HashMap<String,Object> attributes;
}

View File

@@ -0,0 +1,14 @@
package com.olympus.hermione.models;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class ScenarioStepAttribute {
private String name;
private String value;
}

View File

@@ -3,7 +3,7 @@ package com.olympus.hermione.repository;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import com.olympus.models.Scenario;
import com.olympus.hermione.models.Scenario;
@Repository
public interface ScenarioRepository extends CrudRepository<Scenario, String> {

View File

@@ -20,9 +20,9 @@ import org.springframework.stereotype.Service;
import com.olympus.hermione.dto.ScenarioExecutionInput;
import com.olympus.hermione.dto.ScenarioOutput;
import com.olympus.models.Scenario;
import com.olympus.hermione.models.Scenario;
import com.olympus.hermione.models.ScenarioExecution;
import com.olympus.models.ScenarioStep;
import com.olympus.hermione.models.ScenarioStep;
import com.olympus.hermione.repository.ScenarioExecutionRepository;
import com.olympus.hermione.repository.ScenarioRepository;
import com.olympus.hermione.stepSolvers.AdvancedAIPromptSolver;
@@ -218,7 +218,7 @@ public class ScenarioExecutionService {
scenarioExecutionRepository.save(scenarioExecution);
scenarioOutput.setScenarioExecution_id(scenarioExecution.getId());
scenarioOutput.setStatus("IN_PROGRESS");
scenarioOutput.setStatus("IN_PROGRESS");
}

View File

@@ -13,7 +13,6 @@ import com.olympus.hermione.utility.AttributeParser;
import ch.qos.logback.classic.Logger;
public class AdvancedAIPromptSolver extends StepSolver {
private String qai_system_prompt_template;

View File

@@ -10,7 +10,6 @@ import org.springframework.ai.chat.prompt.Prompt;
import com.olympus.hermione.models.ScenarioExecution;
import com.olympus.hermione.utility.AttributeParser;
import ch.qos.logback.classic.Logger;
public class BasicAIPromptSolver extends StepSolver {

View File

@@ -7,10 +7,11 @@ import org.springframework.cloud.client.ServiceInstance;
import org.springframework.web.client.RestTemplate;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.olympus.hermione.dto.external.CodeRagResponse;
import com.olympus.hermione.dto.external.SimilaritySearchCodeInput;
import com.olympus.hermione.models.ScenarioExecution;
import com.olympus.hermione.utility.AttributeParser;
import com.olympus.dto.CodeRagResponse;
import com.olympus.dto.SimilaritySearchCodeInput;
import ch.qos.logback.classic.Logger;

View File

@@ -9,7 +9,7 @@ import org.springframework.ai.vectorstore.VectorStore;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import com.olympus.hermione.models.ScenarioExecution;
import com.olympus.models.ScenarioStep;
import com.olympus.hermione.models.ScenarioStep;
import com.olympus.hermione.services.Neo4JUitilityService;
public class StepSolver {