当前位置: 首页 > article >正文

基于大语言模型的信息抽取实战:从提示工程到生产部署

1. 项目概述当信息抽取遇上大语言模型最近在信息抽取这个老行当里很多同行都在讨论一个开源项目pkuserc/ChatGPT_for_IE。乍一看标题你可能觉得这又是一个“用ChatGPT API做点事”的玩具项目但如果你像我一样在这个领域摸爬滚打了十几年从最早的基于规则、统计模型再到后来的深度学习一路踩坑过来你就会立刻意识到这个项目的分量——它试图用大语言模型去解决信息抽取领域里那些最顽固、最头疼的“脏活累活”。信息抽取是什么简单说就是从一堆非结构化的文本里像淘金一样把我们需要的关键信息给“挖”出来。比如从一篇新闻里自动提取出“谁、在什么时间、什么地点、做了什么事”从一份合同里找出“甲方、乙方、金额、交付日期”从一堆用户评论里总结出“产品优点、缺点、改进建议”。这活儿听起来简单做起来却处处是坑。传统方法要么依赖大量人工标注的语料去训练模型成本高、周期长要么规则写起来繁琐换个场景就得重写泛化能力差。而ChatGPT_for_IE这个项目核心思路就是利用以ChatGPT为代表的大语言模型强大的语义理解和指令跟随能力通过精心设计的提示词让模型直接完成命名实体识别、关系抽取、事件抽取等任务试图绕过传统方法里那些费时费力的环节。这个项目特别适合两类人一类是像我这样有一定信息抽取项目经验但苦于传统方法流程长、调优难想寻找新突破的工程师另一类是业务方或者数据分析师他们可能没有深厚的机器学习背景但手头有大量文本数据需要快速处理需要一个“开箱即用”、能通过自然语言对话来定制化抽取需求的工具。接下来我就结合自己对这个项目的深度研究和实际测试拆解一下它的核心设计、实操要点以及那些官方文档里不会告诉你的“坑”。2. 核心设计思路为什么是提示工程而不是微调2.1 传统信息抽取的“阿喀琉斯之踵”在深入这个项目之前我们必须先理解它要解决的根本问题。传统的信息抽取流水线无论是基于BERT的序列标注还是基于图神经网络的关系抽取都严重依赖“标注数据-模型训练-评估调优”这个循环。我经历过一个医疗领域的实体识别项目光是和领域专家一起定义实体类型、标注几千条病历就花了两个月。模型训练出来准确率勉强达到85%但一遇到新的病历书写习惯或者罕见的疾病描述效果就大幅下降。想提升那就得继续标注、迭代。这个过程的痛点非常明确成本高、周期长、泛化性弱。每一个新的领域、新的任务几乎都要从头开始。而大语言模型的出现尤其是ChatGPT展现出的惊人零样本和少样本学习能力让我们看到了另一种可能性能不能把抽取规则用自然语言描述出来直接“告诉”模型让它来执行2.2 提示工程作为新范式的优势ChatGPT_for_IE项目正是基于“提示工程”这一新范式构建的。它的核心假设是一个足够强大的大语言模型已经通过海量文本预训练内化了丰富的世界知识和语言模式。我们不需要用成千上万的标注样本去“教”它某个特定任务而是通过精心构造的提示词去“激发”它已有的能力。举个例子传统方法要识别“公司”实体我们需要准备大量包含“公司”的句子并标注出边界训练一个分类器。而用提示工程我们只需要在提示词里写“请从以下文本中找出所有公司的名称。公司通常是指进行商业活动的组织实体。” 模型就能基于它对“公司”这个概念的理解去执行识别任务。这种方式的优势显而易见开发效率极高无需标注数据几分钟内就能定义并测试一个新的抽取任务。灵活性强只需修改提示词就能轻松调整抽取的实体类型、关系定义甚至切换任务类型如从实体识别切换到情感分析。跨领域潜力大大语言模型的知识覆盖面广对于训练数据中少见的领域或专业术语也有一定的处理能力降低了领域迁移的难度。当然提示工程并非银弹。它的挑战在于如何设计出稳定、可靠、能精准控制模型输出的提示词。这正是ChatGPT_for_IE项目要解决的核心技术问题。3. 项目架构与核心模块拆解这个项目的代码结构清晰主要围绕如何构建、管理和优化针对信息抽取任务的提示词展开。我们可以把它理解为一个“提示词工程框架”。3.1 核心工作流解析项目的典型工作流可以概括为以下几步这也是我们实际使用时的操作顺序任务定义用户通过配置文件或代码定义需要抽取的信息结构。例如定义一个“新闻事件”抽取任务需要抽取“事件类型”、“参与人物”、“发生时间”、“发生地点”四个字段。提示词模板构建项目内部会根据任务定义自动组装成结构化的提示词。这个提示词通常包含任务指令、输出格式要求、以及少数几个示例Few-shot Learning。这是整个系统的“大脑”。调用大模型API将组装好的提示词和待处理的文本发送给后端的大语言模型API如OpenAI的ChatCompletion API。项目封装了调用细节提供了统一的接口。结果解析与后处理模型返回的是自然语言文本。项目需要将这些文本解析回结构化的数据如JSON。这一步涉及正则表达式、字符串匹配或依赖模型自身的结构化输出能力如要求模型输出JSON格式。评估与迭代对抽取结果进行评估根据错误案例分析和优化提示词模板形成闭环。3.2 关键代码模块深度解读我们来看几个核心的模块理解它们是如何协作的prompt_constructor.py(提示词构造器)这是项目的灵魂。它负责将用户的任务描述转化为模型能高效理解的提示词。一个好的提示词构造器通常会做以下几件事角色设定给模型赋予一个角色如“你是一个专业的信息抽取专家”。任务指令清晰化用明确、无歧义的语言描述任务。避免使用“找出相关信息”这种模糊表述而是用“请提取所有‘人名’实体并以列表形式输出”。提供输出格式范例这是保证结果可解析的关键。例如明确要求“请以JSON格式输出包含entities字段该字段是一个列表每个元素有type和name两个键”。融入少样本示例提供2-3个高质量的输入-输出对让模型通过示例学习任务模式。示例的选择至关重要需要覆盖不同的表达方式。model_invoker.py(模型调用器)这个模块封装了与大模型API的交互。它需要处理API参数调优temperature控制随机性信息抽取通常设为较低值如0.1以保证稳定性、max_tokens控制生成长度、top_p等。这些参数会显著影响输出结果。错误处理与重试网络超时、API限流、模型过载等情况的处理策略。成本控制记录token消耗对于大规模处理成本是需要严肃考虑的因素。result_parser.py(结果解析器)模型返回的文本可能五花八门。解析器的任务就是将其标准化。策略包括强制JSON输出在提示词中严格要求模型输出JSON然后使用json.loads()解析。这是最理想的情况。正则表达式兜底当模型输出不规范时用正则表达式去匹配关键信息。基于规则的修正针对常见错误模式如多余的空格、标点编写规则进行清洗。注意在实际使用中我发现即使要求输出JSON模型偶尔也会在JSON外加一些解释性文字。一个稳健的解析器需要能处理这种情况例如先尝试定位文本中的第一个{和最后一个}。4. 实战演练从零构建一个合同关键信息抽取器理论说得再多不如动手做一遍。假设我们现在有一个新需求从大量的采购合同文本中自动抽取“买方公司”、“卖方公司”、“合同总金额”、“签约日期”和“交付截止日期”这五个关键信息。4.1 环境准备与项目初始化首先克隆项目并搭建环境。这里假设你已经有了OpenAI的API Key。git clone https://github.com/pkuserc/ChatGPT_for_IE.git cd ChatGPT_for_IE pip install -r requirements.txt接下来在项目根目录下创建一个配置文件config/contract_extraction.yaml用来定义我们的任务。task_name: contract_key_info_extraction task_type: structured_extraction # 结构化抽取 target_fields: - name: buyer description: 采购方即合同中支付货款的一方通常是公司全称。 type: string - name: seller description: 销售方即合同中提供货物或服务的一方通常是公司全称。 type: string - name: total_amount description: 合同约定的总金额需包含数字和货币单位如人民币、USD。 type: string - name: sign_date description: 合同双方签署的日期格式为YYYY-MM-DD。 type: date - name: delivery_deadline description: 合同约定的最终交付货物或完成服务的截止日期格式为YYYY-MM-DD。 type: date few_shot_examples: - input: 本合同由甲方北京星辰科技有限公司以下简称‘甲方’与乙方上海腾飞软件有限公司以下简称‘乙方’共同订立。合同总金额为人民币伍拾万元整¥500,000.00。本合同自双方签字盖章之日起生效即2023-10-26。乙方需在2023-12-31日前完成全部软件的交付与安装。 output: | { buyer: 北京星辰科技有限公司, seller: 上海腾飞软件有限公司, total_amount: 人民币伍拾万元整¥500,000.00, sign_date: 2023-10-26, delivery_deadline: 2023-12-31 }这个配置文件清晰地定义了我们要抽什么以及每个字段的含义。提供的示例Few-shot非常关键它直接展示了文本和期望输出的对应关系。4.2 编写核心调用脚本然后我们编写一个Python脚本run_contract_extraction.py来驱动整个流程。import yaml import openai import json import re from pathlib import Path # 加载配置 config_path Path(config/contract_extraction.yaml) with open(config_path, r, encodingutf-8) as f: config yaml.safe_load(f) # 设置OpenAI API Key (请替换为你的Key或从环境变量读取) openai.api_key your-api-key-here def construct_prompt(contract_text, config): 构建提示词 task_desc f 你是一个专业的合同分析助理。你的任务是从给定的合同文本中精确提取出指定的关键信息。 请严格按照以下要求执行 1. 只提取文本中明确提及的信息不要推断或添加任何文本中没有的内容。 2. 输出必须是一个合法的JSON对象且只包含以下五个字段{, .join([f[name] for f in config[target_fields]])}。 3. 如果某个字段在文本中找不到对应信息该字段的值设为 null。 # 添加字段描述 fields_desc \n字段定义\n for field in config[target_fields]: fields_desc f- {field[name]}: {field[description]}\n # 添加少样本示例 examples \n示例\n for example in config[few_shot_examples]: examples f输入文本{example[input]}\n examples f输出{example[output]}\n\n # 组装完整提示词 full_prompt f{task_desc}\n{fields_desc}\n{examples}\n现在请处理以下合同文本\n\n{contract_text}\n\n\n请输出JSON return full_prompt def call_chatgpt(prompt): 调用ChatGPT API try: response openai.ChatCompletion.create( modelgpt-3.5-turbo, # 或 gpt-4 messages[{role: user, content: prompt}], temperature0.1, # 低温度确保输出稳定 max_tokens500, ) return response.choices[0].message.content.strip() except Exception as e: print(fAPI调用失败: {e}) return None def parse_model_output(raw_output): 解析模型返回的文本提取JSON # 方法1尝试直接解析为JSON try: # 尝试找到第一个{和最后一个} start raw_output.find({) end raw_output.rfind(}) 1 if start ! -1 and end ! 0: json_str raw_output[start:end] return json.loads(json_str) except json.JSONDecodeError: pass # 方法2如果失败使用正则表达式进行兜底提取针对简单情况 # 这里以提取金额为例实际应用需要为每个字段编写复杂的正则 print(警告无法直接解析为JSON尝试正则匹配...) result {} # ... 这里编写针对每个字段的正则匹配逻辑 ... # 例如金额匹配 amount_pattern r(人民币|USD|美元)?\s*[\d,](?:\.\d)?\s*(?:元|万元|亿美元)? match re.search(amount_pattern, raw_output) if match: result[total_amount] match.group() return result def main(): # 待处理的合同文本 test_contract 采购合同 甲方需方深圳创新电子集团 乙方供方杭州精密部件有限公司 经双方友好协商就甲方向乙方采购一批电路板事宜达成如下协议 1. 合同总价共计捌拾伍万元人民币¥850,000.00。 2. 本合同于二零二三年十一月十五日签订。 3. 乙方应于2024年1月20日前将全部货物运抵甲方指定仓库。 4. 付款方式货到付清。 # 1. 构建提示词 prompt construct_prompt(test_contract, config) print( 构建的提示词前500字符) print(prompt[:500] ...\n) # 2. 调用模型 print( 调用模型中... ) raw_result call_chatgpt(prompt) if not raw_result: print(模型调用失败退出。) return print( 模型原始输出 ) print(raw_result) print() # 3. 解析结果 print( 解析后的结构化结果 ) structured_result parse_model_output(raw_result) print(json.dumps(structured_result, ensure_asciiFalse, indent2)) if __name__ __main__: main()运行这个脚本你就能看到从一段合同文本到结构化JSON的完整过程。这个例子展示了项目的核心使用模式定义任务 - 构建提示 - 调用API - 解析结果。4.3 参数调优与稳定性提升技巧在实际使用中直接调用可能效果不稳定。以下是几个提升效果的关键技巧Temperature参数对于信息抽取这种需要确定性和准确性的任务务必设置较低的temperature如0.1或0。过高的值会导致输出随机同一段文本多次运行结果不一致。系统消息System Message除了在用户消息中写指令还可以利用ChatCompletion API的system角色消息来更稳固地设定模型行为。例如messages[ {role: system, content: 你是一个严谨的法律文档信息提取助手。你必须严格按照用户指令输出指定格式的JSON不添加任何额外解释。}, {role: user, content: prompt} ]后处理校验对解析出的结果增加校验逻辑。例如检查“签约日期”是否是一个合法的日期格式检查“金额”字段是否包含数字。这能过滤掉一部分模型的“幻觉”输出。重试与降级策略当API调用失败或返回结果无法解析时应有重试机制。如果多次重试失败可以考虑降级到基于规则的正则表达式提取作为保底方案。5. 深入剖析提示词设计的艺术与科学项目的成败八成取决于提示词的设计。这里分享一些我踩过坑后总结出的提示词设计心法。5.1 指令的明确性与约束性模糊的指令得到模糊的结果。对比以下两种指令差“从文本里找出公司和金额。”好“请从以下文本中精确提取‘买方公司全称’和‘合同总金额’两个信息。‘买方公司’是指承担付款义务的法人实体名称‘合同总金额’需包含数字和货币单位如‘100万元人民币’。如果文本中未明确提及则对应字段输出为‘未提及’。请以JSON格式输出键名分别为buyer和total_amount。”好的指令明确了1) 要提取的对象2) 对象的精确定义3) 缺失情况的处理方式4) 输出的格式。这极大地减少了模型的猜测空间。5.2 少样本示例的选取与构造Few-shot示例不是随便找几个例子就行。优质的示例应该覆盖多样性示例应覆盖目标信息在文本中可能出现的不同位置和表达方式。比如金额可能写作“¥500,000”、“五十万元”、“总价50万”。体现难点故意包含一些容易混淆的情况。例如在合同中公司名称可能出现在“甲方XXX公司”也可能出现在“以下简称‘甲方’”后面才出现全称。示例应该展示如何正确关联这些信息。输出格式标准化所有示例的输出格式必须严格一致为模型树立“榜样”。5.3 处理复杂逻辑与长文本当抽取逻辑复杂或文本很长时单次提示可能效果不佳。可以尝试以下策略分步提示先让模型进行文本摘要或分段再对关键段落进行细粒度抽取。例如“第一步请概括本合同的核心条款。第二步从你的概括中提取金额和日期。”思维链提示引导模型展示推理过程。例如“要找到交付日期首先需要找到关于‘交付’或‘完成’的条款然后在该条款附近寻找日期表述。根据此思路文本中的交付日期是...”处理超长文本GPT模型有上下文长度限制。对于超长合同需要先进行文本分割。分割时要注意语义完整性切勿在句子中间或关键条款处切断。可以将合同按“章节”或“条款”进行分割。6. 性能、成本与局限性理想与现实的差距在兴奋之余我们必须冷静看待这项技术的现状。基于提示工程的信息抽取有其明显的优势和不容忽视的短板。6.1 性能评估维度我们不能只看一两个例子就说它好或不好需要系统评估准确率与召回率在测试集上计算。你会发现对于定义清晰、表述规范的字段如格式标准的日期、金额准确率可以很高95%。但对于模糊实体如“产品规格描述”、或需要复杂推理的关系如“A是B的控股子公司而B是C的供应商那么A和C是什么关系”效果会大打折扣。稳定性同一段文本多次运行即使temperature0是否总能得到相同结果对于关键业务输出不稳定是不可接受的。泛化能力在训练示例Few-shot未覆盖到的文本类型或表述方式上表现如何例如用中文合同训练的提示词处理英文合同时效果如何6.2 成本分析使用OpenAI API是按Token可以粗略理解为单词/字计费的。处理海量文本时成本会迅速攀升。一个简单的估算假设平均每份合同有2000字中文字符约等于Token数。你的提示词模板有500 Token。使用gpt-3.5-turbo模型输入输出总成本约为$0.002 / 1K tokens。处理一份合同的成本约为(2000 500) * 0.002 / 1000 $0.005。处理10万份合同成本就是500美元。这还不包括可能需要的多次调试和重试。对于内部部署或对成本敏感的场景可以考虑使用开源的、参数量较小的模型如ChatGLM、Qwen、Llama等通过类似LoRA的方式进行微调虽然初期有微调成本但长期推理成本几乎为零。6.3 核心局限性“幻觉”问题模型可能会生成文本中不存在的信息。例如合同里没写金额它却编造了一个。必须通过严格的输出校验和后处理来防范。对提示词高度敏感提示词措辞、示例顺序的微小变化都可能导致输出结果的显著差异。这给生产环境的稳定性带来了挑战。处理超长上下文能力有限虽然上下文窗口在不断扩大但处理上百页的文档仍然困难且长上下文下的注意力机制可能导致关键信息被忽略。实时性与延迟API调用存在网络延迟对于需要毫秒级响应的场景不适用。数据隐私与合规将企业内部的敏感合同、客户数据发送到第三方API存在数据安全和隐私合规风险。这是许多金融、法律机构无法接受的。7. 生产级部署建议与避坑指南如果你真的打算将这套方案用于生产环境以下是我总结的几点硬核建议7.1 架构设计混合策略不要把所有鸡蛋放在一个篮子里。采用“LLM 传统方法”的混合架构是更稳健的选择。第一层规则/正则表达式对于格式极其固定、规则明确的信息如身份证号、统一社会信用代码直接用正则表达式提取速度快、成本零、准确率100%。第二层微调的小模型对于常见、但表述有一定变化的实体如公司名、产品名使用在领域数据上微调过的BERT类小模型。它们推理速度快本地部署隐私有保障。第三层大语言模型提示工程只将前两层处理不了、或置信度不高的复杂文本片段交给LLM处理。这样可以严格控制成本并降低对LLM的依赖。7.2 构建评估与监控体系上线不是终点而是开始。建立黄金测试集收集一批标注好的、覆盖各种边缘案例的测试数据。每次优化提示词或更新模型后都在这个测试集上跑一遍监控各项指标的变化。实现人工复核流水线对于LLM抽取的结果尤其是关键业务数据如合同金额设计一个轻量级的人工复核界面。可以将置信度低的结果自动推送给人眼核查。日志与溯源详细记录每一次API调用的输入提示词、输出、耗时、消耗Token数。当出现错误时可以快速溯源分析是提示词问题、模型问题还是数据问题。7.3 提示词版本管理与A/B测试像管理代码一样管理你的提示词。使用Git对提示词模板进行版本控制。可以设计A/B测试将不同的提示词版本例如一个版本强调“精确”一个版本强调“全面”同时部署一小部分流量对比它们的准确率和召回率用数据驱动优化。7.4 我踩过的那些“坑”日期格式混乱模型有时会把“2023年10月1日”输出为“2023-10-01”有时又会输出“2023/10/1”。必须在提示词里严格规定输出格式并在后处理中增加日期格式化统一模块。货币单位遗漏模型提取了“100万”但漏掉了“人民币”。在定义字段描述时要强调“必须包含货币单位”。长文本信息丢失处理长合同时模型可能只关注了开头和结尾忽略了中间的重要条款。解决方案是采用“分而治之”的策略先按章节分割再分别抽取最后合并结果。API超时与限流在批量处理时务必加入指数退避的重试机制并做好任务队列避免因API限制导致任务中断。pkuserc/ChatGPT_for_IE这个项目为我们打开了一扇窗让我们看到了大语言模型重塑信息抽取工作流的巨大潜力。它极大地降低了原型验证和简单任务开发的成本。然而将其应用于严肃的生产环境我们必须清醒地认识到它在成本、稳定性、隐私方面的局限。我的经验是将它视为一个强大的“增强工具”而非“替代方案”与传统方法结合构建一个层次化、可解释、可监控的混合系统才是当前阶段最务实和可靠的技术路线。这个项目最大的价值在于它提供了一套可复现的方法论和代码框架让我们可以快速实验和迭代至于最终能走多远取决于我们如何用它去解决真实世界那些复杂、多变的问题。

