Skip to content

Commit 22c008f

Browse files
authored
fix: missing serializer specification (ModelEngine-Group#179)
1 parent 5dcd6dc commit 22c008f

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

examples/fel-example/04-output-parser/src/main/java/modelengine/example/ai/chat/parser/OutputParserExampleController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import modelengine.fit.http.annotation.RequestMapping;
2121
import modelengine.fit.http.annotation.RequestParam;
2222
import modelengine.fitframework.annotation.Component;
23+
import modelengine.fitframework.annotation.Fit;
2324
import modelengine.fitframework.annotation.Property;
2425
import modelengine.fitframework.annotation.Value;
2526
import modelengine.fitframework.flowable.Choir;
@@ -42,7 +43,7 @@ public class OutputParserExampleController {
4243
@Value("${example.model}")
4344
private String modelName;
4445

45-
public OutputParserExampleController(ChatModel chatModel, ObjectSerializer serializer) {
46+
public OutputParserExampleController(ChatModel chatModel, @Fit(alias = "json") ObjectSerializer serializer) {
4647
this.chatModel = chatModel;
4748
this.outputParser = JsonOutputParser.createPartial(serializer, Demo.class);
4849
this.template = new HumanMessageTemplate(new DefaultStringTemplate(

examples/fel-example/05-retrieval/src/main/java/modelengine/example/ai/chat/retrieval/RetrievalExampleController.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import modelengine.fit.http.annotation.RequestMapping;
4040
import modelengine.fit.http.annotation.RequestParam;
4141
import modelengine.fitframework.annotation.Component;
42+
import modelengine.fitframework.annotation.Fit;
4243
import modelengine.fitframework.annotation.Value;
4344
import modelengine.fitframework.serialization.ObjectSerializer;
4445
import modelengine.fitframework.util.FileUtils;
@@ -65,8 +66,8 @@ public class RetrievalExampleController {
6566
private final AiProcessFlow<String, ChatMessage> ragFlow;
6667
private final Memory memory = new CacheMemory();
6768

68-
public RetrievalExampleController(ChatModel chatModel, EmbedModel embedModel, ObjectSerializer serializer,
69-
@Value("${example.model.chat}") String chatModelName,
69+
public RetrievalExampleController(ChatModel chatModel, EmbedModel embedModel,
70+
@Fit(alias = "json") ObjectSerializer serializer, @Value("${example.model.chat}") String chatModelName,
7071
@Value("${example.model.embed}") String embedModelName) {
7172
DocumentEmbedModel documentEmbedModel =
7273
new DefaultDocumentEmbedModel(embedModel, EmbedOption.custom().model(embedModelName).build());

framework/fel/java/plugins/tool-discoverer/src/main/java/modelengine/fel/tool/support/DefaultToolDiscoverer.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@
1010
import static modelengine.fitframework.inspection.Validation.notNull;
1111

1212
import modelengine.fel.tool.ToolInfoEntity;
13-
import modelengine.fel.tool.info.entity.ToolEntity;
1413
import modelengine.fel.tool.ToolSchema;
14+
import modelengine.fel.tool.info.entity.ToolEntity;
1515
import modelengine.fel.tool.info.entity.ToolGroupEntity;
1616
import modelengine.fel.tool.info.entity.ToolJsonEntity;
1717
import modelengine.fel.tool.service.ToolRepository;
1818
import modelengine.fitframework.annotation.Component;
19+
import modelengine.fitframework.annotation.Fit;
1920
import modelengine.fitframework.annotation.Value;
2021
import modelengine.fitframework.plugin.Plugin;
2122
import modelengine.fitframework.plugin.PluginStartedObserver;
@@ -42,7 +43,6 @@
4243
*/
4344
@Component
4445
public class DefaultToolDiscoverer implements PluginStartedObserver, PluginStoppingObserver {
45-
private static final String TOOLS = "tools";
4646
private final ToolRepository toolRepository;
4747
private final ObjectSerializer serializer;
4848
private final int maxToolNum;
@@ -55,7 +55,7 @@ public class DefaultToolDiscoverer implements PluginStartedObserver, PluginStopp
5555
* @param maxNum 表示插件最大工具数量的 {@code int}。
5656
* @throws IllegalArgumentException 当 {@code toolRepository}、{@code objectSerializer} 为 {@code null} 时。
5757
*/
58-
public DefaultToolDiscoverer(ToolRepository toolRepository, ObjectSerializer serializer,
58+
public DefaultToolDiscoverer(ToolRepository toolRepository, @Fit(alias = "json") ObjectSerializer serializer,
5959
@Value("${tool.max-num}") int maxNum) {
6060
this.toolRepository = notNull(toolRepository, "The tool repository cannot be null.");
6161
this.serializer = notNull(serializer, "The serializer cannot be null.");
@@ -94,7 +94,8 @@ private List<ToolEntity> parseTools(Resource resource) {
9494
if (toolJsonEntity == null) {
9595
return Collections.emptyList();
9696
}
97-
return toolJsonEntity.getToolGroups().stream()
97+
return toolJsonEntity.getToolGroups()
98+
.stream()
9899
.filter(Objects::nonNull)
99100
.map(ToolGroupEntity::getTools)
100101
.filter(Objects::nonNull)

0 commit comments

Comments
 (0)