Coggle 30 Days of ML(24年1/2月)-汽车知识问答RAG

本文探讨了RAG(RetrievalAugmentedGeneration)技术,一种结合大型语言模型生成能力和外部知识库检索的框架,以解决模型局限性、提高准确性和时效性。文章详细描述了RAG的工作原理、模块、优点与SFT的对比,以及与LangChain平台的集成,还涉及了查询改写、本地微调等进阶应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务1:初始RAG

1. 大型语言模型的局限性
(1) 模型幻觉问题:生成内容可能不准确或不一致
(2) 时效性问题:生成的内容不具有当前时效性
(3) 数据安全问题:可能存在敏感信息泄露风险

2. RAG目标
RAG被构建为一个应用于大型语言模型的框架,其目标是通过结合大模型的生成能力和外部知识库的检索机制,提升自然语言处理任务的效果。

3. RAG典型模板
你是一个{task}方面的专家,请结合给定的资料,并回答最终的问题。请如实回答,如果问题在资料中找不到答案,请回答不知道。
问题:{question}
资料:
- {information1}
- {information2}
- {information3}

4. RAG优点
(1) 提高准确性和相关性
(2) 改善时效性,使模型适应当前事件和知识
(3) 降低生成错误风险,依赖检索系统提供的准确信息

5. RAG和SFT对比
RAG优点:结合检索系统和生成模型。优点是能利用最新信息,提高答案质量,具有更好的可解释性和适应性
RAG缺点:是可能面临检索质量问题和增加额外计算资源需求
SFT优点:针对特定任务调整预训练模型。优点是可针对特定任务优化
SFT缺点:更新成本高,对新信息适应性较差

6. RAG流程
(1) 问题理解:准确把握用户的意图
(2) 知识检索:从知识库中相关的知识检索
(3) 答案生成:将检索结果与问题组合生成答案

7. RAG技术模块
(1) 意图理解:意图理解模块负责准确把握用户提出的问题,确定用户的意图和主题。处理用户提问的模糊性和不规范性,为后续流程提供清晰的任务目标。
(2) 文档解析:文档解析模块用于处理来自不同来源的文档,包括PDF、PPT、Neo4j等格式。该模块负责将文档内容转化为可处理的结构化形式,为知识检索提供合适的输入。
(3) 文档索引:文档索引模块将解析后的文档分割成短的Chunk,并构建向量索引。或通过全文索引进行文本检索,使得系统能够更快速地找到与用户问题相关的文档片段。
(4) 向量嵌入:向量嵌入模块负责将文档索引中的内容映射为向量表示,以便后续的相似度计算。这有助于模型更好地理解文档之间的关系,提高知识检索的准确性。
(5) 知识检索:知识检索模块根据用户提问和向量嵌入计算的相似度检索或文本检索打分。这一步骤需要解决问题和文档之间的语义关联,确保检索的准确性。
(6) 重排序:重排序模块在知识检索后对文档库