相关文章:

基于大语言模型的信息抽取实战:从提示工程到生产部署

1. 项目概述:当信息抽取遇上大语言模型最近在信息抽取这个老行当里,很多同行都在讨论一个开源项目:pkuserc/ChatGPT_for_IE。乍一看标题,你可能觉得这又是一个“用ChatGPT API做点事”的玩具项目,但如果你像我一样&…...

Seelen UI定制化桌面

链接:https://pan.quark.cn/s/0d0312d1a6d1Seelen UI是适用于 Windows 10/11的第一个基于 Web 的完全可定制的桌面环境,提供了一种直观而强大的方式来管理和自定义您的工作区。提升工作效率与体验,满足不同用户的需求。...

强力解密RPG Maker加密文件:新手快速上手指南

强力解密RPG Maker加密文件:新手快速上手指南 【免费下载链接】RPGMakerDecrypter Tool for decrypting and extracting RPG Maker XP, VX and VX Ace encrypted archives and MV and MZ encrypted files. 项目地址: https://gitcode.com/gh_mirrors/rp/RPGMakerD…...

LeAgent多智能体协作框架:从任务规划到实战部署的完整指南

1. 项目概述:当AI学会“派活”,一个智能体协作框架的诞生最近在折腾AI智能体(Agent)开发的朋友,估计都绕不开一个核心痛点:单个智能体能力再强,面对复杂任务也常常力不从心。比如,你…...

