Ragas Improve RAG 实战:用真实评测数据对比朴素 RAG 与 Agentic RAG
人工智能大模型模型评测RAG【免费下载链接】ragasSupercharge Your LLM Application Evaluations 项目地址https://gitcode.com/gh_mirrors/ra/ragas点击查看免费下载ragas quickstart improve_rag是 Ragas 提供的一个开箱即用的评测模板它基于 HuggingFace 官方文档问答数据集hf_doc_qa_eval.csv在同一套评测流程中对比两种典型的 RAG 架构——单次检索的朴素 RAGNaive RAG与由 Agent 控制检索的 Agentic RAG。读完本文你将掌握如何用一条命令搭建可运行的 RAG 评测工程、如何分别运行两种模式的评估并对比通过率、如何通过 MLflow 追踪每次 LLM 调用的轨迹以及如何把知识库、模型、指标替换成你自己的方案。模板能解决什么问题很多团队在优化 RAG 系统时面临一个共同困境升级到更智能的 Agent 架构后无法量化它到底比朴素方案好在哪里。improve_rag模板的核心价值在于把这个问题变成一个可重复的实验同一个问题集、同一个 BM25 检索器只切换 RAG 的驱动方式一次性检索 vs. Agent 自主多轮检索然后用统一的correctness离散指标给每个回答打pass/fail最终输出带时间戳的实验结果 CSV。从源码看该模板在 CLI 中的完整描述是Compare naive vs agentic RAG using BM25 retrieval and HuggingFace docs位于 cli.py 的 quickstart 模板注册表中而模板主体存放在仓库的 examples/ragas_examples/improve_rag 目录下包含rag.pyRAG 双模式实现、evals.py评测工作流、pyproject.toml依赖声明以及evals/datasets/hf_doc_qa_eval.csv真实评测数据集。创建项目ragas quickstart命令支持多种模板rag_eval、agent_evals、text2sql、workflow_eval等运行时不带模板名会列出全部可用模板。创建本项目有两种等价方式# 方式一使用 uvx无需预先安装 ragas uvx ragas quickstart improve_rag cd improve_rag # 方式二已安装 ragas 时 ragas quickstart improve_rag cd improve_rag从 cli.py 的实现看quickstart还支持--output-dir/-o参数指定创建位置例如ragas quickstart improve_rag -o ./my-project。命令内部会依次尝试本地安装的ragas_examples包 → 当前开发仓库的examples/ragas_examples→ 从远端归档下载找到模板后复制到目标目录并自动创建evals/datasets、evals/experiments、evals/logs三个子目录如果目录已存在会交互式询问是否覆盖。安装依赖推荐使用uv项目已声明[tool.uv] managed trueuv sync也可以使用 pippip install -e .依赖声明见模板的 pyproject.toml核心依赖包括ragas[all]0.3.0评测框架本体openai1.0.0LLM 客户端AsyncOpenAImlflow2.0.0可选的调用追踪langchain、langchain-community、langchain-text-splittersBM25 检索器与文档切分datasets2.0.0加载 HuggingFace 文档语料rank-bm250.2.2BM25 排序算法python-dotenv1.0.0读取.env配置。注意openai-agents被单独声明在[project.optional-dependencies] agentic分组中也就是说Agentic 模式需要额外安装详见下文Agentic 模式。设置 API Key模板默认使用 OpenAI 的gpt-4o-miniexport OPENAI_API_KEYyour-openai-keyevals.py在启动时会校验该环境变量缺失则直接抛出ValueError见 evals.py同时它也会调用load_dotenv(.env)因此你也可以把 key 写进项目根目录的.env文件。运行评估朴素 RAG 模式默认uv run python evals.pyAgentic RAG 模式uv run python evals.py --agenticAgentic 模式前置要求Agentic 模式依赖openai-agents包需要先安装pip install openai-agents该依赖对应pyproject.toml中的agentic可选组也可以用uv sync --extra agentic统一安装。若缺失rag.py的_setup_agent()会抛出ImportError(agents package required for agentic mode)见 rag.py。evals.py通过简单的命令行参数解析来决定模式--agentic in sys.argv其余情况一律走 naive见 evals.py。两种模式共用同一套评测流程结果分别写入evals/experiments/YYYYMMDD-HHMMSS_naiverag.csv与evals/experiments/YYYYMMDD-HHMMSS_agenticrag.csv命名逻辑见run_experiment中的name参数evals.py。可选开启 MLflow 追踪想要细粒度观察每次 LLM 调用的输入输出与耗时可以先启动 MLflow 服务mlflow ui --port 5000再运行评估即可。rag.py中的RAG类会在初始化时探测本地 MLflow 服务是否在线_check_mlflow_server默认探测http://127.0.0.1:5000超时 0.5 秒在线则调用mlflow.openai.autolog()自动追踪所有 OpenAI 调用并把mlflow_trace_id一并塞进每次查询的返回结果rag.py。evals.py还会为每条 trace 构造可直接点击的 MLflow 追踪 URL 写入结果 CSVconstruct_mlflow_trace_urlevals.py。项目结构improve_rag/ ├── README.md # 项目文档由 quickstart 命令自动生成 ├── pyproject.toml # 项目配置与依赖声明 ├── rag.py # RAG 实现naive 与 agentic 双模式 ├── evals.py # 评测工作流 ├── __init__.py # Python 包标记 └── evals/ ├── datasets/ # 测试数据集hf_doc_qa_eval.csv ├── experiments/ # 评测结果 CSV └── logs/ # 评测日志理解两种 RAG 模式朴素 RAG朴素模式执行一次检索、一次生成流程固定查询→ BM25 检索 top-k 文档上下文→ 检索到的文档拼成上下文生成→ LLM 基于上下文生成回答对应RAG._naive_query的实现rag.py先用检索器拿到top_k篇文档用system_prompt默认模板为Answer only based on documents. Be concise.\n\nQuestion: {query}\nDocuments:{context}\nAnswer:格式化后调用chat.completions.create最终返回{answer, retrieved_documents, num_retrieved, mlflow_trace_id}。rag RAG(llm_clientclient, retrieverretriever, modenaive) result await rag.query(What is the Diffusers library?)优点实现简单、速度快延迟可预期成本低单次 LLM 调用缺点检索词不同同义表述/术语变体时可能漏掉相关文档不做查询改写问法不佳时直接失败只有单一检索策略没有纠错机会Agentic RAGAgentic 模式把检索决策权交给 Agent查询→ Agent 分析问题搜索→ Agent 自主决定检索什么可多次搜索修正→ Agent 根据初步结果修正检索词生成→ Agent 综合检索结果生成最终回答rag.py中通过agents包的Agentfunction_tool实现rag.pyAgent 名为RAG Assistant系统指令明确要求先用精确术语命令、API、工具名搜索必要时尝试 2-3 次不同检索词只依据检索到的文档作答并保留准确语法与技术细节检索工具retrieve的 docstring 同样引导 Agent 采用具体术语 → 工具名 → 替代词的搜索策略。执行时由agents.Runner.run驱动_agentic_queryrag.py由于检索发生在 Agent 内部返回结果中retrieved_documents为空、num_retrieved为 0。rag RAG(llm_clientclient, retrieverretriever, modeagentic) result await rag.query(What command uploads an ESPnet model?)优点可尝试多种检索策略更擅长定位具体的专业技术信息能根据初步结果自适应调整检索方向缺点延迟更高多次 LLM 调用成本更高行为不如朴素模式可预期评测数据集模板自带evals/datasets/hf_doc_qa_eval.csv包含关于 HuggingFace 文档的技术问答共两个字段字段说明question关于 HuggingFace 工具链的技术问题expected_answer标准答案ground truth数据集中真实存在的问题示例见 hf_doc_qa_eval.csvWhat is the default checkpoint used by the sentiment analysis pipeline?What command is used to upload an ESPnet model?What is the purpose of the Diffusers library?What architecture is thetokenizers-linux-x64-muslbinary designed for?What method does the EulerAncestralDiscreteScheduler use for sampling?这类问题有个共同特点答案藏在文档的特定位置且对表述精度敏感命令名、API 名、默认值恰好能区分一次性检索与Agent 多轮检索的能力差异。首次运行时evals.py会尝试从远端拉取该 CSV 到本地已存在则跳过随后用Dataset(namehf_doc_qa_eval, backendlocal/csv, root_direvals)逐行构建 Ragas 数据集并保存evals.py。理解核心代码RAG 实现rag.pyBM25Retriever基于 BM25Best Matching 25算法做词法检索构建流程rag.py用datasets.load_dataset(m-ric/huggingface_doc, splittrain)加载 HuggingFace 文档语料逐条转成Document并把source字段的第二段如diffusers写入 metadata用RecursiveCharacterTextSplitterchunk_size1000、chunk_overlap100、分隔符依次为段落/换行/句点/空格/空串切分成块按page_content去重构建LangchainBM25Retriever索引。class BM25Retriever: def __init__(self, dataset_namem-ric/huggingface_doc): # 加载 HuggingFace 文档 # 切分为 chunk 便于检索 # 构建 BM25 索引 def retrieve(self, query: str, top_k: int 3): # 返回 top-k 最相关文档注意retrieve()会动态设置self.retriever.k top_k默认top_k取构造时的default_k3。RAG 类对外暴露统一接口内部按模式分发class RAG: def __init__(self, llm_client, retriever, modenaive, system_promptNone, modelgpt-4o-mini, default_k3): self.mode mode if mode agentic: self._setup_agent() async def query(self, question: str, top_k: int 3): if self.mode naive: return await self._naive_query(question, top_k) else: return await self._agentic_query(question, top_k)从源码可见完整签名还支持system_prompt自定义提示词模板、model默认gpt-4o-mini与default_k三个可调参数query()内部对未知模式抛出ValueError任何异常都会以{answer: Error: ...}的形式兜底返回而不是中断整个评测rag.py。评测脚本evals.py评测指标使用 Ragas 的离散指标将模型回答与标准答案对比correctness_metric DiscreteMetric( namecorrectness, promptCompare the model response to the expected answer... Return pass if correct, fail if incorrect., allowed_values[pass, fail], )完整提示词evals.py明确给出三条判据是否包含标准答案的关键信息、是否基于给定上下文在事实上准确、是否充分回答了提问。评测循环由experiment()装饰器包裹的evaluate_rag(row, rag, llm)驱动对每行数据调用rag.query(question, top_k4)拿到模型回答再用correctness_metric.ascore(question..., expected_answer..., response..., llmllm)异步打分最后把model_response、correctness_score、correctness_reason、mlflow_trace_id、mlflow_trace_url以及截断到 200 字符的检索文档列表一并写入结果evals.py。这里的llm由llm_factory(gpt-4o-mini, clientopenai_client, temperature1, top_pNone)构造evals.py评测结束时会在日志中打印pass_count/total_count (xx.x%)的汇总通过率。自定义改造更换知识库把 HuggingFace 文档换成你自己的资料实现一个同签名retrieve(query, top_k)的检索器即可class CustomRetriever: def __init__(self, documents: list[str]): from langchain_community.retrievers import BM25Retriever self.retriever BM25Retriever.from_texts(documents) def retrieve(self, query: str, top_k: int 3): self.retriever.k top_k return self.retriever.invoke(query)RAG只依赖检索器的retrieve(query, top_k)接口返回可访问page_content的文档列表因此任意实现——向量检索、混合检索、外部搜索 API——都能无缝接入。更换模型在evals.py中改两处即可切换模型# 生成端RAG 构造时指定 rag RAG(llm_clientclient, retrieverretriever, modelgpt-4o) # 评测端llm_factory 指定 llm llm_factory(gpt-4o-mini, clientopenai_client, temperature1, top_pNone)需要注意rag.py中的RAG类当前面向 OpenAI 兼容的AsyncOpenAI客户端编写内部直接调用chat.completions.createAgent 模式使用agents包的Agent(model...)。如果改用其他提供方如 Anthropic需要按对应 SDK 适配rag.py中的调用逻辑而评测端的llm_factory本身支持多提供方改动成本更低。添加自定义指标在correctness之外可以用 Ragas 的数值指标补充维度例如完整度评分from ragas.metrics import NumericalMetric completeness NumericalMetric( namecompleteness, promptHow complete is the response (1-5)? Question: {question} Expected: {expected_answer} Response: {response} Score:, allowed_values(1, 5), ) # 加入实验 result { **row, correctness: correctness_score.value, completeness: completeness.score(...).value, }Ragas 指标体系还提供了更多可选能力通用离散/数值/字符串指标、基于评价标准rubrics的指标等可参考 available metrics 文档 与 自定义/修改指标提示词指南。修改 Agent 行为Agent 的检索策略在rag.py的_setup_agent()中定制——改工具描述、系统指令即可控制搜索习惯def _setup_agent(self): function_tool def retrieve(query: str) - str: 自定义工具描述…… docs self.retriever.retrieve(query, self.default_k) return \n\n.join([doc.page_content for doc in docs]) self._agent Agent( nameCustom RAG Assistant, instructions你的自定义指令……, tools[retrieve] )例如针对代码库问答可以要求 Agent优先搜索函数签名与导入路径针对多语言场景可以要求同时用中英文术语各搜一次。对比结果依次运行两种模式# 朴素模式 uv run python evals.py # 结果保存到 experiments/YYYYMMDD-HHMMSS_naiverag.csv # Agentic 模式 uv run python evals.py --agentic # 结果保存到 experiments/YYYYMMDD-HHMMSS_agenticrag.csv然后用 pandas 快速汇总通过率import pandas as pd naive pd.read_csv(evals/experiments/..._naiverag.csv) agentic pd.read_csv(evals/experiments/..._agenticrag.csv) print(fNaive pass rate: {(naive[correctness_score] pass).mean():.1%}) print(fAgentic pass rate: {(agentic[correctness_score] pass).mean():.1%})除了通过率CSV 中的correctness_reasonLLM 给出的判分理由、mlflow_trace_url单条 trace 的完整调用链是定位失败根因的两个关键抓手先看判分理由缩小问题范围再顺着 trace 检查 Agent 到底检索了什么、生成了什么。这套流程同样适用于生产环境 RAG 的持续观测可进一步参考 Evaluate and Improve RAG 与 RAG Evaluation Guide。故障排查MLflow 警告看到 MLflow 报 trace 发送失败的警告时二选一即可启动 MLflow 服务mlflow ui --port 5000直接忽略——没有追踪时评测照常运行rag.py在 MLflow 不可用时静默降级_check_mlflow_server探测失败就把_mlflow_enabled置为False不再调用mlflow.openai.autolog()并在日志级别上压制了 mlflow 追踪模块的告警rag.py。Agentic 模式无法运行确认已安装 agents 包pip install openai-agents若仍报错检查是否同时存在多个 Python 环境——uv run与pip安装进的环境必须一致。首次运行缓慢首次运行需要下载 HuggingFace 文档数据集约 300MB用于构建 BM25 索引之后会使用本地缓存datasets库缓存与evals/datasets下的 CSV 均只下载一次。评估过程中的 LLM 调用延迟取决于所选模型与网络状况。总结improve_rag把RAG 架构选型从拍脑袋变成可量化实验固定知识库、固定问题集、固定评测指标只改变检索的驱动方式用correctness通过率说话。朴素模式是低成本基线Agentic 模式则是能力上限两者的差距就是你为更聪明的检索愿意付出的延迟与成本。以此为骨架替换检索器、模型与指标就能把同一套评测方法复用到你自己的知识库与业务场景中。赞分享人工智能大模型模型评测RAG【免费下载链接】ragasSupercharge Your LLM Application Evaluations 项目地址https://gitcode.com/gh_mirrors/ra/ragas点击查看免费下载相关推荐使用 Ragas 评估与系统性改进 RAG 应用从 Naive RAG 到 Agentic RAG 的完整实战指南使用 Ragas 评估与系统性改进 RAG 应用从 Naive RAG 到 Agentic RAG 的完整实战指南 本指南基于 Ragas 仓库中的端到端示例人工智能大模型模型评测RAGLabel Studio 中使用 Ragas 自动化评估 RAG 管道RAG 评估模板实战指南Label Studio 中使用 Ragas 自动化评估 RAG 管道RAG 评估模板实战指南 本文将围绕 Label Studio 官方模板库中的 Eva数据标注人工智能Unity GLTF模型导入终极教程5分钟掌握GLTFUtility完整指南Unity GLTF模型导入终极教程5分钟掌握GLTFUtility完整指南 GLTFUtility是Unity开发者必备的GLTF模型导入工具能够让你在U人工智能大模型模型评测RAG创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

