Skip to content

Commit c8ca24d

Browse files
3233 - ClassifyTextAction done
1 parent b0a32b8 commit c8ca24d

3 files changed

Lines changed: 21 additions & 14 deletions

File tree

server/libs/modules/components/ai/llm/src/main/java/com/bytechef/component/ai/llm/ChatModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ default Object getResponse(
6161
inputParameters, connectionParameters, true);
6262

6363
List<org.springframework.ai.chat.messages.Message> messages = ModelUtils.getMessages(
64-
inputParameters, actionContext);
64+
inputParameters, actionContext, false);
6565

6666
ChatClient.ChatClientRequestSpec chatClientRequestSpec = createPrompt(
6767
inputParameters, actionContext, chatModel);

server/libs/modules/components/ai/llm/src/main/java/com/bytechef/component/ai/llm/util/ModelUtils.java

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -120,27 +120,31 @@ public static <R> List<Option<R>> getEnumOptions(Map<String, R> map) {
120120
.toList();
121121
}
122122

123-
public static List<Message> getMessages(Parameters inputParameters, ActionContext actionContext) {
123+
public static List<Message> getMessages(Parameters inputParameters, ActionContext actionContext, boolean responseFormatRequired) {
124124
List<ChatModel.Message> chatModelMessages = new ArrayList<>();
125125

126-
String format = inputParameters.getRequiredString(FORMAT);
126+
if (responseFormatRequired) {
127+
String format = inputParameters.getRequiredString(FORMAT);
128+
if (format.equals(Format.SIMPLE.name())) {
129+
String userPrompt = inputParameters.getRequiredString(USER_PROMPT);
127130

128-
if (format.equals(Format.SIMPLE.name())) {
129-
String userPrompt = inputParameters.getRequiredString(USER_PROMPT);
131+
ChatModel.Message userMessage = new ChatModel.Message(
132+
userPrompt, inputParameters.getList(ATTACHMENTS, FileEntry.class), Role.USER);
130133

131-
ChatModel.Message userMessage = new ChatModel.Message(
132-
userPrompt, inputParameters.getList(ATTACHMENTS, FileEntry.class), Role.USER);
134+
chatModelMessages.add(userMessage);
133135

134-
chatModelMessages.add(userMessage);
136+
String systemPrompt = inputParameters.getString(SYSTEM_PROMPT);
135137

136-
String systemPrompt = inputParameters.getString(SYSTEM_PROMPT);
138+
if (systemPrompt != null && !systemPrompt.isEmpty()) {
139+
ChatModel.Message systeMMessage = new ChatModel.Message(systemPrompt, null, Role.SYSTEM);
137140

138-
if (systemPrompt != null && !systemPrompt.isEmpty()) {
139-
ChatModel.Message systeMMessage = new ChatModel.Message(systemPrompt, null, Role.SYSTEM);
140-
141-
chatModelMessages.add(systeMMessage);
141+
chatModelMessages.add(systeMMessage);
142+
}
143+
} else {
144+
chatModelMessages = inputParameters.getList(MESSAGES, new TypeReference<>() {});
142145
}
143-
} else {
146+
}
147+
else {
144148
chatModelMessages = inputParameters.getList(MESSAGES, new TypeReference<>() {});
145149
}
146150

server/libs/modules/components/ai/universal/universal-text/src/main/java/com/bytechef/component/ai/universal/text/action/ClassifyTextAction.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import static com.bytechef.component.definition.ComponentDsl.object;
3535
import static com.bytechef.component.definition.ComponentDsl.string;
3636

37+
import com.bytechef.component.ai.llm.ChatModel;
3738
import com.bytechef.component.ai.universal.text.action.definition.AiTextActionDefinition;
3839
import com.bytechef.component.ai.universal.text.constant.AiTextConstants;
3940
import com.bytechef.component.definition.Parameters;
@@ -113,6 +114,8 @@ public Parameters createParameters(Parameters inputParameters) {
113114
Map.of("content", systemPrompt, ROLE, SYSTEM.name()),
114115
Map.of("content", userBuilder, ROLE, USER.name())));
115116
modelInputParametersMap.put("model", inputParameters.getString(MODEL));
117+
modelInputParametersMap.put("response", Map.of(
118+
"responseFormat", ChatModel.ResponseFormat.TEXT));
116119

117120
return ParametersFactory.createParameters(modelInputParametersMap);
118121
}

0 commit comments

Comments
 (0)