Skip to content

Commit 549c480

Browse files
committed
Refactoring
* Put creation of EvaluationRequest in ChatServiceResponse * Add string constructor to QuestionContextAugmentor * change vectorStore accept() usage to write()
1 parent fd9c986 commit 549c480

File tree

6 files changed

+17
-12
lines changed

6 files changed

+17
-12
lines changed

models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/service/LongShortTermChatMemoryWithRagIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ void memoryChatService() {
144144
assertThat(chatServiceResponse2.getChatResponse().getResult().getOutput().getContent()).contains("Christian");
145145

146146
EvaluationResponse evaluationResponse = this.relevancyEvaluator
147-
.evaluate(new EvaluationRequest(chatServiceResponse2));
147+
.evaluate(chatServiceResponse2.toEvaluationRequest());
148148

149149
assertTrue(evaluationResponse.isPass(), "Response is not relevant to the question");
150150

models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/service/OpenAiPromptTransformingChatServiceIT.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,22 +104,22 @@ void simpleChat() {
104104
.withModel(GPT_4_TURBO_PREVIEW.getValue())
105105
.build();
106106
var relevancyEvaluator = new RelevancyEvaluator(this.chatClient, openAiChatOptions);
107-
EvaluationRequest evaluationRequest = new EvaluationRequest(chatServiceResponse);
108-
EvaluationResponse evaluationResponse = relevancyEvaluator.evaluate(evaluationRequest);
107+
108+
EvaluationResponse evaluationResponse = relevancyEvaluator.evaluate(chatServiceResponse.toEvaluationRequest());
109109
assertTrue(evaluationResponse.isPass(), "Response is not relevant to the question");
110110

111111
}
112112

113113
void loadData() {
114114
JsonReader jsonReader = new JsonReader(bikesResource, "name", "price", "shortDescription", "description");
115115
var textSplitter = new TokenTextSplitter();
116-
List<Document> splitDocuments = textSplitter.split(jsonReader.get());
116+
List<Document> splitDocuments = textSplitter.split(jsonReader.read());
117117

118118
for (Document splitDocument : splitDocuments) {
119119
splitDocument.getMetadata().put(TransformerContentType.EXTERNAL_KNOWLEDGE, "true");
120120
}
121121

122-
vectorStore.accept(splitDocuments);
122+
vectorStore.write(splitDocuments);
123123
}
124124

125125
void loadData2() {

spring-ai-core/src/main/java/org/springframework/ai/chat/prompt/transformer/QuestionContextAugmentor.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,11 @@ public class QuestionContextAugmentor extends AbstractPromptTransformer {
5555
private String userText;
5656

5757
public QuestionContextAugmentor() {
58-
this.userText = DEFAULT_USER_TEXT;
58+
this(DEFAULT_USER_TEXT);
59+
}
60+
61+
public QuestionContextAugmentor(String userText) {
62+
this.userText = userText;
5963
this.setName("QuestionContextAugmentor");
6064
}
6165

spring-ai-core/src/main/java/org/springframework/ai/chat/service/ChatServiceResponse.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import org.springframework.ai.chat.ChatResponse;
2020
import org.springframework.ai.chat.prompt.transformer.ChatServiceContext;
21+
import org.springframework.ai.evaluation.EvaluationRequest;
2122

2223
import java.util.Objects;
2324

@@ -47,6 +48,11 @@ public ChatResponse getChatResponse() {
4748
return chatResponse;
4849
}
4950

51+
public EvaluationRequest toEvaluationRequest() {
52+
return new EvaluationRequest(getPromptContext().getPromptChanges().get(0).revised(),
53+
getPromptContext().getContents(), getChatResponse());
54+
}
55+
5056
@Override
5157
public String toString() {
5258
return "ChatServiceResponse{" + "chatServiceContext=" + chatServiceContext + ", chatResponse=" + chatResponse

spring-ai-core/src/main/java/org/springframework/ai/evaluation/EvaluationRequest.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,6 @@ public class EvaluationRequest {
1616

1717
private final ChatResponse chatResponse;
1818

19-
public EvaluationRequest(ChatServiceResponse chatServiceResponse) {
20-
this(chatServiceResponse.getPromptContext().getPromptChanges().get(0).revised(),
21-
chatServiceResponse.getPromptContext().getContents(), chatServiceResponse.getChatResponse());
22-
}
23-
2419
public EvaluationRequest(Prompt prompt, List<Content> dataList, ChatResponse chatResponse) {
2520
this.prompt = prompt;
2621
this.dataList = dataList;

spring-ai-test/src/main/java/org/springframework/ai/evaluation/BaseMemoryTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ void memoryChatService() {
6969
.contains("John Vincent Atanasoff");
7070

7171
EvaluationResponse evaluationResponse = this.relevancyEvaluator
72-
.evaluate(new EvaluationRequest(chatServiceResponse2));
72+
.evaluate(chatServiceResponse2.toEvaluationRequest());
7373
logger.info("" + evaluationResponse);
7474
}
7575

0 commit comments

Comments
 (0)