From 15e524c6e604f6f3354c611bb40065c391eafc31 Mon Sep 17 00:00:00 2001 From: Junyan Qin Date: Mon, 4 Aug 2025 18:17:12 +0800 Subject: [PATCH] perf: move `remove-think` to output tab --- pkg/provider/modelmgr/requesters/chatcmpl.py | 2 ++ pkg/provider/runners/localagent.py | 9 +++++---- templates/default-pipeline-config.json | 3 ++- templates/metadata/pipeline/output.yaml | 10 ++++++++++ templates/metadata/pipeline/trigger.yaml | 10 ---------- 5 files changed, 19 insertions(+), 15 deletions(-) diff --git a/pkg/provider/modelmgr/requesters/chatcmpl.py b/pkg/provider/modelmgr/requesters/chatcmpl.py index 04e7da20..fdef1459 100644 --- a/pkg/provider/modelmgr/requesters/chatcmpl.py +++ b/pkg/provider/modelmgr/requesters/chatcmpl.py @@ -313,6 +313,7 @@ class OpenAIChatCompletions(requester.ProviderAPIRequester): messages: typing.List[llm_entities.Message], funcs: typing.List[tools_entities.LLMFunction] = None, extra_args: dict[str, typing.Any] = {}, + remove_think: bool = False, ) -> llm_entities.MessageChunk: req_messages = [] # req_messages 仅用于类内,外部同步由 query.messages 进行 for m in messages: @@ -332,6 +333,7 @@ class OpenAIChatCompletions(requester.ProviderAPIRequester): use_model=model, use_funcs=funcs, extra_args=extra_args, + remove_think=remove_think, ): yield item diff --git a/pkg/provider/runners/localagent.py b/pkg/provider/runners/localagent.py index 03a9b43b..3da25679 100644 --- a/pkg/provider/runners/localagent.py +++ b/pkg/provider/runners/localagent.py @@ -94,9 +94,8 @@ class LocalAgentRunner(runner.RequestRunner): is_stream = await query.adapter.is_stream_output_supported() except AttributeError: is_stream = False - - remove_think = self.pipeline_config['trigger'].get('misc', '').get('remove_think') + remove_think = self.pipeline_config['output'].get('misc', '').get('remove-think') if not is_stream: # 非流式输出,直接请求 @@ -183,8 +182,9 @@ class LocalAgentRunner(runner.RequestRunner): query.use_llm_model, req_messages, query.use_funcs, - extra_args=query.use_llm_model.model_entity.extra_args, - ): + extra_args=query.use_llm_model.model_entity.extra_args, + remove_think=remove_think, + ): yield msg if msg.tool_calls: for tool_call in msg.tool_calls: @@ -212,6 +212,7 @@ class LocalAgentRunner(runner.RequestRunner): req_messages, query.use_funcs, extra_args=query.use_llm_model.model_entity.extra_args, + remove_think=remove_think, ) yield msg diff --git a/templates/default-pipeline-config.json b/templates/default-pipeline-config.json index d06e4661..855e2ac6 100644 --- a/templates/default-pipeline-config.json +++ b/templates/default-pipeline-config.json @@ -87,7 +87,8 @@ "hide-exception": true, "at-sender": true, "quote-origin": true, - "track-function-calls": false + "track-function-calls": false, + "remove-think": true } } } \ No newline at end of file diff --git a/templates/metadata/pipeline/output.yaml b/templates/metadata/pipeline/output.yaml index 9fe0cd25..66bb312c 100644 --- a/templates/metadata/pipeline/output.yaml +++ b/templates/metadata/pipeline/output.yaml @@ -105,3 +105,13 @@ stages: type: boolean required: true default: false + - name: remove-think + label: + en_US: Remove CoT + zh_Hans: 删除思维链 + description: + en_US: If enabled, LangBot will remove the LLM thought content in response + zh_Hans: 如果启用,将自动删除大模型回复中的模型思考内容 + type: boolean + required: true + default: true diff --git a/templates/metadata/pipeline/trigger.yaml b/templates/metadata/pipeline/trigger.yaml index 08a2714b..949b2698 100644 --- a/templates/metadata/pipeline/trigger.yaml +++ b/templates/metadata/pipeline/trigger.yaml @@ -132,13 +132,3 @@ stages: type: boolean required: true default: true - - name: remove_think - label: - en_US: Remove CoT - zh_Hans: 删除思维链 - description: - en_US: If enabled, LangBot will remove the LLM thought content in response - zh_Hans: 如果启用,将自动删除大模型回复中的模型思考内容 - type: boolean - required: true - default: true