SSM框架开发健身房会员管理系统实践

SSM框架开发健身房会员管理系统实践

1. 项目概述"java_ssm14健身房会员私教预约打卡管理系统"是一个基于SSM(SpringSpringMVCMyBatis)框架开发的健身房业务管理系统。这个系统主要解决传统健身房在会员管理、私教预约和考勤打卡等环节中存在的效率低下、数据混乱问题。我在实际开发这类系统时发现&#…

2026/9/21 16:40:37 阅读更多 →
Fleet migration-cleanup 工具实战:修复 RC 分支迁移文件重编号导致的 MySQL 迁移状态错乱

Fleet migration-cleanup 工具实战:修复 RC 分支迁移文件重编号导致的 MySQL 迁移状态错乱

后端前端企业应用运维网络安全 【免费下载链接】fleet Open device management 项目地址: https://gitcode.com/GitHub_Trending/fl/fleet 点击查看 免费下载 migration-cleanup 是 Fleet 仓库 tools/ 目录下的一款专用运维工具,用于在发布候选&#xf…

2026/9/21 16:40:37 阅读更多 →
Vue Router导航与传参实战技巧

Vue Router导航与传参实战技巧

1. Vue Router导航与传参实战指南作为一名有5年Vue开发经验的前端工程师,我经常看到新手在使用Vue Router时对导航和传参方式感到困惑。今天我就结合真实项目经验,详细解析声明式导航、编程式导航以及路由嵌套和守卫的使用技巧。2. 声明式导航深度解析2.…