README工匠技能:从自动化工具到工程化实践,打造项目黄金门面

1. 项目概述:一个为README注入灵魂的“工匠”技能 在开源社区和项目协作中,README文件就是项目的“门面”和“说明书”。一个优秀的README,能瞬间抓住潜在用户或贡献者的眼球,清晰地传达项目价值、快速引导上手,甚至能…...

CipherGuard:编译器级密文侧信道攻击防护技术解析

1. CipherGuard技术背景与核心挑战密文侧信道攻击(Ciphertext Side-Channel Attacks)已成为现代可信执行环境(TEE)中最棘手的安全威胁之一。这类攻击不直接破解加密算法本身,而是通过分析加密操作执行过程中产生的内存…...

OpenCrab:面向中文开发者的开源项目导航与协作平台架构实践

1. 项目概述:一个面向中文开发者的开源螃蟹?第一次在GitHub上看到opencrab-cn/opencrab这个仓库名时,我愣了一下。OpenCrab?开源螃蟹?这名字听起来既有趣又让人摸不着头脑。点进去一看,发现这并非一个关于海…...

招募Kiro大使!会员权益、内测资格等重磅福利等你领!

亚马逊云科技上线了Kiro社区中心与Kiro Labs,旨在为开发者打造一个发现资源、交流联结、共同成长的专属阵地。目前已有不少开发者主动向项目专区投稿作品、分享活动信息,与众多开发者互帮互助一同成长。现在,亚马逊云科技将社区建设再往前推进…...

