CodeAct范式:让大模型通过代码执行增强复杂任务处理能力

news2026/3/14 17:41:00
1. CodeAct是什么为什么说它让大模型“长出了手”大家好我是老张在AI和智能硬件这行摸爬滚打了十几年。今天想和大家聊聊一个最近让我特别兴奋的技术范式——CodeAct。你可能已经听腻了各种“智能体”、“Agent”的概念感觉它们除了能和你聊天好像也干不了什么实事。CodeAct的出现就是为了解决这个痛点让大模型不仅能“想”更能“做”。简单来说CodeAct的核心思想是让大模型生成可执行的代码然后在安全的环境里运行这段代码最后把运行结果反馈给模型让它继续思考下一步。这和我们熟悉的ReAct范式思考-行动-观察有点像但行动的方式从“调用工具”变成了“生成并执行代码”。你可以把它想象成以前的大模型是个聪明的军师只能给你出谋划策而有了CodeAct这个军师自己就能挽起袖子写代码、跑程序把想法直接变成现实。我为什么觉得这事儿重要因为大模型有个天生的短板它不擅长精确计算和直接操作现实世界。你让它算个复杂点的数学题或者根据数据画张图它很可能给你一个“听起来很对”但实际上是错的答案。这不是它笨而是它的本质是一个基于概率的语言模型不是计算器也不是绘图软件。CodeAct相当于给大模型配了一个“代码执行器”作为外挂让它能用自己最擅长的“编程语言”去解决这些它原本不擅长的问题。举个例子你问大模型“帮我算一下从1加到100的总和。”它可能会直接告诉你答案是5050这个答案是对的但过程是“背”出来的。如果你问一个更复杂、它没“背”过的问题比如“计算前100个斐波那契数列中所有偶数的和”它可能就开始胡诌了。但如果你让一个CodeAct智能体来处理它会先生成一段Python代码来计算这个数列并求和然后执行这段代码最后把准确无误的结果交给你。这个过程才是真正的“思考并解决问题”。2. CodeAct最适合在哪些场景大显身手CodeAct不是万能的但在一些特定场景下它的优势非常明显。根据我这段时间的实践和观察下面这几类任务特别适合交给CodeAct智能体来处理。2.1 复杂计算与数学推理这是CodeAct的“主场”。大模型自己“心算”容易出错但写代码是它的强项。无论是解方程、做微积分、进行统计分析还是处理复杂的逻辑推理问题让模型生成代码来执行准确率能提升好几个数量级。我试过一个很经典的例子“有一个水池单独打开A水管6小时能注满单独打开B水管8小时能注满池底有一个C排水管单独打开12小时能排空。如果三管齐开需要多少小时能注满水池”这是一个典型的工程问题。如果你直接问大模型它很可能会在分数计算上出错。但用CodeAct模型生成的代码会像下面这样清晰且准确# 计算三管齐开注满水池所需时间 rate_a 1 / 6 # A管每小时注水速率 rate_b 1 / 8 # B管每小时注水速率 rate_c -1 / 12 # C管每小时排水速率负值 combined_rate rate_a rate_b rate_c time_to_fill 1 / combined_rate # 总工作量1除以联合速率 print(f三管齐开注满水池需要 {time_to_fill} 小时)执行这段代码立刻就能得到精确结果4.8小时。这种需要精确数学运算的场景CodeAct的优势无可替代。2.2 数据处理、分析与可视化在日常工作中我们经常需要处理Excel表格、CSV数据或者从数据库里拉出一堆数据来做分析、画图表。以前你得自己写Pandas代码或者用Excel函数。现在你可以直接对CodeAct智能体说“帮我分析一下销售数据.csv计算每个季度的总销售额和同比增长率并用折线图画出来。”模型会生成类似下面的代码骨架并自动执行import pandas as pd import matplotlib.pyplot as plt # 读取数据 df pd.read_csv(销售数据.csv) # 转换日期列按季度分组 df[日期] pd.to_datetime(df[日期]) df[季度] df[日期].dt.to_period(Q) quarterly_sales df.groupby(季度)[销售额].sum().reset_index() # 计算同比增长率 quarterly_sales[同比增长率] quarterly_sales[销售额].pct_change(periods4) * 100 # 可视化 fig, ax1 plt.subplots(figsize(10, 6)) ax1.plot(quarterly_sales[季度].astype(str), quarterly_sales[销售额], markero, colorb, label销售额) ax1.set_ylabel(销售额元, colorb) ax2 ax1.twinx() ax2.plot(quarterly_sales[季度].astype(str), quarterly_sales[同比增长率], markers, colorr, linestyle--, label同比增长率) ax2.set_ylabel(同比增长率%, colorr) plt.title(季度销售额及同比增长趋势) fig.tight_layout() plt.show()你不需要懂Pandas的语法也不需要知道Matplotlib怎么调参数只需要用自然语言描述你的需求。CodeAct智能体就像你的个人数据分析助手把脏活累活都干了最后把清晰的图表呈现在你面前。这对于业务人员、产品经理或者需要快速进行数据探索的开发者来说效率提升是颠覆性的。2.3 编程辅助与自动化脚本CodeAct本身就是关于代码的所以用它来辅助编程再自然不过。你可以让它帮你编写工具函数比如“写一个函数递归遍历目录找出所有大于100MB的PDF文件。”生成单元测试给它一段你的代码让它“为这个函数生成几个边界条件的测试用例。”代码重构与优化比如“帮我将这段重复的循环改成列表推导式。”生成自动化脚本比如“写一个Python脚本每天下午5点自动检查服务器日志把错误信息发到我的邮箱。”这不仅仅是代码补全而是根据你的高层次意图生成完整、可运行的程序片段。我实测下来对于Python、JavaScript这类流行语言效果非常稳。它大大降低了编程的入门门槛也让有经验的开发者能从繁琐的样板代码中解放出来。2.4 需要高精度结果的场景在任何容错率低的场景下CodeAct都是更好的选择。比如金融计算、工程仿真、科学研究中的数据拟合等。在这些领域一个微小的计算误差可能导致完全错误的结论。让大模型“口算”风险极高而通过生成并执行经过严格定义的代码结果的可信度就有了坚实的保障。这相当于把大模型的创造性思维和编程语言的确定性结合了起来既有了智能又有了精度。3. 实战手把手构建你的第一个CodeAct智能体光说不练假把式。下面我就用最流行的LangGraph框架带你一步步搭建一个能画正弦波的CodeAct智能体。我会把每一步的原理和踩过的坑都讲清楚保证你能跟着做出来。3.1 环境准备与依赖安装首先确保你的Python环境是3.8以上。我们主要用到langgraph来构建智能体的工作流用langchain-openai来调用大模型这里以GPT-4为例。当然你也可以换成其他支持的模型。打开你的终端创建一个新的项目目录然后安装必要的包# 创建并进入项目目录 mkdir my_codeact_agent cd my_codeact_agent # 创建虚拟环境推荐 python -m venv venv # 激活虚拟环境 # Windows: venv\Scripts\activate # Mac/Linux: source venv/bin/activate # 安装核心依赖 pip install langgraph langchain-openai python-dotenv # 为了画图我们还需要matplotlib和numpy pip install matplotlib numpy接下来创建一个.env文件来安全地存储你的API密钥# 在项目根目录创建 .env 文件内容如下 OPENAI_API_KEY你的OpenAI_API密钥注意永远不要将API密钥硬编码在代码里提交到GitHub等公开平台。使用.env文件并通过python-dotenv加载是行业最佳实践。3.2 定义智能体的状态与工作流CodeAct智能体的核心是一个循环生成代码 - 执行代码 - 检查结果 - 必要时重试。我们用LangGraph的StateGraph来定义这个流程。首先我们定义一个TypedDict来描述智能体在整个运行过程中需要记住的所有状态from typing import TypedDict from dotenv import load_dotenv import os # 加载环境变量 load_dotenv() assert os.getenv(OPENAI_API_KEY), OPENAI_API_KEY not set in .env class AgentState(TypedDict, totalFalse): 智能体的状态字典 instruction: str # 用户原始指令 code: str # 模型生成的代码 output: str # 代码执行后的输出 error: str # 执行错误信息如果有 traceback: str # 详细的错误堆栈 retries: int # 重试次数totalFalse意味着这些字段都是可选的这样我们在初始化状态时更灵活。instruction是用户的问题比如“画一个正弦波”。code是模型生成的Python代码。output和error记录执行结果。retries用来控制重试避免陷入死循环。3.3 核心节点一让大模型生成代码第一个关键节点是generate_code。它的任务是根据用户的instruction调用大模型生成可执行的Python代码。这里有个小技巧大模型在回复时喜欢用三个反引号包裹代码块。我们需要一个简单的解析器把代码提取出来。from langchain_openai import ChatOpenAI from langchain.schema import BaseOutputParser import re class CodeExtractor(BaseOutputParser): 从LLM回复中提取Python代码块 def parse(self, text: str) - str: # 匹配 python ... 格式的代码块 match re.search(rpython(.*?), text, re.DOTALL) # 如果找到代码块提取内容并去除首尾空白否则返回整个文本可能模型没加标记 return match.group(1).strip() if match else text.strip() def generate_code(state: AgentState) - AgentState: 节点函数调用LLM生成代码 # 初始化LLMtemperature设为0以保证生成稳定性 llm ChatOpenAI(temperature0, modelgpt-4) # 构建提示词。清晰的指令有助于模型生成更好的代码。 prompt f你是一个Python编程助手。请根据以下任务要求编写完整、可独立运行的Python代码。 任务{state[instruction]} 要求 1. 代码必须完整包含所有必要的import语句。 2. 代码的最后应该将主要结果赋值给一个名为 result 的变量或者直接打印输出。 3. 请将代码包裹在 python 标记中。 # 调用模型 response llm.invoke(prompt) # 提取纯净的代码 code CodeExtractor().parse(response.content) # 更新状态返回新的字典LangGraph要求返回完整的状态更新 return { **state, # 保留原有状态 code: code # 更新代码字段 }我在这里的提示词Prompt里特意加了一条要求把主要结果放在result变量里。这是为了我们后续节点能方便地捕获输出。你也可以根据需求调整这个约定。3.4 核心节点二在安全沙箱中执行代码生成代码后下一步就是执行它。这是最需要小心的一步因为执行任意代码有巨大风险。绝对不能在生产环境中直接使用exec()执行未经审查的用户或模型代码我们这里为了演示简化了但在真实场景中你必须使用严格的沙箱环境。import traceback def execute_code(state: AgentState) - AgentState: 节点函数在受限环境中执行生成的代码 code_to_run state[code] if not code_to_run: return {**state, error: No code generated, output: None} try: # 创建一个干净的命名空间来执行代码 local_vars {} # 使用exec执行代码。注意这里仅用于演示缺乏安全限制 exec(code_to_run, {}, local_vars) # 第一个{}是全局命名空间我们置空第二个是局部命名空间 # 尝试从执行结果中获取 result 变量如果没有则使用默认信息 execution_output local_vars.get(result, Execution completed. No result variable found.) # 如果代码中有print语句输出会直接打印到控制台但不会被这里捕获。 # 更完善的做法是重定向sys.stdout来捕获所有打印输出。 return { **state, output: str(execution_output), # 确保输出是字符串类型 error: None, traceback: None } except Exception as e: # 如果执行出错记录错误信息和重试次数 current_retries state.get(retries, 0) return { **state, error: str(e), traceback: traceback.format_exc(), retries: current_retries 1 # 重试次数1 }重要警告上面的exec(code_to_run, {}, local_vars)是极度不安全的它允许代码访问任何Python内置函数和已安装的模块。恶意代码可以import os; os.system(rm -rf /)删除系统文件。在实际部署中你必须使用像PyPy的沙箱、Docker容器或者严格限制可用的模块白名单机制并设置超时和内存限制。3.5 构建循环与条件重试逻辑代码执行可能会失败比如模型生成的代码有语法错误或者缺少依赖库。我们不能一失败就放弃应该给模型一个“反思并修正”的机会。这就是重试逻辑。我们定义一个条件判断函数决定执行完代码后下一步是重试还是结束。MAX_RETRIES 3 # 最大重试次数 def error_handler(state: AgentState) - str: 条件边函数根据执行结果决定下一步走向 # 如果存在错误并且重试次数还没用完就返回generate_code节点名触发重试 if error in state and state.get(retries, 0) MAX_RETRIES: return generate_code # 跳回代码生成节点让模型根据错误信息重新生成代码 # 否则结束流程 return END现在我们用LangGraph把所有的节点和边组装起来from langgraph.graph import StateGraph, END, START # 初始化图构建器并指定状态结构 builder StateGraph(AgentState) # 添加两个节点 builder.add_node(generate_code, generate_code) builder.add_node(execute_code, execute_code) # 设置流程从START开始先到generate_code然后到execute_code builder.add_edge(START, generate_code) builder.add_edge(generate_code, execute_code) # 在execute_code之后根据条件决定去向重试或结束 builder.add_conditional_edges( execute_code, error_handler, # 上面定义的条件判断函数 # 这个函数返回的下一个节点名会被映射到对应的路径 ) # 编译图得到可执行的计算图 graph builder.compile()这个图的结构非常清晰开始 - 生成代码 - 执行代码 - [有错且可重试] - 生成代码 ... - 结束。3.6 运行智能体并查看结果万事俱备让我们来运行一下看看它能不能画出正弦波。if __name__ __main__: # 用户输入一个任务 user_input 使用matplotlib和numpy绘制一个从0到4π的正弦波曲线并设置合适的标题和坐标轴标签。 # 初始化状态 initial_state: AgentState {instruction: user_input, retries: 0} print(开始运行CodeAct智能体...) # 注入初始状态运行图 final_state graph.invoke(initial_state) print(\n--- 运行结果 ---) if output in final_state and final_state[error] is None: print(✅ 代码执行成功) # 如果代码中使用了matplotlib的plt.show()图表窗口会在此处弹出 print(f执行输出: {final_state[output]}) else: print(❌ 执行失败。) print(f错误信息: {final_state.get(error)}) print(f错误堆栈: {final_state.get(traceback)}) print(f总共重试次数: {final_state.get(retries, 0)}) if code in final_state: print(f\n最终生成的代码:\npython\n{final_state[code]}\n)运行这段代码你会看到终端提示开始运行稍等片刻取决于模型调用速度一个正弦波的图表窗口应该会弹出来。同时终端会打印出执行成功的消息。这意味着你的第一个CodeAct智能体已经工作了它理解了你的自然语言指令生成了正确的绘图代码并成功执行将可视化结果呈现给了你。4. 深入思考CodeAct的优势与面临的挑战通过上面的实践我们已经感受到了CodeAct的强大。但它真的完美无缺吗当然不是。在实际应用中我遇到了不少挑战也总结出一些必须注意的要点。4.1 优势为什么CodeAct是“杀手级”思路精度与可靠性飞跃这是最核心的优势。将开放域的语言问题转化为确定性的代码执行问题从根本上杜绝了大模型“胡说八道”在关键计算上的可能性。结果的可验证性大大增强。能力边界极大扩展大模型本身不会画图、不会操作数据库、不会调用系统API。但通过生成代码它可以间接调用matplotlib、sqlite3、requests等任何Python库瞬间获得了几乎无限的工具使用能力。这相当于为LLM接上了整个Python生态。解决复杂、多步骤任务对于需要多个步骤、中间状态复杂的任务CodeAct的“生成-执行-观察”循环模式非常契合。模型可以根据上一步代码的执行结果动态决定下一步生成什么代码实现真正的规划与推理。可复用性与可调试性模型生成的代码是透明的、可审查的。如果结果不对开发者可以检查生成的代码定位问题是出在模型的理解上还是代码的逻辑上。相比之下纯自然语言的思考过程更模糊。好的代码片段还可以被保存下来作为工具函数复用。4.2 挑战与应对策略坑我都帮你踩过了然而把代码生成和执行交给AI也引入了一系列新问题。挑战一代码正确性与意图对齐模型生成的代码可能语法正确、能运行但逻辑不符合你的真实意图。比如你让模型“计算平均工资”它可能错误地排除了零值导致结果偏高。因为代码有输出你可能会盲目信任。我的应对策略交叉验证对于关键任务让模型用不同的算法或思路生成两到三份代码分别执行并对比结果。如果结果一致可信度就高。结果验证器Verifier训练或使用一个专门的、较小的模型来对输入用户问题和输出代码执行结果进行一致性检查。这个验证器不关心过程只判断结果是否合理。要求模型写注释和测试在提示词中要求模型为关键函数生成简单的解释注释甚至生成一两个单元测试用例。这能迫使模型进行更深入的逻辑思考。挑战二执行环境的安全与稳定这是最大的风险点。任意代码执行Arbitrary Code Execution是安全领域的噩梦。模型可能无意或受恶意用户引导生成删除文件、访问网络、耗尽内存的代码。我的应对策略生产环境必须做严格的沙箱使用Docker容器来隔离执行环境并限制其CPU、内存、运行时间和网络访问。模块白名单只允许导入经过审核的安全模块如numpy,pandas,matplotlib禁止os,subprocess,sys等危险模块。可以通过自定义import钩子来实现。超时与资源限制为每次代码执行设置严格的超时如5秒和内存上限。代码静态分析在执行前对生成的代码进行简单的静态扫描检查是否有明显危险的关键字或模式。挑战三调试与错误诊断困难当最终结果错误时问题可能来自多个环节是用户指令模糊模型理解有误生成的代码有bug还是执行环境缺少依赖定位问题像大海捞针。我的应对策略完整的日志记录像我们示例中那样记录每一轮生成的代码、执行输出、错误和堆栈信息。这是调试的基础。让模型参与调试在重试时把上一轮的代码和错误信息一起喂给模型提示它“你刚才写的代码运行时报了XX错误请修正代码”。模型往往能根据错误信息进行有效的自我修正。分步验证对于复杂任务提示模型将任务分解并输出中间步骤的结果便于人工检查。挑战四性能与延迟生成代码、启动沙箱、执行代码、获取结果这个链条比单纯的语言生成要长得多。多轮重试还会进一步增加延迟。对于实时性要求高的场景这可能是个问题。我的应对策略缓存与预热对于常见的、通用的代码片段如数据读取、基础绘图可以建立缓存避免重复生成。沙箱环境也可以预先启动好保持热备。代码优化可以引入一个“代码优化”步骤对模型生成的低效代码如多层嵌套循环进行自动简化或替换为更高效的库函数调用。设定明确的终止条件除了重试次数还可以根据任务复杂度设定一个总时间预算超时则返回当前最佳结果或错误。5. 超越基础CodeAct的高级玩法与未来展望当你掌握了基础的CodeAct构建后可以尝试一些更高级的玩法让它变得更强大、更智能。玩法一让智能体学会使用“工具链”CodeAct不仅仅是执行一段代码。你可以设计一个“工具库”让模型学会组合调用。例如你可以预定义几个安全的工具函数query_database(sql): 执行SQL查询并返回结果。send_email(to, subject, body): 发送邮件。fetch_webpage(url): 获取网页内容。然后在提示词中告诉模型“你可以使用以下工具...请根据任务需要生成调用这些工具的代码。”这样模型就能在代码中安全地调用这些预设功能能力范围进一步扩大且安全性可控。玩法二与ReAct范式结合CodeAct和ReAct并不矛盾可以强强联合。你可以设计一个混合智能体对于需要精确计算、操作外部工具通过代码的任务走CodeAct路径对于简单的信息查询、决策判断则走传统的ReAct思考-调用API路径。一个顶层的“路由”模型根据任务类型决定将任务分发给哪个子模块处理。玩法三长期记忆与代码库积累让智能体具备“学习”能力。当它成功解决一个问题后可以把生成的、经过验证的正确代码片段存储到一个“个人代码库”中。下次遇到类似问题时它可以先从这个代码库中检索和复用片段而不是每次都从头生成这能显著提升效率和一致性。从我这些年的经验来看CodeAct范式代表了一个非常重要的方向大模型正在从“世界的观察者”和“语言的描述者”转变为“世界的交互者”和“任务的执行者”。通过代码这座桥梁大模型得以突破文本的藩篱真正开始操作数字世界。当然这条路还很长。安全、效率、可靠性都是需要持续攻克的难题。但毫无疑问CodeAct为我们构建真正实用、强大的AI智能体提供了一条清晰且富有潜力的路径。我建议每一位对AI应用开发感兴趣的朋友都亲手实践一下上面的例子感受一下让大模型“自己动手”完成任务的魅力。你会发现很多曾经觉得必须手动编码的繁琐工作现在只需要一句简单的描述。这种生产力的解放或许就是AI带给我们的最直接的礼物。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2411864.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;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…