<think>好的,我现在需要解决用户在命令行中使用cd命令时遇到的“No such file or directory”错误。用户的具体情况是尝试切换到“MiniCPM-V/finetune”目录,但系统提示路径不存在。这个问题可能由几个原因引起,我需要逐一分析。 首先,用户可能输入了错误的目录名者路径拼写有误。常见的错误包括大小写不匹配、多余的空格特殊字符,比如将“MiniCPM-V”写“minicpm-v”者“MiniCPM_V”。这时候需要仔细检查路径的每个部分是否正确。可以使用ls命令列出当前目录下的文件和文件夹,确认目标目录是否存在。如果目录不存在,可能需要重新创建调整路径。 其次,用户可能没有正确进入上一级目录。例如,假设用户当前在根目录下,而“MiniCPM-V/finetune”位于另一个位置,比如“autodl-tmp/rag_project”下。这时候需要确保先进入正确的父目录。比如,先执行“cd autodl-tmp/rag_project”再尝试进入“MiniCPM-V/finetune”。如果路径层级有误,可能需要使用相对路径绝对路径来正确导航。 另外,路径中的特殊字符可能需要转义处理。例如,如果目录名包含空格括号,需要用引号包裹路径者使用反斜杠转义。例如,“cd 'My Documents'”“cd My\ Documents”。不过根据用户提供的路径“MiniCPM-V/finetune”,似乎没有特殊字符,但这一步仍然需要注意。 用户提到执行了“bash finetune_lora.sh”命令,可能是在正确的目录下运行该脚本。如果脚本依赖于特定目录中的文件,路径错误会导致脚本执行失败。因此,确认当前工作目录是否正确至关重要。 可能的解决步骤包括: 1. 使用pwd命令确认当前所在目录。 2. 使用ls检查当前目录下的内容,确认是否存在目标目录。 3. 如果路径错误,使用正确的相对绝对路径重新进入。 4. 如果目录不存在,可能需要创建目录检查项目结构是否正确。 另外,用户可能误用了绝对路径和相对路径。例如,假设“MiniCPM-V/finetune”位于用户的home目录下,但用户当前在另一个位置,需要使用绝对路径如“~/MiniCPM-V/finetune”“/home/user/MiniCPM-V/finetune”。 还有可能是文件系统的区分大小写问题。某些系统区分大小写,因此目录名必须完全匹配。例如,“MiniCPM-V”和“minicpm-v”会被视为不同的目录。 总结起来,解决步骤应该是: - 检查路径拼写和大小写 - 确认当前目录结构 - 使用绝对路径正确的相对路径 - 处理特殊字符 - 必要时创建缺失的目录 最后,用户需要根据具体情况调整命令,确保路径正确无误,才能功进入目录执行后续脚本。</think>要解决命令行中使用 `cd` 命令时出现的 **"No such file or directory"** 错误,请按照以下步骤排查和修复: --- ### **步骤 1:检查路径拼写和大小写** - **常见问题**:路径名称拼写错误大小写不匹配(Linux 系统区分大小写)。 - 错误示例:`MiniCPM-V` 写 `minicpm-v` `MiniCPM_V`。 - **解决方法**: - 使用 `ls` 命令查看当前目录下的文件和文件夹,确认目标路径是否存在: ```bash ls # 查看当前目录内容 ls MiniCPM-V # 检查是否存在 MiniCPM-V 目录 ``` --- ### **步骤 2:确认路径层级关系** - **常见问题**:未正确进入父目录。例如,若 `MiniCPM-V/finetune` 位于 `autodl-tmp/rag_project` 目录下,需先进入父目录: ```bash cd autodl-tmp/rag_project # 先进入父目录 cd MiniCPM-V/finetune # 再进入子目录 ``` - **解决方法**: - 使用 `pwd` 查看当前绝对路径,逐步检查目录层级: ```bash pwd # 输出当前路径(例如:/root/autodl-tmp) ``` --- ### **步骤 3:处理特殊字符空格** - **常见问题**:路径包含空格特殊字符(如括号、引号),需用引号包裹转义: ```bash cd "Path With Spaces" # 路径含空格时用引号 cd Special\&Char # 转义特殊字符 ``` - 根据你的路径 `MiniCPM-V/finetune`,未发现特殊字符,但需注意大小写。 --- ### **步骤 4:使用绝对路径替代相对路径** - **直接通过绝对路径跳转**(更稳定): ```bash cd /root/autodl-tmp/rag_project/MiniCPM-V/finetune ``` - 若不确定绝对路径,可通过 `find` 命令搜索目录: ```bash find / -type d -name "finetune" 2>/dev/null ``` --- ### **步骤 5:手动创建缺失目录** - 若目录确实不存在,需创建目录: ```bash mkdir -p MiniCPM-V/finetune # -p 参数自动创建父目录 cd MiniCPM-V/finetune ``` --- ### **总结命令流程** ```bash # 1. 检查路径是否存在 ls -l /root/autodl-tmp/rag_project/MiniCPM-V # 2. 进入父目录(根据实际情况调整) cd /root/autodl-tmp/rag_project # 3. 进入目标目录 cd MiniCPM-V/finetune # 4. 执行脚本 bash finetune_lora.sh ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值