diff --git a/examples/fel-example/04-output-parser/src/main/java/modelengine/example/ai/chat/parser/OutputParserExampleController.java b/examples/fel-example/04-output-parser/src/main/java/modelengine/example/ai/chat/parser/OutputParserExampleController.java index 888784756..21d50ea59 100644 --- a/examples/fel-example/04-output-parser/src/main/java/modelengine/example/ai/chat/parser/OutputParserExampleController.java +++ b/examples/fel-example/04-output-parser/src/main/java/modelengine/example/ai/chat/parser/OutputParserExampleController.java @@ -20,6 +20,7 @@ import modelengine.fit.http.annotation.RequestMapping; import modelengine.fit.http.annotation.RequestParam; import modelengine.fitframework.annotation.Component; +import modelengine.fitframework.annotation.Fit; import modelengine.fitframework.annotation.Property; import modelengine.fitframework.annotation.Value; import modelengine.fitframework.flowable.Choir; @@ -42,7 +43,7 @@ public class OutputParserExampleController { @Value("${example.model}") private String modelName; - public OutputParserExampleController(ChatModel chatModel, ObjectSerializer serializer) { + public OutputParserExampleController(ChatModel chatModel, @Fit(alias = "json") ObjectSerializer serializer) { this.chatModel = chatModel; this.outputParser = JsonOutputParser.createPartial(serializer, Demo.class); this.template = new HumanMessageTemplate(new DefaultStringTemplate( diff --git a/examples/fel-example/05-retrieval/src/main/java/modelengine/example/ai/chat/retrieval/RetrievalExampleController.java b/examples/fel-example/05-retrieval/src/main/java/modelengine/example/ai/chat/retrieval/RetrievalExampleController.java index c1b3a4102..2444ddfd7 100644 --- a/examples/fel-example/05-retrieval/src/main/java/modelengine/example/ai/chat/retrieval/RetrievalExampleController.java +++ b/examples/fel-example/05-retrieval/src/main/java/modelengine/example/ai/chat/retrieval/RetrievalExampleController.java @@ -39,6 +39,7 @@ import modelengine.fit.http.annotation.RequestMapping; import modelengine.fit.http.annotation.RequestParam; import modelengine.fitframework.annotation.Component; +import modelengine.fitframework.annotation.Fit; import modelengine.fitframework.annotation.Value; import modelengine.fitframework.serialization.ObjectSerializer; import modelengine.fitframework.util.FileUtils; @@ -65,8 +66,8 @@ public class RetrievalExampleController { private final AiProcessFlow ragFlow; private final Memory memory = new CacheMemory(); - public RetrievalExampleController(ChatModel chatModel, EmbedModel embedModel, ObjectSerializer serializer, - @Value("${example.model.chat}") String chatModelName, + public RetrievalExampleController(ChatModel chatModel, EmbedModel embedModel, + @Fit(alias = "json") ObjectSerializer serializer, @Value("${example.model.chat}") String chatModelName, @Value("${example.model.embed}") String embedModelName) { DocumentEmbedModel documentEmbedModel = new DefaultDocumentEmbedModel(embedModel, EmbedOption.custom().model(embedModelName).build()); diff --git a/framework/fel/java/plugins/tool-discoverer/src/main/java/modelengine/fel/tool/support/DefaultToolDiscoverer.java b/framework/fel/java/plugins/tool-discoverer/src/main/java/modelengine/fel/tool/support/DefaultToolDiscoverer.java index 74d586ab8..65a5843e4 100644 --- a/framework/fel/java/plugins/tool-discoverer/src/main/java/modelengine/fel/tool/support/DefaultToolDiscoverer.java +++ b/framework/fel/java/plugins/tool-discoverer/src/main/java/modelengine/fel/tool/support/DefaultToolDiscoverer.java @@ -10,12 +10,13 @@ import static modelengine.fitframework.inspection.Validation.notNull; import modelengine.fel.tool.ToolInfoEntity; -import modelengine.fel.tool.info.entity.ToolEntity; import modelengine.fel.tool.ToolSchema; +import modelengine.fel.tool.info.entity.ToolEntity; import modelengine.fel.tool.info.entity.ToolGroupEntity; import modelengine.fel.tool.info.entity.ToolJsonEntity; import modelengine.fel.tool.service.ToolRepository; import modelengine.fitframework.annotation.Component; +import modelengine.fitframework.annotation.Fit; import modelengine.fitframework.annotation.Value; import modelengine.fitframework.plugin.Plugin; import modelengine.fitframework.plugin.PluginStartedObserver; @@ -42,7 +43,6 @@ */ @Component public class DefaultToolDiscoverer implements PluginStartedObserver, PluginStoppingObserver { - private static final String TOOLS = "tools"; private final ToolRepository toolRepository; private final ObjectSerializer serializer; private final int maxToolNum; @@ -55,7 +55,7 @@ public class DefaultToolDiscoverer implements PluginStartedObserver, PluginStopp * @param maxNum 表示插件最大工具数量的 {@code int}。 * @throws IllegalArgumentException 当 {@code toolRepository}、{@code objectSerializer} 为 {@code null} 时。 */ - public DefaultToolDiscoverer(ToolRepository toolRepository, ObjectSerializer serializer, + public DefaultToolDiscoverer(ToolRepository toolRepository, @Fit(alias = "json") ObjectSerializer serializer, @Value("${tool.max-num}") int maxNum) { this.toolRepository = notNull(toolRepository, "The tool repository cannot be null."); this.serializer = notNull(serializer, "The serializer cannot be null."); @@ -94,7 +94,8 @@ private List parseTools(Resource resource) { if (toolJsonEntity == null) { return Collections.emptyList(); } - return toolJsonEntity.getToolGroups().stream() + return toolJsonEntity.getToolGroups() + .stream() .filter(Objects::nonNull) .map(ToolGroupEntity::getTools) .filter(Objects::nonNull)