2026/9/21 16:40:37 阅读更多 →

最新新闻

Java与ABAP标记接口设计模式对比与实践

Java与ABAP标记接口设计模式对比与实践

1. 项目概述:当代码需要"暗号"时在面向对象编程的世界里,我们常常会遇到这样的场景:某些类需要被特殊对待,但又不想通过继承体系或显式接口来暴露这种特殊性。就像特种部队成员需要隐藏身份但内部又能快速识别一样&…

2026/9/21 17:10:50 阅读更多 →
C#与OpenClaw构建自动化商业闭环系统

C#与OpenClaw构建自动化商业闭环系统

1. 项目概述:C#与OpenClaw的自动化商业闭环在当今数字化浪潮中,一人公司(One Person Company,简称OPC)的运营模式正在经历革命性变革。传统需要多人协作完成的业务流程,现在通过智能自动化工具完全可以由单…

2026/9/21 17:10:50 阅读更多 →
DeepSeek Harness 首次启动引导演进:移除内测 Beta 通知的决策、遥测默认关闭与 settings.onboarding 缝合点设计

DeepSeek Harness 首次启动引导演进:移除内测 Beta 通知的决策、遥测默认关闭与 settings.onboarding 缝合点设计

人工智能AI AgentAgent 框架DeepSeek 【免费下载链接】deepseek-harness DeepSeek Harness: Everything is a Plugin. 项目地址: https://gitcode.com/gh_mirrors/de/deepseek-harness 点击查看 免费下载 本文依据 DeepSeek Harness 仓库中已归档的技术决策记录 20…