Agent-Harness:为AI编码助手套上“缰绳”的工程化框架

1. 项目概述:为什么你的AI编码助手总是“犯傻”?如果你和我一样,已经深度使用过Cursor、Windsurf或者Claude Code这类AI编码助手,那你一定经历过这样的挫败时刻:你满怀期待地让它去修改一个复杂的函数,结果…...

五分钟 熟悉所有Claude Code指令

废话不多说&#xff0c;直接上干货&#xff0c;点赞收藏一、 启动与退出cd xx #进入你的项目 claude start # 启动 Claude Code claude exit # 退出二、查看帮助claude /help # 显示所有命令及使用说明 claude /status # 查看当前会话状态三、文件操作claude /add <file&g…...

还在为外语游戏和视频发愁?这款实时屏幕翻译神器让你秒懂一切!

还在为外语游戏和视频发愁&#xff1f;这款实时屏幕翻译神器让你秒懂一切&#xff01; 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Tra…...

YOLO26改进 | featurefusion |红外小目标检测的自适应多尺度细节保融模块

&#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 本文给大家带来的教程是将YOLO26的特征融合替换为DPCF来提取特征。文章在介绍主要的原理后&#xff0c;将手把手教学如何进行模块的代码添加和…...

ARM内存访问指令LDRB与LDREX详解及应用

