思考预算功能实现 概述 本文档描述了为LEANN实现的思考预算功能,该功能允许用户控制像GPT-Oss:20b这样的推理模型的计算开销。 功能描述 思考预算功能为推理模型提供了三种不同级别的计算开销: :快速响应,基础推理(适用于简单查询的默认设置) :速度与推理深度的平衡 :最大推理开销,最适合复杂分析问题 实现细节 命令行界面 在CLI和RAG示例中均添加了 参数: LLM后端支持 Ollama后端( ) API格式:使用Ollama的 parameter with and fields. OpenAI Backend ( API格式:使用OpenAI的 parameter for o-series models.
本文档描述了为LEANN实现的思考预算功能,该功能允许用户控制像GPT-Oss:20b这样的推理模型的计算开销。
思考预算功能为推理模型提供了三种不同级别的计算开销:
low:快速响应,基础推理(适用于简单查询的默认设置)medium:速度与推理深度的平衡high:最大推理开销,最适合复杂分析问题在CLI和RAG示例中均添加了--thinking-budget参数:
# LEANN CLI leann ask my-index --llm ollama --model gpt-oss:20b --thinking-budget high # RAG Examples python apps/email_rag.py --llm ollama --llm-model gpt-oss:20b --thinking-budget high python apps/document_rag.py --llm openai --llm-model o3 --thinking-budget medium
packages/leann-core/src/leann/chat.py)def ask(self, prompt: str, **kwargs) -> str: # Handle thinking budget for reasoning models options = kwargs.copy() thinking_budget = kwargs.get("thinking_budget") if thinking_budget: options.pop("thinking_budget", None) if thinking_budget in ["low", "medium", "high"]: options["reasoning"] = {"effort": thinking_budget, "exclude": False}
API格式:使用Ollama的reasoning parameter with effort and exclude fields.
packages/leann-core/src/leann/chat.pydef ask(self, prompt: str, **kwargs) -> str: # Handle thinking budget for reasoning models thinking_budget = kwargs.get("thinking_budget") if thinking_budget and thinking_budget in ["low", "medium", "high"]: # Check if this is an o-series model o_series_models = ["o3", "o3-mini", "o4-mini", "o1", "o3-pro", "o3-deep-research"] if any(model in self.model for model in o_series_models): params["reasoning_effort"] = thinking_budget
API格式:使用OpenAI的reasoning_effort parameter for o-series models.
The thinking budget parameter is properly propagated through the LEANN architecture:
packages/leann-core/src/leann/cli.py:捕获--thinking-budget参数apps/base_rag_example.py): Adds parameter to argument parserpackages/leann-core/src/leann/api.py): Passes llm_kwargs to LLMpackages/leann-core/src/leann/chat.py: Added thinking budget support to OllamaChat and OpenAIChatpackages/leann-core/src/leann/cli.py:添加了--thinking-budget参数apps/base_rag_example.py: Added thinking budget parameter to RAG examplesREADME.md: Added thinking budget parameter to usage examplesdocs/configuration-guide.md: Added detailed documentation and usage guidelinesexamples/thinking_budget_demo.py:包含使用示例的完整演示脚本# High reasoning effort for complex questions leann ask my-index --llm ollama --model gpt-oss:20b --thinking-budget high # Medium reasoning for balanced performance leann ask my-index --llm openai --model gpt-4o --thinking-budget medium # Low reasoning for fast responses leann ask my-index --llm ollama --model gpt-oss:20b --thinking-budget low
# Email RAG with high reasoning python apps/email_rag.py --llm ollama --llm-model gpt-oss:20b --thinking-budget high # Document RAG with medium reasoning python apps/document_rag.py --llm openai --llm-model gpt-4o --thinking-budget medium
reasoning parameterreasoning_effort参数的Ollama模型该实现包含了全面的测试:
免责声明:
本文档采用基于机器的 AI 翻译服务进行翻译。尽管我们力求准确,但请注意,自动翻译可能存在错误或不准确之处。应以原文语言版本的文档作为权威依据。如需获取关键信息,建议使用专业的人工翻译。对于因使用本翻译而产生的任何误解或误读,我们概不负责。