2026/9/21 17:09:49 阅读更多 →
Java 21 + Spring Boot 3 构建企业级 RAG 智能体工作流引擎

Java 21 + Spring Boot 3 构建企业级 RAG 智能体工作流引擎

1. 项目概述:为什么在 Java 生态里重做 RAG 智能体工作流不是“倒退”,而是精准卡位别卷 Python 了——这句话不是情绪宣泄,是我在连续交付 7 个 AI 增强型企业系统后的真实判断。过去两年,我带团队用 Python LangChain LangGr…

2026/9/21 17:08:48 阅读更多 →
system.img修改全攻略:格式识别、解包重打包与刷写避坑指南

system.img修改全攻略:格式识别、解包重打包与刷写避坑指南

1. system.img为何要改:先搞清楚这张"系统盘"的脾气玩Android的时间稍微长一点,基本都会遇到这个需求:自带应用删不掉、想加个开机脚本、想把某几个系统应用替换成自己改过的版本、或者单纯想把谷歌全家桶从国行固件里拔掉。这些操…

2026/9/21 17:08:47 阅读更多 →
变频与定频空调负荷聚合模型及Matlab实现

变频与定频空调负荷聚合模型及Matlab实现

1. 项目背景与核心价值在电力系统运行中,空调负荷占比逐年攀升,夏季高峰时段甚至可达总负荷的40%以上。传统控制方式往往将空调视为不可控负荷,导致电网调峰压力巨大。这项研究通过建立空调负荷的精细化控制模型,实现了三点突破&a…

2026/9/21 17:08:46 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →