Multi Agents Collaboration OS:数据与知识协同构建数据工作流自动化
1-背景
传统数据系统与业务数字化的开发与维护面临诸多挑战:行业知识获取壁垒高、需求变化快导致开发周期长、系统复杂度高以及人力与资源投入成本巨大。同时,用户在使用过程中也常遇到痛点:手动录入数据繁琐低效、数据分散于各模块难以整合分析、系统操作复杂学习成本高,以及包含软硬件、维护、培训在内的高昂使用成本。这些因素共同制约了数据工作流的自动化效率和深度,凸显了利用新兴技术,如大型语言模型驱动的多智能体协作,来优化数据处理、整合知识、简化交互并最终实现数据工作流自动化的迫切性与技术价值。
在复杂多变的业务场景下,单纯依赖大型语言模型的通用能力难以满足精细化、专业化的数据工作流需求。其核心挑战在于模型缺乏实时、 精准的行业知识和对动态业务逻辑的深刻理解,容易产生内容幻觉或无法执行复杂任务。因此,引入结合了检索增强生成(RAG)技术的将领域知识,如数据知识、数据分析流程、模型构建方法等,结合的多智能体协作体系中变得至关重要。本文通过让智能体(Agents)在执行任务时,能实时从外部知识库、数据库、乃至图谱中检索相关数据与知识,有效弥补了大型模型的知识局限性和滞后性。它不仅能确保工作流输出的准确性、时效性和专业性,更能通过多智能体协同,模拟专家经验,处理涉及多系统、多步骤的复杂业务流程,实现真正意义上的数据与知识深度融合及工作流自动化,是提升决策质量和业务效率的关键驱动力。
2-技术架构
整体架构
本技术架构以大型语言模型(LLM)驱动的多智能体系统为核心,结合检索增强生成(RAG)技术深度融合领域业务知识。用户任务输入后,系统首先通过LLM RAG理解任务并进行拆解、筛选适配的智能体(Agents)。随后,调度多智能体中心的专业Agent,这些Agent利用底层专业模型库工具和多源多模态数据集执行具体子任务,整个过程受到策略辅助模块的支撑与管控,最终输出结果并沉淀历史知识以持续优化。
各模块流程
LLM RAG与任务分解: 接收用户请求,利用RAG融合领域知识理解意图,将复杂任务分解为子任务序列,并为各子任务匹配最优智能体执行。
多智能体中心: 汇集各类专业智能体,如数据处理、分析、报告等。各Agent封装特定技能,调用专业模型库和工具执行分配的子任务。
专业模型库与数据集: 提供OCR、NLP、ML等模型及多源多模态数据。智能体调用这些底层资源完成数据获取与专业处理任务。
多智能体策略辅助: 提供任务审核、专家介入、安全管控、资源调度等支持能力,保障多智能体协作过程的顺畅、安全与高效。
历史知识沉淀: 记录执行过程、结果、代码、用户反馈与评估信息,构建提示词、任务与记忆库,反馈优化系统未来表现。
该架构通过LLM的统一调度和RAG的知识增强,实现了任务的智能分解与专业智能体的协同执行。它有机整合了多源数据、领域模型库和策略辅助能力,形成一个闭环系统:不仅能自动化完成复杂的数据工作流,还能通过历史知识的积累与反馈不断自我完善,持续提升处理效率、准确性和智能化水平。
3-产品实践
1、业务场景提示
- 提示数据分析过程中的业务步骤及可使用的智能体
Scenario 1: Data Analysis
If the user’s question pertains to the field of data analysis, follow these steps for planning:
Use search_data_agent to query or search for the required data items (if the user has already provided relevant data items, skip this step).
Based on the search results, generate or merge the required data files using relevant agents such as pandas_data_analy(especial for csv/xls/xlsx...)\sql_agents(especial for sql database), Futures Data Analysis, sql_agents, etc.
Break down the data analysis tasks according to the user’s question and the available data.
Execute each data analysis task accordingly.
Compile and write a comprehensive data analysis report.
Relate agents: search_data_agent, pandas_data_analy, sql_agents, Futures Data Analysis,report_agent.
2、业务知识嵌入:先检索数据知识
- 任务规划前先自主检索知识库内关于该任务的相关知识,将所需的知识、用户的核心业务流程进行融合,保证业务流程具备领域知识的加持。
with st.status('😊正在思考(Thinking)...', state='running',expanded=True) as status:# 记录任务开始时间st.session_state.disprompt = Falsetask_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")task_start_time = datetime.datetime.now()##获取knowledge文件夹内所有json文件try:documents_chunks_info_LIST = {}doc_chunks_LIST = {}KB_summary_LIST = {}kb_info_files = [f for f in os.listdir(KB_info_file_path) if f.endswith('.json')]for kg_file in kb_info_files:with open(os.path.join(KB_info_file_path, kg_file), 'r', encoding='utf-8') as file:selected_kb = json.load(file)kg_file = kg_file.replace('.json', '')documents_chunks_info_LIST[kg_file] = selected_kb['documents_chunks_info']doc_chunks_LIST[kg_file] = selected_kb['all_chunks']KB_summary_LIST[kg_file] = selected_kb['documents_summary']#print(kg_file)#print(documents_chunks_info_LIST)kg_file = knowledge_info_retrieval(prompt, KB_summary_LIST)#print(kg_file)kg_file = re.sub(r'[\r\n]+', '', kg_file)#print(kg_file)doc_chunk_revent = chunk_retrieval(documents_chunks_info_LIST[kg_file], prompt)with open("C:/Users/liuli/Desktop/multi_agents_system/multi_agents/task_excute_output/doc_chunk_revent.json", 'r', encoding='utf-8') as json_file:doc_chunk_revents = json.load(json_file)#print(doc_chunk_revent)doc_chunks = doc_chunks_LIST[kg_file]plain_retrieval_qa_result = plain_retrieval_qa(doc_chunks[doc_chunk_revents['chunk_number']], prompt)except:erro = traceback.format_exc()stream_text(f"##### Knowledge Retrieval : No relevant knowledge was found for this task, or the search failed.\n###### Error: \n{erro}",speed=100)plain_retrieval_qa_result = plain_retrieval_qa('No relevant knowledge was found for this task, or the search failed.', prompt)st.session_state.messages.append({"role": "assistant", "content": '#### RETRIEVAL RESULT: \n'+str(plain_retrieval_qa_result)}) stream_text(f"##### RETRIEVAL RESULT: \n{plain_retrieval_qa_result}",speed=100)st.success('Task Retrieval & Thinking Completed!')
3、智能体协作
任务规划:用户业务任务+业务知识融合的业务任务流,自主规划任务
##任务执行with open('C:/Users/liuli/Desktop/multi_agents_system/multi_agents/agents_info/Agents Info.json', 'r', encoding='utf-8') as file:agents_info = json.load(file)# 提取每个 agent 的名称、描述和输出agent_info_list = []for agent_name, agent_data in agents_info.items():agent_info = {"name": agent_data.get("name", ""),"description": agent_data.get("description", ""),"output": agent_data.get("output", "")}agent_info_list.append(agent_info)with st.spinner('正在规划任务(Task Planning)...'):time.sleep(5)task_config = task_planning(plain_retrieval_qa_result, agent_info_list, 'C:/Users/liuli/Desktop/multi_agents_system/multi_agents/task_excute_output')global_config_ = task_config['task_execution_steps']st.session_state.messages.append({"role": "assistant", "content": '#### Task Planning Result:\n'+str(task_config)})tabs = st.tabs(["Task Planning Flow", "Task Planning JSON"])with tabs[1]: with st.chat_message("assistant",avatar="C:/Users/liuli/Desktop/multi_agents_system/multi_agents/agents_info/icon/chat_icon.png"):st.markdown(f"<h3>Task Planning</h3>", unsafe_allow_html=True)st.json(task_config)with tabs[0]:with st.chat_message("assistant",avatar="C:/Users/liuli/Desktop/multi_agents_system/multi_agents/agents_info/icon/chat_icon.png"):st.markdown(f"<h3>Task Planning Flow</h3>", unsafe_allow_html=True)nodes, edges, config = create_flowchart(task_config['task_execution_steps'])# 在 Streamlit 中显示流程图agraph(nodes=nodes, edges=edges, config=config)st.session_state.flowchart.append((nodes, edges, config))st.session_state.messages.append({"role": "assistant_flow", "content": (nodes, edges, config)})st.success('Task Planning Completed!')status.update(label="Thinking Completed!", state='complete',expanded=True)st.session_state.task_excute_step.append(" step 1: "+task_config['task_execution_steps'][0]['action'][:150] + "..." if len(task_config['task_execution_steps'][0]['action']) > 150 else task_config['task_execution_steps'][0]['action'])
智能体分步执行
if task_config['agents_selection_dict'] != {}:# 任务拆解i = 0output_data = {"steps": []}prompt_out_put = "User's total task is :" + plain_retrieval_qa_result + '\n this step task is :' + str(task_config['task_execution_steps'][0])all_task_execute_results_dict = {} # 创建一个字典来存储所有任务的执行结果step_times = {}for step in task_config['task_execution_steps']:with st.status('正在执行任务(Task Execution)...:**Step{}:** {}'.format(step['step'], step['action']), state='running', expanded=True) as status:try:step_start_time = datetime.datetime.now()# agent 参数time.sleep(5)global_config_ = global_config(prompt_out_put, agent_info)# 步骤1输出agent_file = agents_info[step['tool_selection']]['code_path']params = global_config_[step['tool_selection']]agent_out_put = code_py_exec(agent_file, params)print('Step' + str(i) + 'out_put is:' + str(agent_out_put))if i < len(task_config['task_execution_steps']) - 1:time.sleep(5)prompt_out_put = prompt_info_agent(i, task_config['task_execution_steps'][i + 1], str(agent_out_put))print('Step' + str(i) + 'prompt_out_put is:' + prompt_out_put)i += 1# 记录每一步骤的输出内容step_data = {"step_num": f"step {step['step']}","task": step['action'],"expected_output": step['expected_output'],"global_config_": str(global_config_),"agent_out_put": agent_out_put,"next_step_prompt_info": prompt_out_put}#中间结果输出# 将步骤数据添加到输出数据中time.sleep(5)output_data["steps"].append(step_data)# 将输出数据写入 JSON 文件with open('C:/Users/liuli/Desktop/multi_agents_system/multi_agents/task_excute_output/task_temp_output/overall_task_iteration_output.json', 'w') as json_file:json.dump(output_data, json_file, indent=4)task_excute_result = code_excute_output_optimize(plain_retrieval_qa_result, str(output_data))#print('task_excute_result is:' + str(task_excute_result))st.session_state.messages.append({"role": "assistant", "content": task_excute_result})time.sleep(5)step_end_time = datetime.datetime.now()step_times[step['step']] = (step_end_time - step_start_time).total_seconds()tabs = st.tabs(["Task Execution Result", "Task Execution Report"])with tabs[0]:with st.chat_message("assistant",avatar="C:/Users/liuli/Desktop/multi_agents_system/multi_agents/agents_info/icon/chat_icon.png"):st.markdown(f"<h3>Step {step['step']} - '{step['action']}' is executed successfully! The task took {step_times[step['step']]:.2f}s.</h3 style='color: blue;'>", unsafe_allow_html=True)stream_text(task_excute_result,speed=400)with tabs[1]:try:reylt= report_generation(str(agent_out_put), 'C:/Users/liuli/Desktop/multi_agents_system/multi_agents/task_excute_output/report/temp')except:passtime.sleep(3)step_report_markdown_page('c:\\Users\\liuli\\Desktop\\multi_agents_system\\multi_agents\\task_excute_output\\report\\temp')all_task_execute_results_dict[step['step']] = task_excute_resultexcept:# 记录任务失败的原因step_error = traceback.format_exc()retry_count=0# 将任务执行结果存储到字典中all_task_execute_results_dict[step['step']] = Noneprint('task_excute is failed:' + str(step))task_excute_result = code_excute_output_optimize(plain_retrieval_qa_result, 'task_excute is failed:' + str(step) + '\n the error is:' + str(step_error))st.session_state.messages.append({"role": "assistant", "content": task_excute_result})tabs = st.tabs(["Task Execution Result", "Task Execution Report"])with tabs[0]:with st.chat_message("assistant",avatar="C:/Users/liuli/Desktop/multi_agents_system/multi_agents/agents_info/icon/chat_icon.png"):st.markdown(f"<h3>Step {step['step']} - {step['action']} is executed failed!</h3>", unsafe_allow_html=True)st.markdown(task_excute_result)with tabs[1]:try:reylt= report_generation(str(agent_out_put), 'C:/Users/liuli/Desktop/multi_agents_system/multi_agents/task_excute_output/report/temp')except:step_error_ = traceback.format_exc()st.markdown(f'step report generation is failed! the error is: {step_error_}')time.sleep(3)step_report_markdown_page('c:\\Users\\liuli\\Desktop\\multi_agents_system\\multi_agents\\task_excute_output\\report\\temp')step_end_time = datetime.datetime.now()step_times[step['step']] = (step_end_time - step_start_time).total_seconds()#with st.status('正在执行任务(Task Execution)...:##### Step +{}:{}'.format(str(i+1), step['action']), state='running', expanded=True) as status:status.update(label='Task Execution Completed:**Step**{}:{}'.format(step['step'], step['action']), state='complete', expanded=True)if i < len(task_config['task_execution_steps']):#st.session_state.task_excute_step += 1st.session_state.task_excute_step.append("#### step"+str(i)+': '+task_config['task_execution_steps'][i]['action'][:130] + "..." if len(task_config['task_execution_steps'][i]['action']) > 130 else task_config['task_execution_steps'][i]['action'])#st.session_state.task_excute_step.append(step['action'][:30]+"..." if len(step['action'])>30 else step['action'])#sys.exit(1)st.success(f"Step {step['step']} - '{step['action']}' Execution completed successfully! The task took {step_times[step['step']]:.2f}s.")
5、结果展示
已经构建的知识库体系
(1)农业市场数据分析
(2)零售行业数据分析方法
任务一:基于sql数据库的数据分析
- user’s Task:分析olist电商公司销售情况,包括流量指标:活跃用户数(DAU、MAU、时段),销售形势指标:季节性销售、月度销售情况等 运营指标:GMV(季度、月)、ARPU(季度、月)、订单数(天、月、时段) RFM用户价值分层:各层次用户品类(热门指数 = 金额 + 评价分数)
(1)领域知识检索
(2)任务规划:检索数据、python-pandas分析-数据看板
(3)智能体执行:
-
准确找到相关数据库文件
-
中间结果
1)sql合并生成所需要的数据文件
2)数据分析结果
总结与讨论
技术可行性
从产品实践部分展示的案例来看,“Multi Agents Collaboration OS”的技术路线具备明确的可行性。系统通过结合检索增强生成(RAG)技术,成功将外部知识库(如农业市场、零售行业分析方法)融入任务流程,克服了大型语言模型在特定领域知识上的短板。实践中,系统能够根据用户输入和检索到的知识,自主进行多步骤的任务规划(如数据检索、调用pandas_data_analy或sql_agents进行分析、生成报告),并协调不同的智能体(Agent)分步执行代码完成任务。这验证了通过LLM进行规划、RAG提供知识、Agent执行具体操作的协同模式,足以支撑起自动化数据分析等工作流场景。
瓶颈
尽管前景广阔,当前技术仍面临若干瓶颈。首先,大型语言模型的上下文窗口长度限制了其处理极其复杂或长链条任务的能力,过多的历史信息、检索知识和中间结果可能导致信息丢失或处理失败。其次,虽然LLM具备代码生成能力(如生成SQL查询或Python分析脚本),但其生成代码的准确性、效率和安全性在面对复杂逻辑和边缘情况时仍有待提高,直接执行存在风险。此外,知识库的构建、更新和质量管理是一项持续挑战,RAG的效果强依赖于知识库的质量。最后,多智能体间的状态同步、错误传递与处理、资源竞争等协同问题,也需要更鲁棒的机制来保障整体流程的稳定性。
未来方向
未来,“Multi Agents Collaboration OS”有望在以下几个方向深化发展。一是更智能的知识融合,超越简单的文档块检索,探索与知识图谱、数据库等结构化知识源的深度融合,实现更精准、动态的上下文理解和推理。二是更高阶的数据分析自动化,从执行用户指令向更主动的洞察发掘演进,智能体不仅能完成分析任务,还能基于数据特征主动推荐分析维度、解释结果、甚至自主学习优化分析流程。三是大小模型协同的数据工程,结合大型语言模型(LLM)的理解、规划能力与小型专业模型(SLM)或传统代码的高效、稳定执行能力,构建混合智能系统,侧重于将这种协同能力应用于复杂的数据清洗、ETL、数据治理等数据工程领域,实现更高效、可靠的数据全链路自动化。
相关文章:
Multi Agents Collaboration OS:数据与知识协同构建数据工作流自动化
1-背景 传统数据系统与业务数字化的开发与维护面临诸多挑战:行业知识获取壁垒高、需求变化快导致开发周期长、系统复杂度高以及人力与资源投入成本巨大。同时,用户在使用过程中也常遇到痛点:手动录入数据繁琐低效、数据分散于各模块难以整合…...
elemenPlus中,如何去掉el-input中 文本域 textarea自带的边框和角标
1、去掉角标 :deep(.el-textarea__inner) {resize: none !important; // 去除右下角图标 }2、去除边框,并自定义背景色 <el-inputref"textareaRef"v-model"tempContent":style"{--el-border-color: rgba(255,255,255,0.0),--el-input-…...
Excel 动态比较两列数据:实现灵活的数据验证
目录 动态比较两列数据的需求动态公式的实现使用INDIRECT和ROW函数公式解释应用 动态公式的优点 快速添加一列公式的技巧使用快捷键Ctrl D使用VBA宏自动化使用“表格”功能自动填充 实际应用场景数据验证动态报告数据清洗 注意事项总结 在数据处理和分析中,Excel 是…...
谷歌推出可免费使用的Firebase Studio:Gemini全栈AI开发利器
谷歌刚刚发布了Firebase Studio,这是其打造的一款沉浸式代码开发平台,旨在与Cursor、Lovable、Bolt和V0等工具竞争。如果你是一名网页开发者,可能只知道Firebase是谷歌的数据库工具。 但现在,它已远不止于此。 Firebase已发展成一个完整的生态系统,如今能帮助你从头到尾…...
spark(二)
本节课接上节课继续对于RDD进行学习,首先是对于创建RDD的不同方式,接着学习了RDD的三种转换算子:Value类型、双Value类型、Key-Value类型,以及各个转换算子的不同使用方式。 学习到如下的区别: map 与 mapPartitions…...
Fay 数字人部署环境需求
D:\ai\Fay>python main.py pygame 2.6.1 (SDL 2.28.4, Python 3.11.9) Hello from the pygame community. https://www.pygame.org/contribute.html [2025-04-11 00:10:16.7][系统] 注册命令... [2025-04-11 00:10:16.8][系统] restart 重启服务 [2025-04-11 00:10:16.8][…...
【Harmony】端云一体化(云函数)
一、云函数的概述 1、什么是云函数 官方解释 云函数是一项Serverless计算服务,提供FaaS(Function as a Service)能力,一方面云函数将开发测试的对象聚焦到函数级别,可以帮助您大幅简化应用开发与运维相关的事务&…...
利用大模型和聚类算法找出 Excel 文件中重复或相似度高的数据,并使用 FastAPI 进行封装的详细方案
以下是一个利用大模型和聚类算法找出 Excel 文件中重复或相似度高的数据,并使用 FastAPI 进行封装的详细方案: 方案流程 数据读取:从 Excel 文件中读取数据。文本向量化:使用大模型将文本数据转换为向量表示。聚类分析:运用聚类算法对向量进行分组,将相似度高的数据归为…...
通过远程桌面连接wsl2中安装的ubuntu24.04
要介绍的这种方式其实跟直接用wsl来执行命令差不多,是在终端去操作ubuntu。WSL2 默认只提供命令行界面,本文安装xrdp后通过windows远程桌面连接过去。 1、更新软件包列表 sudo apt update 确保你的软件包列表是最新的,否则可能找不到某些包…...
对接和使用国内稳定无水印的 Suno API
随着 AI 的应用日益广泛,各种 AI 程序已经融入我们的日常生活。从最早的写作,到医疗、教育,如今甚至扩展到了音乐领域。 Suno 是一个专注于高质量 AI 歌曲和音乐创作的平台。用户只需输入简单的文本提示词,便可以按照流派风格和歌…...
LeetCode算法题(Go语言实现)_38
我将按照您提供的文档结构为您整理二叉树最近公共祖先(LCA)问题的解决方案: 一、代码实现 type TreeNode struct {Val intLeft *TreeNodeRight *TreeNode }func lowestCommonAncestor(root, p, q *TreeNode) *TreeNode {if root nil ||…...
Linux学习笔记 1
1.发展史 略...... 2.xshell的使用方法 2.1登录 ssh root公网地址 输入密码,用 uname -r 指令来鉴定是否登录成功。之后就可以进行命令行操作了。 alt enter 全屏、退出 设置多用户指令,新建用户 adduser 名字 passwd 密码 销毁用户…...
微信小程序跳4
formatMillisecondsTime: function(milliseconds, formatStr) { // 创建一个新的Date对象,传入毫秒值 const date new Date(milliseconds); // 获取年月日时分秒,并确保它们都是两位数 const year date.getFullYear(); const month (date.getMonth() …...
STM32单片机入门学习——第31节: [10-1] I2C通信协议
写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做! 本文写于:2025.04.10 STM32开发板学习——第31节: [10-1] I2C通信协议 前言开发板说明引用解答和科普一…...
OpenCV 图形API(24)图像滤波-----双边滤波函数bilateralFilter()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 应用双边滤波到图像。 该函数对输入图像应用双边滤波,如 http://www.dai.ed.ac.uk/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Fil…...
【图像处理基石】什么是影调?并用python实现一个哈苏色彩影调
影调是摄影语言的核心,通过控制明暗、虚实与色彩,可精准传达创作意图。实际选择需结合主题情感、光线条件及画面结构,灵活运用高调、低调或冷暖色调,以强化视觉表现力。 一、影调的定义 影调指画面中明暗、虚实、色彩的层次与对比…...
MySQL行列转换
创建一个sc表并插入数据 方法一: select distinct uid, (select score from sc where s.uiduid and course语文)语文, (select score from sc where s.uiduid and course数学)数学, (select score from sc where s.uiduid and course英语)英语 from sc s; 方法二: select * fro…...
cookie和session哪个生成的时间早
Cookie 和 Session 的出现时间都可以追溯到 Web 开发的早期阶段,但它们的生成顺序在实际应用中通常是先生成 Session,然后通过 Cookie 来存储 Session ID。 详细解释: Session 的生成过程 • 用户请求服务器: • 用户首次访问网…...
sh脚本删除指定后缀.txt的文件,保留6个月的数据
1、linux下脚本删除指定后缀.txt和.path的文件,保留6个月的数据: 下面代码内容: #!/bin/bash # 指定要删除文件的路径列表 paths("/data/fail")# 获取当前系统日期6个月之前的日期 six_months_ago$(date -d "-6 months"…...
嵌入式Linux按键监控模块详解:实现设备重启与长按检测
嵌入式Linux按键监控模块详解:实现设备重启与长按检测 在嵌入式Linux设备开发中,物理按键仍然是用户与设备交互的重要方式。本文将分享一个轻量级但功能完整的按键监控模块,它可以精确识别按键的短按和长按事件,并执行对应操作如…...
[错误经验 坑]关于UDP服务器和客户端通信使用的recvfrom的输出型参数len没有被初始化导致的问题
[错误经验 坑]关于UDP服务器和客户端通信使用的recvfrom的输出型参数len没有被初始化导致的问题 水墨不写bug 文章目录 一、困惑:二、解答:(1)函数原型1. int sockfd2. void *buf3. size_t len4. int flags5. struct sockaddr *sr…...
KaiwuDB:面向AIoT场景的多模融合数据库,赋能企业数字化转型
引言 在万物互联的AIoT时代,企业面临着海量时序数据处理、多模数据融合和实时分析等挑战。KaiwuDB应运而生,作为一款面向AIoT场景的分布式、多模融合、支持原生AI的数据库产品,为企业提供了一站式数据管理解决方案。 产品概述 KaiwuDB是一…...
Web3 的云基础设施正在成型,Polkadot 2.0 用三项技术改写“上链成本”
在Web3基础设施内卷加剧的今天,“如何以更低成本、更大灵活性部署一条高性能应用链”正成为开发者们最关心的问题。而刚刚走出“技术慢热”误区的Polkadot,正在用一套名为 Polkadot 2.0 的架构升级方案,重新定义这一问题的解法。 这套升级最…...
Elasticsearch 学习规划
Elasticsearch 学习规划 明确学习目标与动机 场景化需求分析 - **S**:掌握Elasticsearch架构体系,熟练使用Elasticsearch 进行数据分析,Elasticsearch结合java 项目落地案例 - **M**:搜索和Elasticsearch相关GitHub项目 - **A**:每…...
OpenHarmony如何编译安装系统应用(以settings设置为例)
开发环境 1.OpenHarmony 2.DevEco Studio 3 .Full Sdk 实现步骤 1.获取设置应用源码 https://gitee.com/openharmony/applications_settings/tree/OpenHarmony-v5.0.0-Release/ 2,使用 DevEco Studio 和 Full SDK对系统应用进行签名,默认工程是未配置签名的状态,所构建…...
手撕 STL 之—— list
目录 引言 1, list_node类及其构造函数 2, list类的创建 3, list基本功能函数 3_1, 构造函数 3_2,push_back 3_3,push_front 3_4, pop_back 3_5,pop_front 4,迭代器 (重点) 4_1,如何设…...
Med-R1论文阅读理解
论文介绍 这篇论文介绍了一个名为 Med-R1 的新方法,用于提升多模态视觉语言模型(VLM)在医学图像理解和推理任务中的泛化能力和可解释性。下面是对整篇论文的简洁总结: ⸻ 🧠 核心思想 • 当前医学 VLM 多依赖于监督…...
微服务相关
1.SpringCloud有哪些常用组件?分别是什么作用? 注册中心:nacos 负载均衡:rabbion/LoadBalancer 网关:gateway 服务熔断:sential 服务调用:Feign 2.服务注册发现的基本流程是怎样的&#x…...
Linux vagrant 导入Centos到virtualbox
前言 vagrant 导入centos 虚拟机 前提要求 安装 virtualbox 和vagrant<vagrant-disksize> (Linux 方式 Windows 方式) 创建一键部署centos 虚拟机 /opt/vagrant 安装目录/opt/VirtualBox 安装目录/opt/centos8/Vagrantfile (可配置网络IP,内存…...
Spring Boot MongoDB 分页工具类封装 (新手指南)
Spring Boot MongoDB 分页工具类封装 (新手指南) 目录 引言:为何需要分页工具类?工具类一:PaginationUtils - 简化 Pageable 创建 设计目标代码实现 (PaginationUtils.java)如何使用 PaginationUtils 工具类二:PageResponse<…...
第七章 指针
2024-04 2023-10 A 2023-04 2022-10 2022-04 2021-10 2021-04 2020-10 2020-04...
20年AB1解码java
P8706 [蓝桥杯 2020 省 AB1] 解码 - 洛谷 详细代码如下: import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner innew Scanner(System.in); // 接收输入的字符串char [] c in.next().toCharArray(); // 接收 还原的字符…...
《Java实战:密码加密算法实现与代码解析》
文章目录 一、需求背景二、代码逐模块解析1. 主程序入口2. 密码输入模块3. 加密处理模块4. 结果拼接模块 三、完整代码示例四、运行示例五、优化方向(下篇预告) 一、需求背景 实现一个4位数字密码的简单加密系统,规则如下: 输入…...
AllData数据中台升级发布 | 支持K8S数据平台2.0版本
🔥🔥 AllData大数据产品是可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为中层框架,以大模型应用为上游产品,提供全链路数字化解决方案。 ✨杭州奥零数据科技官网…...
Jupyter notebook使用技巧
一、打开指定文件夹 在快捷方式目标中,使用如下代码 anaconda3\python.exe anaconda3\cwp.py anaconda3 anaconda3\python.exe anaconda3\Scripts\jupyter-notebook-script.py --notebook-dirD:\code\python...
6.3es新特性web worker
Web Worker 是 HTML5 提供的多线程技术,允许在浏览器后台创建独立线程执行 JavaScript 代码,解决主线程因耗时任务导致的 界面卡顿 问题。 核心特性 线程隔离:Worker 线程无法直接操作 DOM 或访问 window 对象通信机制:通过 pos…...
基于 OpenHarmony 5.0 的星闪轻量型设备应用开发——Ch3 设备驱动开发
写在前面:本篇是系列文章《基于 OpenHarmony 5.0 的星闪轻量型设备应用开发》的第 3 章。本篇从 GPIO、PWM、I2C、UART 以及 ADC 等方面对基于 OpenHarmony 5.0 的 WS63 设备驱动开发进行了详细的介绍。本篇的篇幅较长,建议先收藏再阅读。 3.1 OpenHarmo…...
iphone各个机型尺寸
以下是苹果(Apple)历代 iPhone 机型 的屏幕尺寸、分辨率及其他关键参数汇总(截至 2023年10月,数据基于官方发布信息): 一、标准屏 iPhone(非Pro系列) 机型屏幕尺寸(英寸…...
OfficePlus去掉PDF文件右键菜单里的PDF转换
今天在吾爱破解论坛看到一个求助帖,说是OfficePlus,安装后,PDF文件的右键菜单里多了PDF转换,想去掉,不知道怎么弄。底下的回复基本都是百度复制或者AI搜索出的答案,大致就是找注册表里CLASSID下的菜单栏相关…...
Linux驱动开发进阶(七)- DRM驱动程序设计
文章目录 1、前言2、DRAM(KMS、GEM)2.1、KMS2.2、GEM 3、DRM3.1、驱动结构体3.2、设备结构体3.3、DRM驱动注册3.4、DRM模式设置3.4.1、plane初始化3.4.2、crtc初始化3.4.3、encoder初始化3.4.4、connect初始化 4、示例说明5、DRM Simple Display框架6、DRM热插拔7、DRM中的plan…...
Parasoft C++Test软件单元测试_条件宏和断言宏使用方法的详细介绍
系列文章目录 Parasoft C++Test软件静态分析:操作指南(编码规范、质量度量)、常见问题及处理 Parasoft C++Test软件单元测试:操作指南、实例讲解、常见问题及处理 Parasoft C++Test软件集成测试:操作指南、实例讲解、常见问题及处理 进阶扩展:自动生成静态分析文档、自动…...
vue辅助工具(vue系列二)
目录 第一章、安装周边库1.1)状态管理:Pinia1.2)路由管理:Router1.3)HTTP 客户端:Axios1.4)UI 组件库:Element 第二章、下载Vue插件并安装2.1)安装开发者工具2.1.1&#…...
WPF 五子棋项目文档
WPF 五子棋项目文档 1. 项目概述 本项目是一个使用 Windows Presentation Foundation (WPF) 技术栈和 C# 语言实现的桌面版五子棋(Gomoku)游戏。它遵循 MVVM(Model-View-ViewModel)设计模式,旨在提供一个结构清晰、可…...
UniApp 实现兼容 H5 和小程序的拖拽排序组件
如何使用 UniApp 实现一个兼容 H5 和小程序的 九宫格拖拽排序组件,实现思路和关键步骤。 一、实现目标 支持拖动菜单项改变顺序拖拽过程实时预览移动位置拖拽松开后自动吸附回网格兼容 H5 和小程序平台 二、功能结构拆解以及完整代码 完整代码: <…...
谷歌推出统一安全平台-一个平台实现跨云网端主动防护
👋 今天要给大家带来一个超级棒的消息!谷歌云推出了全新的“谷歌统一安全平台”,感觉我们的网络安全问题有救啦!😄 随着企业基础设施变得越来越复杂,保护它们也变得越来越难。攻击面不断扩大,安…...
众趣科技丨沉浸式 VR 体验,助力酒店民宿数字化营销宣传
随着旅游季的到来,各地的旅游景区开始“摩拳擦掌”推出各种活动,吸引更多游客来此游玩。 自去年以来,冰雪游热度持续上升,尤其是对于满心期待的南方游客来说,哈尔滨仍是冰雪旅游的热门目的地。据美团数据显示ÿ…...
DAY05:【pytorch】图像预处理
1、torchvision 功能:计算视觉工具包 torchvision.transforms:常用的图像预处理方法torchvision.datasets:常用数据集的 dataset 实战,MINIST,CIFAR-10,ImageNet等torchvision.model:常用的模…...
真实企业级K8S故障案例:ETCD集群断电恢复与数据保障实践
背景描述 某跨境电商平台生产环境使用Kubernetes(v1.23.17)管理500微服务。某日机房突发市电中断,UPS未能及时接管导致: 3节点ETCD集群(v3.5.4)全部异常掉电 Control-Plane节点无法启动api-server 业务P…...
rbd块设备的id修改
背景 看到有这个需求,具体碰到什么场景了不太清楚,之前做过rbd的重构的研究,既然能重构,那么修改应该是比重构还要简单一点的,我们具体看下怎么操作 数据结构分析 rbd的元数据信息 [rootlab104 ~]# rbd create tes…...