第二章:RAG知识库开发之【详细剖析RAG的核心概念】
目录前言一、AI 时代的技术变革与大模型局限二、本文的学习目标与适用人群三、学习建议第一部分 RAG 相关核心概念1.1 RAG 基础定义什么是检索增强生成1.1.1 标准定义1.1.2 RAG 的核心本质1.1.3 RAG 的核心价值解决什么问题1.2 RAG 与微调Fine-tuning的核心区别1.3 RAG 的核心工作流程四步闭环第一步数据预处理与入库离线阶段第二步用户问题向量化在线阶段第三步相似度检索核心步骤第四步提示词增强与生成回答1.4 RAG 核心组件详解必掌握概念1.4.1 文档加载器Document Loader1.4.2 文本分块器Text Splitter1.4.3 嵌入模型Embedding Model1.4.4 向量数据库Vector Database1.4.5 大语言模型LLM1.4.6 提示词模板Prompt Template1.5 向量与相似度计算RAG 数学核心1.5.1 文本向量Text Embedding1.5.2 相似度计算方法1.5.3 检索召回Retrieval Recall1.6 RAG 的分类基础 RAG vs 高级 RAG1.6.1 基础 RAGNaive RAG1.6.2 高级 RAGAdvanced RAG1.7 RAG 核心技术指标评价标准1.8 RAG 典型应用场景全行业覆盖第二部分 RAG 基础实战代码环境准备完整 RAG 实现代码含注释代码运行说明第三部分 本章练习题与解答一、选择题基础概念15 题二、填空题核心概念10 题三、简答题深度理解5 题四、实操题代码理解2 题练习题标准答案一、选择题二、填空题三、简答题四、实操题总结一、本文核心知识复盘二、RAG 学习路径建议三、RAG 的产业价值与未来四、学习寄语前言一、AI 时代的技术变革与大模型局限随着生成式人工智能AIGC技术的爆发式发展大语言模型LLM已成为智能交互、内容生成、知识问答、代码开发等领域的核心基础设施。从 ChatGPT、文心一言到通义千问、Llama 2大模型凭借强大的语言理解、逻辑推理与生成能力彻底改变了人与技术的交互方式。但在实际产业落地与日常使用中开发者、运维人员、前端 / 后端工程师乃至 AI 爱好者都会发现通用大模型存在无法忽视的固有缺陷。首先是知识时效性滞后大模型的训练数据存在固定时间窗口无法实时获取训练完成后产生的新信息如 2026 年最新技术规范、行业政策、企业内部文档导致回答过时、失真。其次是领域知识匮乏通用大模型对垂直领域如医疗、法律、工业运维、软件开发框架的专业知识掌握不足易出现 一本正经地胡说八道 的幻觉问题。最后是数据安全与隐私风险直接将企业内部机密数据、个人隐私信息输入公共大模型存在数据泄露、合规违规的严重隐患。为解决上述痛点检索增强生成Retrieval-Augmented GenerationRAG技术应运而生。作为当前大模型落地最主流、最安全、成本最低的优化方案RAG 无需重新训练大模型仅通过 外部检索 提示词增强 的方式就能让大模型精准调用私有数据、实时数据、专业数据从根本上解决幻觉、知识滞后、隐私安全三大核心问题。二、本文的学习目标与适用人群本文面向初级 / 中级开发者、前端工程师、后端工程师、运维人员、AI 爱好者及在校学生以 专业易懂、教学导向、实战落地 为核心系统拆解 RAG 的核心概念、技术原理、架构组成、实战代码与应用场景。通过本文学习你将达成以下目标彻底理解 RAG 的定义、核心价值与技术本质厘清 RAG 与微调Fine-tuning的核心区别掌握 RAG 全流程的核心概念、关键组件与工作原理建立完整的技术知识体系能够独立编写可运行的 RAG 基础代码理解每一行代码的逻辑与作用具备识别 RAG 应用场景、分析技术方案、解决基础问题的能力为后续深入学习 RAG 优化、多模态 RAG、企业级 RAG 部署奠定坚实基础。本文严格遵循教学教案规范结构清晰、逻辑严谨、案例通俗、代码可直接运行既适合课堂教学、自学提升也可作为技术团队内部培训资料直接发布使用。三、学习建议无需深厚 AI 基础本文从零基础出发对专业术语进行通俗化解释具备编程基础即可学习重点关注核心逻辑RAG 本质是 检索 生成 的结合理解数据流转流程比记忆代码更重要动手实践代码文中代码均配置详细注释建议本地运行调试加深对原理的理解结合练习题巩固每一个核心概念后配套针对性练习题学练结合提升学习效果。第一部分 RAG 相关核心概念1.1 RAG 基础定义什么是检索增强生成1.1.1 标准定义检索增强生成Retrieval-Augmented Generation简称 RAG是一种结合信息检索Information Retrieval与文本生成Text Generation的大模型优化技术。其核心逻辑是在大模型生成回答之前先从外部知识库中检索与用户问题相关的精准信息将这些信息作为 上下文参考资料 输入给大模型引导大模型基于真实、精准的外部数据生成回答而非仅依赖模型内部参数记忆的知识。简单来说通用大模型是 闭卷考试只能靠脑子里记的知识答题RAG 是 开卷考试先从课本外部知识库里找到相关内容再整理成规范答案。1.1.2 RAG 的核心本质RAG 不是新的大模型架构而是一种大模型应用层的增强范式其本质是用外部检索能力弥补大模型内部知识的缺陷实现 模型轻量化、知识外部化、更新实时化、安全可控化。1.1.3 RAG 的核心价值解决什么问题消除幻觉回答严格基于外部知识库的真实数据杜绝无依据的虚假内容知识实时更新无需训练模型仅更新外部知识库即可让模型掌握最新知识保护数据隐私私有数据存储在本地 / 私有部署知识库不输入公共大模型降低成本相比大模型微调Fine-tuningRAG 开发成本低、部署速度快、维护简单垂直领域适配快速接入行业专业数据让通用大模型具备领域专家能力。1.2 RAG 与微调Fine-tuning的核心区别对于初学者最易混淆的两个概念是RAG和微调Fine-tuning二者都是大模型优化方案但技术路径、适用场景、成本完全不同对比如下对比维度RAG检索增强生成微调Fine-tuning技术原理外部检索 提示词增强不修改模型参数修改模型内部权重参数注入知识知识存储存储在外部数据库向量库、文档库存储在模型参数中知识更新实时更新数据库秒级生效重新训练模型耗时耗力幻觉问题几乎无幻觉回答可溯源仍可能存在幻觉知识不可溯源数据隐私私有数据本地存储绝对安全需将数据用于训练隐私风险高部署成本低无需算力、无需训练高需要 GPU 算力、训练时间适用场景实时知识、私有数据、垂直领域问答通用能力增强、风格对齐、逻辑优化核心结论90% 的企业级大模型应用知识库问答、文档助手、运维客服优先选择 RAG仅当需要优化大模型的基础生成能力、语言风格时才考虑微调。1.3 RAG 的核心工作流程四步闭环RAG 的完整运行流程是 数据入库→问题处理→检索匹配→生成回答 四步闭环每一步都对应核心技术组件是理解 RAG 的基础第一步数据预处理与入库离线阶段将外部文档PDF、Word、Txt、Excel清洗、分段、向量化存储到向量数据库中构建私有知识库。核心动作文档加载 → 文本分块 → 向量嵌入 → 索引存储。第二步用户问题向量化在线阶段接收用户输入的自然语言问题将其转换为与知识库数据同维度的向量数值化表示。核心动作问题解析 → 向量嵌入。第三步相似度检索核心步骤用问题向量在向量数据库中检索计算向量之间的相似度返回最相关的 Top-K 条文本片段上下文参考资料。核心动作近似最近邻搜索ANN→ 相似度排序 → 结果召回。第四步提示词增强与生成回答将 用户问题 检索到的参考资料 拼接成规范提示词输入大模型大模型基于参考资料生成精准、可溯源的回答。核心动作提示词工程 → 大模型推理 → 答案生成。一句话总结流程先把知识存进 智能课本用户提问后找到课本对应页码把内容递给大模型大模型整理后给出答案。1.4 RAG 核心组件详解RAG 系统由五大核心组件构成每个组件都是独立的技术模块理解组件功能就能掌握 RAG 架构1.4.1 文档加载器Document Loader定义负责读取不同格式的外部文件将非结构化数据转换为纯文本。支持格式Txt、PDF、Word、Excel、Markdown、网页、数据库、API 数据等。核心作用打通数据来源让 RAG 能读取各类私有数据。通俗理解相当于 文件阅读器把不同格式的文件都转成纯文本。1.4.2 文本分块器Text Splitter定义将长文本切割成固定长度的短文本片段Chunk是 RAG 最关键的预处理步骤。分块原因大模型有上下文窗口限制单次只能处理有限字符且长文本检索精度更低。分块原则保持语义完整性不切断完整句子、段落逻辑。常用分块方式固定字符分块、递归分块、按段落分块、语义分块。通俗理解把一本厚书切成一页一页的小纸条方便检索和输入模型。1.4.3 嵌入模型Embedding Model定义将文本分块后的片段、用户问题转换为向量Vector的 AI 模型也叫 向量编码器。向量是什么一组固定长度的数值如 1536 维、768 维文本的语义信息被编码到数值中。核心特性语义相似的文本向量距离越近语义无关的文本向量距离越远。常用嵌入模型OpenAI Embedding、BGE、M3E、文心 Embedding 等。通俗理解把文字翻译成 机器能读懂的数字语言让机器能计算文字的相似度。1.4.4 向量数据库Vector Database定义专门存储、索引、检索向量数据的数据库是 RAG 的 核心大脑。核心功能支持高维向量的快速相似度检索毫秒级返回最相关的文本片段。与传统数据库区别传统数据库查精确匹配如 、like向量数据库查语义相似匹配。常用向量库Chroma、FAISS、Milvus、Pinecone、Qdrant。通俗理解RAG 的 图书馆管理员能快速找到与问题最相关的资料。1.4.5 大语言模型LLM定义负责理解用户问题、阅读参考资料、生成最终自然语言回答的模型。核心作用基于检索到的参考资料做逻辑整合、语言润色、答案生成。RAG 对 LLM 的要求无需超大参数重点关注理解能力、指令遵循能力。部署方式公共 APIOpenAI、文心一言、本地私有部署Llama 2、Qwen。通俗理解RAG 的 答题者根据找到的资料整理出标准答案。1.4.6 提示词模板Prompt Template定义规范大模型输入格式的固定模板将 用户问题 参考资料 按规则拼接。核心作用约束大模型仅使用参考资料回答禁止编造信息。标准模板结构请基于以下参考资料回答用户问题不要编造信息 参考资料{检索到的内容} 用户问题{用户输入} 回答要求简洁、准确、可溯源1.5 向量与相似度计算1.5.1 文本向量Text Embedding文本向量是 RAG 的数据基础是将非结构化文本转化为结构化数值的关键。示例文本RAG 是检索增强生成技术向量[0.123, 0.456, 0.789, ..., 0.321]768 维数组核心特性语义不变性同义句向量高度接近维度固定同一嵌入模型输出向量长度一致可计算性可通过数学公式计算相似度。1.5.2 相似度计算方法向量数据库通过相似度公式判断文本相关性RAG 最常用三种方法余弦相似度Cosine Similarity最常用衡量向量方向差异范围 [-1,1]值越大越相似欧氏距离Euclidean Distance衡量向量空间距离距离越小越相似点积Dot Product计算快速适合大规模数据检索。通俗理解计算两个 数字语言 的匹配程度分数越高说明内容越相关。1.5.3 检索召回Retrieval Recall定义从向量库中返回与用户问题最相关的 Top-K 条文本片段。关键参数Top-K返回结果数量常用 3-5 条过多会超出模型上下文相似度阈值仅返回高于阈值的结果保证相关性。1.6 RAG 的分类基础 RAG vs 高级 RAG根据技术复杂度与应用场景RAG 分为两类1.6.1 基础 RAGNaive RAG架构文档分块 → 嵌入 → 向量存储 → 相似度检索 → 生成回答。特点实现简单、部署快速适合入门学习、小型应用。缺点对复杂问题、长文档、歧义问题检索精度较低。1.6.2 高级 RAGAdvanced RAG在基础 RAG 上增加优化模块提升检索精度与回答质量预处理优化语义分块、数据清洗、元数据标注检索优化多路召回、重排序Rerank、混合检索后处理优化上下文压缩、答案验证、幻觉检测特点适合企业级复杂场景是工业落地标准方案。1.7 RAG 核心技术指标评价标准判断 RAG 系统好坏的四个核心指标准确率Accuracy回答是否正确、是否符合参考资料召回率Recall是否检索到了所有相关的参考资料响应速度Latency从提问到回答的时间毫秒级幻觉率Hallucination Rate是否编造未出现在参考资料中的信息。1.8 RAG 典型应用场景全行业覆盖RAG 已成为大模型落地的标配技术覆盖所有行业企业知识库问答员工查询内部制度、技术文档、产品手册智能客服基于产品说明书回答用户问题杜绝错误答复运维助手基于运维手册、故障库排查服务器、系统问题教育学习基于教材、课件生成答疑、知识点讲解法律 / 医疗基于法条、病历、医学指南生成专业回答软件开发基于 API 文档、代码库生成代码、解释函数个人助手基于个人笔记、资料生成总结、问答。第二部分 RAG 基础实战代码本文提供Python 零基础可运行 RAG 基础代码使用轻量级框架LangChain、本地向量库Chroma、开源嵌入模型M3E无需 GPU、无需付费 API本地直接运行。环境准备# 安装依赖库 pip install langchain0.1.10 pip install chromadb0.4.24 pip install sentence-transformers2.4.0 pip install pypdf4.1.0完整 RAG 实现代码# # RAG核心概念实战代码 # 功能构建本地知识库实现检索增强生成问答 # 适用零基础、本地运行、无付费依赖 # # 1. 导入依赖库 from langchain.document_loaders import TextLoader # 文档加载器 from langchain.text_splitter import RecursiveCharacterTextSplitter # 文本分块器 from langchain.embeddings import HuggingFaceEmbeddings # 开源嵌入模型 from langchain.vectorstores import Chroma # 轻量级向量数据库 from langchain.llms.base import LLM # 大模型基类 from langchain.chains import RetrievalQA # RAG问答链 from typing import Optional, List # 2. 自定义模拟大模型本地运行无需API # 作用模拟LLM生成回答真实场景可替换为OpenAI/文心一言 class MockLLM(LLM): 自定义简易大语言模型用于演示RAG生成逻辑 property def _llm_type(self) - str: return mock_llm def _call(self, prompt: str, stop: Optional[List[str]] None) - str: 核心生成逻辑提取提示词中的参考资料整理输出答案 prompt包含用户问题检索资料的完整提示词 # 模拟生成逻辑真实场景替换为模型API调用 return f【基于RAG参考资料的回答】{prompt.split(用户问题)[-1][:10]}...的相关答案已生成严格遵循参考资料无幻觉内容。 # 3. 步骤1创建测试知识库文档模拟私有数据 def create_test_knowledge_base(): 创建RAG测试用知识库文本 knowledge_text RAG全称Retrieval-Augmented Generation即检索增强生成。 RAG核心作用解决大模型幻觉、知识滞后、隐私安全问题。 RAG工作流程数据入库→问题向量化→检索→生成回答。 RAG核心组件文档加载器、分块器、嵌入模型、向量库、大模型。 RAG与微调区别RAG不修改模型实时更新微调修改模型参数成本高。 向量数据库存储文本向量实现语义相似度检索。 嵌入模型将文本转换为数值向量语义相似则向量接近。 # 保存为本地文本文件 with open(rag_knowledge.txt, w, encodingutf-8) as f: f.write(knowledge_text) print(✅ 测试知识库创建完成rag_knowledge.txt) # 4. 步骤2加载与分块文档 def load_and_split_document(file_path: str): 加载文档并分块 :param file_path: 文档路径 :return: 分块后的文档列表 # 加载文本文件 loader TextLoader(file_path, encodingutf-8) documents loader.load() # 初始化文本分块器递归分块保持语义完整 # chunk_size100每个块100字符chunk_overlap20块之间重叠20字符保证语义连贯 text_splitter RecursiveCharacterTextSplitter( chunk_size100, chunk_overlap20, separators[\n\n, \n, 。, , ] ) split_docs text_splitter.split_documents(documents) print(f✅ 文档分块完成共生成{len(split_docs)}个文本块) return split_docs # 5. 步骤3初始化嵌入模型与向量数据库 def build_vector_store(split_docs): 构建向量数据库 :param split_docs: 分块后的文档 :return: 向量库检索器 # 加载开源中文嵌入模型M3E本地运行免费 embedding HuggingFaceEmbeddings( model_namemoka-ai/m3e-base, model_kwargs{device: cpu} # CPU运行无需GPU ) # 创建Chroma向量库本地持久化存储 vector_store Chroma.from_documents( documentssplit_docs, embeddingembedding, persist_directory./rag_vector_db # 向量库保存路径 ) vector_store.persist() # 持久化保存 print(✅ 向量数据库构建完成已保存至本地) # 创建检索器返回Top-3最相关结果 retriever vector_store.as_retriever(search_kwargs{k: 3}) return retriever # 6. 步骤4构建RAG问答链 def build_rag_chain(retriever): 构建完整RAG检索生成链 :param retriever: 向量库检索器 :return: RAG可调用对象 # 初始化自定义大模型 llm MockLLM() # 创建RAG问答链检索生成一体化 rag_chain RetrievalQA.from_chain_type( llmllm, chain_typestuff, # 将所有检索资料直接填入提示词 retrieverretriever, return_source_documentsTrue # 返回参考资料来源可溯源 ) print(✅ RAG问答链构建完成准备就绪) return rag_chain # 7. 主函数RAG全流程运行 if __name__ __main__: print(*50) print(RAG核心概念实战演示) print(*50) # 1. 创建测试知识库 create_test_knowledge_base() # 2. 加载并分块文档 split_docs load_and_split_document(rag_knowledge.txt) # 3. 构建向量数据库 retriever build_vector_store(split_docs) # 4. 构建RAG链 rag_chain build_rag_chain(retriever) # 5. 测试RAG问答 test_questions [ 什么是RAG, RAG解决什么问题, RAG和微调有什么区别, 向量数据库的作用是什么 ] print(\n 开始RAG问答测试) for i, question in enumerate(test_questions, 1): result rag_chain({query: question}) print(f\n【问题{i}】{question}) print(f【RAG回答】{result[result]}) print(f【参考资料】{len(result[source_documents])}条) for idx, doc in enumerate(result[source_documents], 1): print(f 参考{idx}{doc.page_content[:50]}...) print(\n RAG全流程运行完成)代码运行说明无依赖门槛纯 CPU 运行无需付费 API、无需 GPU流程完整覆盖 RAG 所有核心步骤加载→分块→嵌入→向量库→检索→生成可扩展将MockLLM替换为真实大模型 API即可用于生产环境可溯源输出结果包含参考资料验证 RAG 无幻觉特性。第三部分 本章练习题与解答一、选择题基础概念15 题RAG 的全称是A. Retrieval Attention Generation B. Retrieval-Augmented GenerationC. Reinforcement Augmented Generation D. Retrieval Algorithm GenerationRAG 核心解决的大模型问题不包括A. 幻觉 B. 知识滞后 C. 计算速度慢 D. 隐私泄露RAG 与微调的核心区别是A. RAG 修改模型参数 B. 微调无需训练数据C. RAG 知识存储在外部 D. 微调知识更新更快RAG 流程中将文本转为向量的组件是A. 文档加载器 B. 嵌入模型 C. 向量数据库 D. 文本分块器向量数据库的核心能力是A. 精确字符串匹配 B. 语义相似度检索C. 图片存储 D. 高并发事务文本分块的主要目的是A. 减少存储成本 B. 适配模型上下文窗口C. 提升模型训练速度 D. 美化文本格式RAG 离线阶段的核心步骤是A. 用户问题向量化 B. 数据预处理入库C. 相似度检索 D. 生成回答以下哪项是 RAG 的优势A. 需要大量训练算力 B. 知识实时更新C. 会修改大模型参数 D. 数据隐私风险高嵌入模型输出的结果是A. 纯文本 B. 高维向量 C. 图片 D. 音频RAG 生成回答的依据是A. 模型内部记忆 B. 外部检索的参考资料C. 随机生成 D. 网络搜索实时数据高级 RAG 相比基础 RAG 增加的模块是A. 文本分块 B. 重排序Rerank C. 文档加载 D. 向量存储RAG 提示词模板的核心作用是A. 让模型自由发挥 B. 约束模型仅用参考资料回答C. 加快生成速度 D. 减少代码量以下哪种不属于向量相似度计算方法A. 余弦相似度 B. 欧氏距离 C. 点积 D. 哈希算法RAG 适用场景不包括A. 企业私有知识库 B. 实时政策问答C. 大模型基础能力训练 D. 智能客服RAG 系统中负责读取 PDF/Word 文件的组件是A. 嵌入模型 B. 文档加载器 C. 向量库 D. 大模型二、填空题核心概念10 题RAG 的核心逻辑是_______ _______。大模型仅依赖内部知识生成回答的最大问题是_______。RAG 在线阶段的第一步是_______。文本分块的核心原则是_______。语义相似的文本向量距离_______。RAG 检索返回的结果数量参数是_______。自定义 RAG 提示词必须包含_______和_______。本地轻量级向量数据库常用_______。RAG 知识更新的方式是_______。RAG 回答可溯源的依据是_______。三、简答题深度理解5 题请用通俗语言解释什么是 RAG简述 RAG 的完整四步工作流程。列举 RAG 五大核心组件并说明功能。为什么 RAG 能解决大模型幻觉问题对比 RAG 与微调说明 RAG 的优势。四、实操题代码理解2 题说明本文 RAG 代码中RecursiveCharacterTextSplitter的作用与参数含义。如何将代码中的MockLLM替换为真实大模型 API练习题标准答案一、选择题1.B 2.C 3.C 4.B 5.B 6.B 7.B 8.B 9.B 10.B 11.B 12.B 13.D 14.C 15.B二、填空题信息检索、文本生成幻觉编造信息用户问题向量化保持语义完整性更近更小Top-K参考资料、用户问题Chroma/FAISS更新外部知识库检索到的源文档三、简答题RAG 是检索增强生成技术让大模型先从外部知识库查找相关资料再基于资料生成回答相当于开卷考试。①数据预处理入库 ②用户问题向量化 ③相似度检索 ④提示词增强生成回答。①文档加载器读取文件②分块器切割长文本③嵌入模型文本转向量④向量库存储检索向量⑤大模型生成最终回答。因为 RAG 强制大模型仅使用外部检索的真实资料回答不依赖模型内部记忆杜绝无依据编造。RAG 无需修改模型、成本低、知识实时更新、隐私安全、无幻觉微调成本高、更新慢、隐私风险高。四、实操题作用递归切割长文本保持语义完整chunk_size 单块长度chunk_overlap 块重叠长度保证语义连贯。替换 MockLLM 为 LangChain 支持的大模型 API如 OpenAI、文心一言配置 API 密钥即可。总结一、本文核心知识复盘本文系统讲解了RAG 核心概念从基础定义到技术原理从组件拆解到实战代码构建了完整的 RAG 知识体系核心定义RAG 检索 生成开卷考试模式解决大模型三大痛点核心流程数据入库→向量化→检索→生成四步闭环核心组件加载器、分块器、嵌入模型、向量库、大模型核心优势无幻觉、实时更新、隐私安全、低成本实战落地提供可直接运行的完整 RAG 代码覆盖全流程教学配套练习题 答案适合自学与课堂教学。二、RAG 学习路径建议基础阶段掌握本文核心概念运行实战代码理解 RAG 流程进阶阶段学习高级 RAG重排序、语义分块、混合检索实战阶段接入真实大模型 API部署企业级知识库优化阶段提升检索精度、降低延迟、优化提示词。三、RAG 的产业价值与未来作为当前大模型落地最核心、最通用的技术方案RAG 已成为 AI 开发者、后端 / 前端工程师、运维人员的必备技能。无论你是在校学生、技术爱好者还是产业从业者掌握 RAG 都能快速搭建 AI 应用实现私有数据智能化拥抱 AI 时代的技术红利。RAG 的未来趋势多模态 RAG文本 图片 音频 视频、轻量化端侧 RAG、自适应检索 RAG技术生态将持续完善应用场景将无限拓展。四、学习寄语技术的本质是解决实际问题RAG 正是大模型从 玩具 走向 工具 的关键桥梁。希望本文能成为你 RAG 学习的起点以概念为根基以实战为手段以应用为目标真正掌握检索增强生成技术在 AI 时代构建自己的核心竞争力。 感谢您耐心阅读到这里 技术成长没有捷径但每一次的阅读、思考和实践都在默默缩短您与成功的距离。 如果本文对您有所启发欢迎点赞、收藏、分享给更多需要的伙伴️ 期待在评论区看到您的想法、疑问或建议我会认真回复让我们共同探讨、一起进步 关注我持续获取更多干货内容 我们下篇文章见