1. ARM内存访问指令概述在嵌入式系统开发中&#xff0c;对内存的高效访问是保证程序性能的关键。ARM架构提供了丰富的内存访问指令集&#xff0c;其中LDRB和LDREX是两种具有代表性的指令。LDRB&#xff08;Load Register Byte&#xff09;用于从内存加载字节数据&#xff0c;而…...

2026最权威的降重复率神器解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 降低人工智能部署以及应用阶段的优化&#xff0c;需要从算力调度、算法剪枝以及参数压缩这三…...

Decepticon:基于AI的自主红队平台架构与实战解析

1. 项目概述&#xff1a;Decepticon&#xff0c;一个为专业红队而生的自主黑客智能体在网络安全领域&#xff0c;尤其是红队测试中&#xff0c;我们常常面临一个困境&#xff1a;攻击面在指数级增长&#xff0c;而人的精力和时间却是线性的。传统的渗透测试工具链虽然强大&…...

全栈开发真的是万能解药吗?3年全栈开发者的血泪教训

一、从测试视角看全栈热&#xff1a;光环下的误解作为软件测试从业者&#xff0c;你一定不止一次在行业论坛、招聘启事里看到“全栈开发”这四个字。它像一个自带聚光灯的概念&#xff0c;被描绘成能独当一面解决所有技术问题的“万能解药”——前端页面布局、后端逻辑搭建、数…...

