基于苏格拉底式提问的LLM深度推理:从概念澄清到工程实践

news2026/5/15 9:57:19
1. 项目概述当AI学会“苏格拉底式提问”最近在探索如何让大语言模型LLM的推理能力更上一层楼时我遇到了一个非常有意思的开源项目jumasheff/socratic-rules。这个名字本身就充满了哲学与技术碰撞的火花——“苏格拉底规则”。简单来说这不是一个直接提供答案的模型而是一套旨在“教会”LLM如何进行深度、结构化、自我质疑式思考的规则集或方法论。想象一下当你向ChatGPT、Claude或任何一款大模型提出一个复杂问题时比如“如何制定一个可行的产品上市策略”或者“这篇论文的核心矛盾点在哪里”。通常模型会基于其庞大的训练数据生成一段看似合理、信息量丰富的回答。但这份回答往往是“一次性”的、线性的输出它可能混合了事实、观点和推测却缺乏清晰的论证过程和自我校验。而“苏格拉底式提问”的精髓在于通过一系列系统性的、引导性的问题迫使思考者澄清概念、检验假设、寻找证据、考量观点、探究深意和后果。jumasheff/socratic-rules项目正是将这套古老的哲学思辨方法转化为机器可理解、可执行的提示Prompt规则。它不改变模型本身的权重而是通过精心设计的对话流程和提问模板引导LLM在生成最终答案前先与自己进行多轮“对话”进行拆解、分析和验证。这相当于给模型配备了一位内置的、严格的“苏格拉底式教练”让它的输出从“听起来不错”进化到“逻辑严密、经得起推敲”。对于任何需要LLM进行复杂分析、决策支持、内容审核、学术研究或创意构思的场景这种方法都极具价值。它尤其适合开发者、研究人员、内容创作者以及所有希望从AI那里获得更高质量、更可靠推理结果的用户。接下来我将深入拆解这个项目的核心思路、实操方法并分享在应用这些规则时的关键技巧和避坑指南。2. 核心设计思路从“直接生成”到“引导式思辨”传统的LLM交互模式是“输入-输出”的单次映射。用户提供一个提示Prompt模型基于概率生成一个响应Completion。这种模式的效率很高但在处理复杂任务时其输出质量严重依赖于初始提示的精确度且缺乏透明的中间推理过程。socratic-rules的设计哲学是颠覆这种模式将单次生成转变为多步的、自省的思维链Chain of Thought CoT过程并且这个思维链是受控的、结构化的。2.1 苏格拉底问答法的核心原则映射项目将苏格拉底式的诘问法抽象为几条核心规则并映射到LLM的提示工程中澄清概念与术语在讨论任何问题前首先要求模型明确问题中所有关键术语的定义和边界。例如对于“制定一个成功的营销计划”“成功”具体指什么用户增长、品牌知名度还是短期销售额“营销计划”的范畴是仅限线上还是包括线下活动这一步避免了后续讨论因概念模糊而产生的歧义。检验假设与前提任何问题或陈述都建立在一些默认的假设之上。规则要求模型识别并审视这些假设是否合理、是否成立。例如“因为竞争对手A做了X所以我们也要做X”这个论断其假设是“竞争对手A的策略对我们完全适用且正确”这个假设需要被检验。寻找证据与理由对于任何一个提出的观点或建议模型不能仅仅陈述它必须被要求提供支持该观点的证据、数据或逻辑推理过程。这迫使模型从单纯的信息复述转向有依据的论证。考量替代观点与反面论证这是避免思维片面性的关键。规则要求模型主动思考与当前主流观点相反的可能性或者至少考虑不同的视角。例如在提出一个方案的优势时必须同时分析其潜在的风险和劣势。探究深意与后果评估一个想法或决策可能带来的短期和长期影响、直接和间接的后果。这有助于生成更具前瞻性和全面性的分析。2.2 技术实现路径提示模板与流程控制项目通过构建一套可嵌套、可组合的提示模板来实现上述原则。它不是一段固定的文本而是一个动态的“提问引擎”。基本流程如下初始问题接收用户提出原始问题Q0。规则引擎介入系统或一个主导的“元提示”不会直接让模型回答Q0而是根据苏格拉底规则生成一系列子问题Q1 Q2 Q3...。例如Q1澄清请先定义你问题中“XX”这个词在当前语境下的具体含义。Q2假设你的问题基于哪些关键假设请逐一列出并评估其可靠性。Q3证据如果要支持某个观点你认为需要哪些类型的数据或信息作为证据迭代式自我对话模型需要依次回答这些子问题。在回答每个子问题时它同样被鼓励或通过规则强制应用苏格拉底规则进行自我审视。这形成了一个递归或迭代的思考过程。综合与生成最终答案在完成了所有子问题的深入探讨后模型利用这些中间产物——澄清后的定义、检验过的假设、收集到的“证据”思路、考虑过的不同观点——来综合构建一个结构严谨、论证充分的最终答案A_final。这种设计的优势显而易见提升输出质量与可靠性经过多轮自我质询模型的输出明显更深刻、更全面逻辑漏洞更少。增强可解释性整个思考过程子问题及其回答可以被记录和审查使得模型的“黑箱”特性在一定程度上变得透明用户能理解答案是如何得出的。降低对提示工程的依赖用户无需成为提示工程专家来精心设计一个完美的单次提示只需启动这个规则流程就能引导模型进行深度思考。注意这个过程会显著增加API的调用次数Token消耗和响应时间。它不适合对实时性要求极高的简单问答而是为高价值、高复杂度的任务设计的“深度思考”模式。3. 核心规则解析与实操要点jumasheff/socratic-rules项目通常以一系列文本规则、示例或代码片段的形式呈现。要有效运用它关键在于理解每条规则背后的意图并学会如何将其转化为可操作的提示指令。3.1 规则一概念澄清的标准化操作这是所有深度讨论的基石。操作不当后续所有思考都可能建立在流沙之上。实操要点主动提问模板不要仅仅说“请澄清概念”。使用更具引导性的模板例如“在我们深入探讨‘[用户原问题]’之前让我们先确保我们对关键术语的理解一致。请逐一解释以下术语在本次讨论上下文中的具体含义和范围[术语1 术语2 术语3...]。如果你的解释需要基于某种特定理论或框架请明确指出。”要求举例说明让模型不仅给出抽象定义还要提供正例和反例。例如澄清“创新”时要求它给出一个符合本次讨论的“创新”案例以及一个看似创新但不符合定义的案例。处理模糊性如果模型反馈某个术语存在多种常见解释不要让它自行选择。你应该指令它“基于问题背景你认为哪一种解释最为合理请说明理由并在后续讨论中始终采用此定义。”一个具体的Prompt示例用户问题如何提升团队的“敏捷性” 应用规则后的Prompt 请扮演一个苏格拉底式的思考助手。在回答如何提升团队敏捷性之前请先执行以下步骤 1. 概念澄清请详细解释在当前“软件开发团队管理”的语境下“敏捷性”具体指哪些维度的能力例如是响应需求变化的速度、发布频率、还是团队自组织能力请列出至少三个核心维度。 2. 范围界定我们讨论的“提升”是针对一个已经采用Scrum的团队进行优化还是帮助一个传统团队向敏捷转型请基于问题做出合理假设并明确说明。 请先完成以上两步的思考并输出。通过这样的前置操作模型后续提出的“提升建议”就会非常有针对性避免了泛泛而谈。3.2 规则二假设检验的深度挖掘任何推理都始于假设。这一步的目标是让模型把隐藏的假设“晒”出来并评估其强度。实操要点分类识别假设指导模型将假设分为几类事实性假设被认为是真的但可能未经证实的信息。例如“目标用户主要使用移动端。”价值性假设关于什么是好、什么是重要的信念。例如“用户增长比短期利润更重要。”因果性假设关于事件之间关系的信念。例如“增加广告投放必然会带来销售额提升。”挑战假设的强度对于每个识别出的假设要求模型评估其“强度”是强证据支持还是普遍共识亦或是纯粹的猜测并思考“如果这个假设是错的会对整个结论产生什么颠覆性影响”寻找反面证据指令模型主动去寻找可能反驳该假设的信息或逻辑。例如对于“增加广告投放必然会带来销售额提升”让它思考在什么情况下如市场饱和、广告创意差这个假设会失效。在代码或系统集成中的实现思路你可以设计一个函数当模型生成一段包含建议或判断的文本后自动触发一个“假设检验”提示def challenge_assumptions(previous_response): prompt f 你刚刚给出了以下观点 「{previous_response}」 现在请以批判性思维伙伴的身份完成以下任务 1. 从上述观点中提取出至少2个核心的、未言明的前提假设。 2. 对每个假设评估其成立的可能性高/中/低并简要说明理由。 3. 针对可能性为“中”或“低”的假设提出一个可以验证或反驳该假设的具体问题或数据需求。 # 调用LLM API获取对假设的分析 analysis call_llm_api(prompt) return analysis这样你就将苏格拉底规则自动化地嵌入了对话流程。3.3 规则三与四证据链与多元视角的构建这是论证的主体部分要求输出从“观点陈述”转向“观点论证”。实操要点证据来源的多样性要求模型不仅引用“常识”或“一般观点”还要考虑不同来源的证据类型如统计数据、研究案例、历史先例、逻辑演绎、权威观点并指出其局限性。即使模型无法获取实时数据也要让它描述“理想情况下需要什么样的数据来支撑这个观点”。构建逻辑链鼓励模型使用“因为...所以...”、“考虑到...因此...”等连接词显式地展示推理步骤。这能让逻辑漏洞更容易暴露。强制寻找反对意见这是打破模型“附和”倾向的关键。必须明确指令“现在请暂时搁置你刚才提出的方案扮演一个最挑剔的反对者。针对该方案的每一个主要优点提出一个可能的缺点或风险针对其可行性提出一个可能遇到的障碍。” 只有经过这一步后续的综合分析才更扎实。实操心得在实际使用中我发现很多模型在“考量替代观点”时容易流于形式只会说“另一方面也有人认为...”缺乏深度。为了克服这一点我修改了提示要求模型基于不同的价值立场或利益相关者来构建反对意见。例如“请分别从公司财务总监关注成本与ROI、一线员工关注工作负担与流程改变、以及竞争对手的角度来批判你刚刚提出的‘全面推行远程办公’计划。每个视角的批评必须具体与其核心利益相关。”通过将视角具体化、人格化模型生成的“反面论证”质量会大幅提升更具现实意义。4. 完整集成与工作流实现将socratic-rules从零散的规则应用到实际项目或日常工作中需要一个系统化的流程。以下是一个基于Python和LangChain框架的简化实现方案它展示了如何构建一个自动化的“苏格拉底式AI助手”。4.1 环境准备与工具选型首先你需要一个基础的LLM调用环境。我推荐使用LangChain因为它提供了便捷的链Chain和代理Agent抽象非常适合组合复杂的提示流程。# 基础环境安装 pip install langchain langchain-openai这里选择langchain-openai作为示例后端使用OpenAI的GPT-4或GPT-3.5-Turbo模型。你也可以轻松替换为Anthropic Claude、Google Gemini或其他兼容LangChain的模型。import os from langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder from langchain_core.messages import HumanMessage, AIMessage, SystemMessage from langchain.chains import LLMChain from langchain.memory import ConversationBufferMemory # 1. 初始化LLM # 建议使用gpt-4进行深度推理gpt-3.5-turbo可用于轻量级或迭代测试 llm ChatOpenAI( modelgpt-4, temperature0.3, # 温度调低使输出更稳定、更聚焦于逻辑 api_keyos.getenv(OPENAI_API_KEY) ) # 2. 创建记忆用于保持多轮对话上下文 memory ConversationBufferMemory(memory_keychat_history, return_messagesTrue)4.2 构建规则提示模板我们将苏格拉底规则分解为几个核心阶段并为每个阶段创建独立的提示模板。# 定义系统角色奠定“苏格拉底式教练”的基调 system_prompt SystemMessage(content你是一位严格而友善的苏格拉底式思考教练。你的目标不是直接给出答案而是通过一系列问题引导用户或AI思考者深入、批判性地思考问题本身。你注重概念的清晰性、假设的合理性、证据的充分性和视角的全面性。每次交互请聚焦于一个思考阶段。) # 阶段1概念澄清模板 clarification_prompt ChatPromptTemplate.from_messages([ system_prompt, HumanMessage(content思考者提出了以下初始问题或陈述 「{user_input}」 作为思考教练你的第一个任务是帮助澄清核心概念。请生成3到5个关键问题这些问题旨在明确上述输入中模糊、多义或范围不清的术语和边界。你的问题应该具体、有引导性。 请直接输出问题列表每个问题占一行。) ]) # 阶段2假设检验模板 assumption_prompt ChatPromptTemplate.from_messages([ system_prompt, MessagesPlaceholder(variable_namechat_history), # 引入历史包含澄清阶段的结果 HumanMessage(content基于之前的概念澄清我们现在对问题有了更清晰的定义。现在请深入挖掘隐藏在这个问题或任何初步思路背后的关键假设。请 1. 列出至少3个重要的潜在假设。 2. 对每个假设判断它是关于事实、价值还是因果关系。 3. 简要评估该假设的坚实程度牢固/可质疑/脆弱。 请以表格形式假设 | 类型 | 坚实程度输出。) ]) # 阶段3证据与视角模板 evidence_perspective_prompt ChatPromptTemplate.from_messages([ system_prompt, MessagesPlaceholder(variable_namechat_history), # 包含澄清和假设的历史 HumanMessage(content我们已经明确了概念并检验了假设。现在针对问题的核心请进行以下思考 A. 论证构建如果我们要支持某个主流观点或方案请列举需要哪些关键证据或理由至少3项并说明每种证据的理想来源如用户调研数据、案例分析、逻辑推论等。 B. 多元视角请主动扮演两个立场截然不同的角色例如激进创新者 vs. 风险控制者客户 vs. 供应商分别从他们的角度提出对主流观点的质疑或补充。 请分A、B两部分清晰输出。) ]) # 阶段4综合回答模板 synthesis_prompt ChatPromptTemplate.from_messages([ system_prompt, MessagesPlaceholder(variable_namechat_history), # 包含之前所有思考阶段的历史 HumanMessage(content回顾我们之前所有的思考对话概念澄清、假设检验、证据与视角分析现在请你整合所有洞见形成一个全面、平衡、结构清晰的最终回答以回应最初的思考主题「{user_input}」。 你的最终回答应包含以下部分 1. 重述基于澄清后的概念精确定义问题。 2. 核心分析在考虑过关键假设和多元视角后给出你的核心论点或方案。 3. 论证支撑简要引用之前讨论过的主要证据和理由。 4. 局限与说明明确指出你分析中仍然存在的假设或不确定性。 请开始你的综合陈述。) ])4.3 组装自动化思考链现在我们将这些模板串联起来形成一个自动化的思考工作流。from langchain.chains import SequentialChain # 创建各个阶段的链 clarification_chain LLMChain(llmllm, promptclarification_prompt, output_keyclarification_qs, memorymemory) assumption_chain LLMChain(llmllm, promptassumption_prompt, output_keyassumptions, memorymemory) evidence_chain LLMChain(llmllm, promptevidence_perspective_prompt, output_keyevidence_perspective, memorymemory) synthesis_chain LLMChain(llmllm, promptsynthesis_prompt, output_keyfinal_answer, memorymemory) # 由于LangChain的SequentialChain对复杂记忆处理不够灵活我们手动模拟流程 def socratic_thinking_workflow(user_query): print(f用户原始问题: {user_query}\n) # 步骤1概念澄清 print( 阶段1概念澄清 ) clarification clarification_chain.run(user_inputuser_query) print(clarification) # 这里可以设计让用户或系统自动回答这些问题也可以让LLM基于常识自问自答。 # 为简化演示我们假设模型内省后直接进入下一阶段。 memory.save_context({input: user_query}, {output: f概念澄清问题已生成{clarification}}) # 步骤2假设检验 print(\n 阶段2假设检验 ) assumptions assumption_chain.run(user_inputuser_query) print(assumptions) memory.save_context({input: 进行假设检验}, {output: f识别出的假设{assumptions}}) # 步骤3证据与视角 print(\n 阶段3证据与多元视角 ) evidence evidence_chain.run(user_inputuser_query) print(evidence) memory.save_context({input: 寻找证据与不同视角}, {output: f证据与视角分析{evidence}}) # 步骤4综合回答 print(\n 阶段4综合回答 ) final_answer synthesis_chain.run(user_inputuser_query) print(final_answer) return final_answer # 运行示例 if __name__ __main__: question 我们公司是否应该立刻全面拥抱生成式AI final_output socratic_thinking_workflow(question)这个工作流模拟了“苏格拉底式”思考的完整过程。在实际应用中你可以将每个阶段的输出展示给用户形成交互式对话也可以全部由AI自动完成最后只呈现综合答案但保留查看中间步骤的选项。4.4 参数调优与成本控制使用这种多步提示法最大的挑战是Token消耗和成本。模型选择对于概念澄清、假设检验这类需要较强理解力和分析力的步骤使用能力更强的模型如GPT-4是值得的。对于最后的综合陈述如果问题不极端复杂可以考虑使用GPT-3.5-Turbo来降低成本。温度Temperature在整个思考链中建议将温度设置在0.1到0.3之间。低温度能确保模型更专注于逻辑和指令遵循减少不相关的“创造性”发散这对于严谨的思辨过程至关重要。最大Token数为每个阶段的输出设置合理的max_tokens限制防止模型在某个步骤过度展开导致不必要的消耗和上下文溢出。缓存中间结果对于重复性较高的问题类型可以考虑缓存前几个阶段如概念澄清、通用假设的结果避免每次会话都从头开始计算。5. 常见问题、排查技巧与实战心得在实际应用socratic-rules理念的过程中我遇到了不少典型问题也总结出一些让这套方法更高效、更实用的技巧。5.1 常见问题与解决方案问题现象可能原因解决方案与排查技巧模型陷入循环提问澄清概念阶段的问题过于开放或抽象模型无法自答又无外部输入。1.设定自答机制在澄清模板中指令模型“在提出澄清问题后基于最合理的常识给出你的初步定义以便推进讨论”。2.提供选项对于关键术语在提示中给出2-3个常见定义选项让模型选择并说明理由。输出变得冗长且重复模型在每一阶段都试图复述全部历史导致上下文膨胀新思考的篇幅被压缩。1.使用摘要记忆用ConversationSummaryMemory替代ConversationBufferMemory定期自动总结历史对话而非完整保留。2.在提示中明确指令在后续阶段的提示开头强调“请基于讨论的精髓进行思考无需重复之前的具体内容”。“反对观点”流于形式模型生成的反对意见总是“另一方面也有人认为…”缺乏杀伤力和具体性。具体化反对者如前所述不要笼统地要求“考虑不同观点”而是指定具体的、有血有肉的角色如“一位有五年经验但厌恶变革的资深工程师”、“一个预算紧张的部门主管”并描述其核心关切。最终答案仍显平淡尽管走了流程但最终输出似乎没有深度融合前几个阶段的思考成果。强化综合提示的连接性在最终的综合提示中明确要求引用前序步骤的具体产出。例如“请特别参考你在阶段2中关于‘假设A’脆弱性的分析以及在阶段3中‘风险控制者’视角提出的‘X风险’将这些点融入你的最终建议中。”API调用成本过高多轮交互导致Token消耗剧增。1.分层使用模型用大模型GPT-4做关键分析假设检验、多元视角用小模型GPT-3.5-Turbo做信息整理和最终润色。2.简化非核心步骤对于相对简单的问题可以合并“概念澄清”和“假设检验”步骤或减少每个步骤的输出长度限制。5.2 高级技巧与场景适配领域知识注入通用的苏格拉底规则有时会显得空洞。你可以为特定领域如法律、医疗、金融定制规则。例如在法律分析中加入“识别相关判例与法条”、“剖析对方可能的法律论点”等阶段。将领域专用的检查清单融入提示模板能极大提升输出专业性。与外部工具结合将这套方法论与检索增强生成RAG结合。在“寻找证据”阶段不让模型空想而是指令它生成一个搜索查询然后由RAG系统从知识库中获取相关文档再让模型基于真实文档进行分析。这解决了模型“虚构证据”的问题。用于提示工程本身这是我最喜欢的一个用法。当你为一个复杂任务编写初始Prompt时先不要直接使用而是把这个Prompt本身扔给“苏格拉底规则”引擎去审视“我这个Prompt里有哪些模糊的指令它隐含了哪些关于模型能力的假设这个Prompt可能引导出哪些有偏见的回答有哪些替代的提问方式” 这能帮助你写出更健壮、更中立的Prompt。可视化思考过程对于教育或演示场景可以将每个阶段的输出澄清的问题、假设列表、正反论据用思维导图或流程图的形式自动生成出来。这不仅能展示最终答案更能展示AI的“思考路径”极具说服力和启发性。5.3 我的核心实操心得始于清晰终于行动苏格拉底式提问的最终目的不是陷入无限的怀疑和辩论而是为了做出更明智的决定或产生更扎实的成果。因此在流程设计上一定要有一个明确的“收敛”阶段即我们的“综合回答”将发散性的思考收拢为可执行的结论或下一步行动计划。人机协作而非全权委托不要指望AI能完全独立完成完美的苏格拉底式思辨。最有效的模式是人机协作。AI负责进行大规模、不知疲倦的初步分析、提出质疑、列举可能性人类负责提供领域知识、进行最终的价值判断、在关键分歧点上做出决策。将AI视为一个超级强大的“批判性思维副驾驶”。规则是死的灵活是王道socratic-rules提供的是一套思维框架而不是必须步步遵循的僵化流程。对于简单问题可能只需要做“概念澄清”和“反面论证”两步对于极其复杂的问题可能需要在“证据”阶段拆分成多个子循环。根据任务的实际复杂度和时间成本动态调整规则的深度和广度。接受不完美关注相对提升即使应用了这套规则AI生成的答案也绝非完美仍可能包含错误或偏见。我们的目标不是追求100%的绝对正确而是追求相对于基线单次提示在逻辑严谨性、全面性和深度上的显著提升。只要能达到这个效果这套方法的价值就得到了体现。将jumasheff/socratic-rules的理念融入你的AI应用本质上是在为模型安装一个“慢思考”系统。它牺牲了一点速度却换来了深度、可靠性和可解释性。在越来越多的工作需要与AI协同深度思考的今天掌握如何引导AI进行结构化、批判性的思辨无疑是一项越来越重要的高阶技能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2611543.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…