dotfiles工程化:用Git与符号链接打造可移植的开发环境

1. 项目概述&#xff1a;dotfiles 是什么&#xff0c;以及为什么你需要它如果你在终端里敲命令的时间超过了你用鼠标点来点去的时间&#xff0c;那你大概率已经听说过dotfiles了。简单来说&#xff0c;dotfiles就是你系统里那些以点&#xff08;.&#xff09;开头的配置文件&am…...

专利价值评估实战:从技术保护到商业竞争的核心方法论

1. 专利资产价值评估&#xff1a;从“纸面权利”到“商业武器”的实战拆解在科技行业摸爬滚打十几年&#xff0c;我见过太多公司手握一堆专利证书&#xff0c;却说不清它们到底值多少钱。这感觉就像你家里藏了一箱古董&#xff0c;只知道它们“可能很值钱”&#xff0c;但具体哪…...

PowerToys Awake:如何彻底解决Windows休眠中断工作的烦恼?

PowerToys Awake&#xff1a;如何彻底解决Windows休眠中断工作的烦恼&#xff1f; 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/GitHub_Trendi…...

RAG:解锁大语言模型新能力,告别幻觉与知识陈旧!

本文深入解析了检索增强生成&#xff08;RAG&#xff09;架构&#xff0c;旨在解决传统大语言模型因知识局限而产生的幻觉、陈旧等问题。RAG通过在生成答案前检索外部知识库&#xff0c;提升回答的准确性和时效性。文章详细介绍了RAG的架构类型&#xff08;如无微调、检索器微调…...

Rust微信SDK实战:构建高性能、类型安全的微信机器人

1. 项目概述与核心价值 最近在折腾一些需要与微信生态深度交互的自动化项目&#xff0c;比如自动回复、消息监控、群管理工具等。这类需求在电商客服、社群运营、企业内部流程自动化等场景下非常普遍。传统的做法往往是基于官方提供的HTTP API&#xff0c;自己封装请求、处理复…...

基于MCP协议构建安全可控的AI智能体数据接入层

1. 项目概述&#xff1a;一个为智能体打造的“安全印章”与“情报中枢”最近在折腾AI智能体&#xff08;Agent&#xff09;的开发与集成&#xff0c;发现一个挺有意思的现象&#xff1a;大家把模型能力、工具调用这些“上层建筑”都玩得很溜&#xff0c;但一涉及到让智能体安全…...

电子束光刻掩模误差建模与校正技术解析

1. 电子束光刻中的掩模误差来源解析在半导体制造领域&#xff0c;电子束光刻技术因其高分辨率特性而被广泛应用于掩模制作。然而&#xff0c;这一工艺过程中产生的掩模误差会直接影响最终芯片的图形精度和良率。理解这些误差的物理成因是进行有效校正的前提。1.1 电子散射效应的…...

嵌入式开发中CHM文件的应用与优化

1. CHM文件在嵌入式开发中的核心价值CHM&#xff08;Compiled HTML Help&#xff09;作为微软推出的编译型帮助文档格式&#xff0c;在嵌入式开发领域已经服役超过20年。这种将HTML文档、索引和搜索功能打包成单一文件的格式&#xff0c;特别适合Keil MDK这类嵌入式开发环境的技…...

IC测试插座技术解析与市场应用实践

1. 行业背景与奖项意义解析在电子制造领域&#xff0c;互连产品如同精密仪器中的"神经末梢"&#xff0c;承担着信号传输与能量供给的关键职能。IC测试插座和老化插座作为其中的核心组件&#xff0c;其性能直接影响半导体器件从研发验证到批量生产的全流程可靠性。这类…...

从A*到平滑:拉绳算法如何为游戏角色“剪裁”最优路径

1. 游戏寻路为什么需要平滑处理&#xff1f; 想象一下你在玩一款开放世界游戏&#xff0c;控制角色从城堡出发前往远处的森林。如果直接使用A*算法生成的路径&#xff0c;角色可能会像喝醉酒一样左右摇摆&#xff0c;贴着导航网格的边缘移动。这种"锯齿状路径"不仅看…...

为什么需要做GEO优化?AI新时代的商业规则探索

2026年&#xff0c;一个加速蔓延的商业现象正在发生&#xff1a;消费者不再打开搜索引擎、翻阅列表、逐条点击蓝色链接——他们直接打开DeepSeek、豆包、Kimi等AI助手&#xff0c;用一句完整的话发起提问&#xff1a;“这个价位哪个品牌最值得买&#xff1f;”“敏感肌用什么护…...

2026年京东云环境OpenClaw / Hermes Agent 配置 Token Plan部署怎么搞?详细解读

2026年京东云环境OpenClaw / Hermes Agent 配置 Token Plan部署怎么搞&#xff1f;详细解读。OpenClaw是开源的个人AI助手&#xff0c;Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼T…...

保姆级教程:用WorkVisual 6.0从零搭建KUKA机器人控制系统(含项目分析避坑)

保姆级教程&#xff1a;用WorkVisual 6.0从零搭建KUKA机器人控制系统&#xff08;含项目分析避坑&#xff09; 刚接触KUKA机器人的工程师&#xff0c;面对复杂的控制系统搭建往往无从下手。WorkVisual作为KUKA官方开发环境&#xff0c;其6.0版本在工业机器人领域已成为主流配置…...

3分钟掌握:如何在Windows电脑上直接运行安卓应用?APK安装器终极指南

3分钟掌握&#xff1a;如何在Windows电脑上直接运行安卓应用&#xff1f;APK安装器终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上直接安装…...