diff --git a/m07_rag_advanced/README.md b/m07_rag_advanced/README.md index 49e8f6b..8a39c09 100644 --- a/m07_rag_advanced/README.md +++ b/m07_rag_advanced/README.md @@ -15,7 +15,7 @@ --- -### 2. `build_index.py` (构建 Chroma 向量数据库) +### 2. `s01_build_index.py` (构建 Chroma 向量数据库) 将 `war_and_peace.txt` 加载、分块、向量化,并存入 Chroma 持久化向量数据库。 @@ -29,11 +29,11 @@ - 该脚本仅需运行一次,成功后会生成目录 chroma_db_war_and_peace_bge_small_en_v1.5。 - 首次运行需下载 Embedding 模型(约2分钟)+ 向量化全文(约3分钟),总耗时较长。 - ✅ 项目已附带预建好的 chroma_db_war_and_peace_bge_small_en_v1.5 文件夹,推荐直接使用,无需重复运行此脚本。 - - 如需重建,请先手动删除该目录再执行。 + - 如需重建,请先手动删除该文件夹,再执行。 --- -### 3. `load_from_chroma.py` (从 Chroma 加载向量库) +### 3. `s02_load_from_chroma.py` (从 Chroma 加载向量库) 加载已持久化的 Chroma 向量数据库,用于后续检索。 @@ -48,7 +48,7 @@ --- -### 4. `reranker.py` (引入精排序器) +### 4. `s03_reranker.py` (引入精排序器) 在召回结果上应用 Reranker 模型,提升上下文相关性。 @@ -64,7 +64,7 @@ --- -### 5. `rag_as_tool.py` (RAG 工具化封装) +### 5. `s04_rag_as_tool.py` (RAG 工具化封装) 将 RAG 链封装为 LangChain `@tool`,供 Agent 调用。 @@ -79,7 +79,7 @@ --- -### 6. `memory_rag_agent.py` (终极集成 Agent) +### 6. `s05_memory_rag_agent.py` (终极集成 Agent) 首次融合 LangChain 六大核心模块,构建带记忆、能自主决策的智能体。 @@ -102,9 +102,9 @@ ### 🔔 全局注意事项 -- 所有 `.py` 文件(除 `build_index.py` 外)均依赖 `chroma_db_war_and_peace_bge_small_en_v1.5` 目录。 -- 推荐直接使用已提供的向量数据库文件夹,跳过 `build_index.py` 的长时间构建过程。 -- 若自行运行 `build_index.py`,请确保 `war_and_peace.txt` 已就位。 +- 所有 `.py` 文件(除 `s01_build_index.py` 外)均依赖 `chroma_db_war_and_peace_bge_small_en_v1.5` 目录。 +- 推荐直接使用已提供的向量数据库文件夹,跳过 `s01_build_index.py` 的长时间构建过程。 +- 若自行运行 `s01_build_index.py`,请确保 `war_and_peace.txt` 已就位。 - 如需更换 Embedding 模型(如升级至 `bge-m3`),需同步更新 `build_index.py` 和 RAG 脚本中的模型名。 @@ -112,4 +112,4 @@ ### 💡 **建议**: -直接运行 `memory_rag_agent.py` 体验完整 Agent 能力;若想自定义知识库,可替换 `war_and_peace.txt` 并重新运行 build_index.py(记得先删除旧数据库目录)。 \ No newline at end of file +直接运行 `s05_memory_rag_agent.py` 体验完整 Agent 能力;若想自定义知识库,可替换 `war_and_peace.txt` 并重新运行 build_index.py(记得先删除旧数据库目录)。 \ No newline at end of file diff --git a/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/data_level0.bin b/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/data_level0.bin deleted file mode 100644 index d76ac2a..0000000 Binary files a/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/data_level0.bin and /dev/null differ diff --git a/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/header.bin b/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/header.bin deleted file mode 100644 index 485afa1..0000000 Binary files a/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/header.bin and /dev/null differ diff --git a/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/index_metadata.pickle b/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/index_metadata.pickle deleted file mode 100644 index 8f183e9..0000000 Binary files a/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/index_metadata.pickle and /dev/null differ diff --git a/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/length.bin b/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/length.bin deleted file mode 100644 index 4dd3db3..0000000 Binary files a/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/length.bin and /dev/null differ diff --git a/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/link_lists.bin b/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/link_lists.bin deleted file mode 100644 index ada0bfc..0000000 Binary files a/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/771f6022-247b-4779-b472-2ef5df335f9e/link_lists.bin and /dev/null differ diff --git a/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/chroma.sqlite3 b/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/chroma.sqlite3 deleted file mode 100644 index fb10b14..0000000 Binary files a/m07_rag_advanced/chroma_db_war_and_peace_bge_small_en_v1.5/chroma.sqlite3 and /dev/null differ diff --git a/m07_rag_advanced/build_index.py b/m07_rag_advanced/s01_build_index.py similarity index 99% rename from m07_rag_advanced/build_index.py rename to m07_rag_advanced/s01_build_index.py index 02229c3..cf90627 100644 --- a/m07_rag_advanced/build_index.py +++ b/m07_rag_advanced/s01_build_index.py @@ -1,3 +1,4 @@ +import config import os from langchain_community.document_loaders import TextLoader from langchain_text_splitters import RecursiveCharacterTextSplitter diff --git a/m07_rag_advanced/load_from_chroma.py b/m07_rag_advanced/s02_load_from_chroma.py similarity index 96% rename from m07_rag_advanced/load_from_chroma.py rename to m07_rag_advanced/s02_load_from_chroma.py index 8116f70..b2a4f14 100644 --- a/m07_rag_advanced/load_from_chroma.py +++ b/m07_rag_advanced/s02_load_from_chroma.py @@ -13,7 +13,7 @@ model_name_str = 'BAAI/bge-small-en-v1.5' if not os.path.exists(Persist_directory): print(f"错误: 知识库文件 {Persist_directory} 未找到。") - print("请先运行'build_index.py'生成向量数据库,再运行该文件") + print("请先运行's03_build_index.py'生成向量数据库,再运行该文件") exit() print('---加载本地向量数据库---') diff --git a/m07_rag_advanced/reranker.py b/m07_rag_advanced/s03_reranker.py similarity index 93% rename from m07_rag_advanced/reranker.py rename to m07_rag_advanced/s03_reranker.py index 81183b0..0639ba0 100644 --- a/m07_rag_advanced/reranker.py +++ b/m07_rag_advanced/s03_reranker.py @@ -15,7 +15,7 @@ model_name_str = 'BAAI/bge-small-en-v1.5' if not os.path.exists(Persist_directory): print(f"错误: 知识库文件 {Persist_directory} 未找到。") - print("请先运行'build_index.py'生成向量数据库,再运行该文件") + print("请先运行's03_build_index.py'生成向量数据库,再运行该文件") exit() print('---加载本地向量数据库---\n') @@ -55,7 +55,7 @@ print('--检索器已升级为Reranker模式--\n') # 2. A-增强 sys_prompt = """ 你是一个博学的历史学家和文学评论家。 -请根据以下上下文回答问题。如果上下文**强烈暗示**了答案,即使未明说,也可推理回答。 +请根据以下上下文回答问题。如果上下文**暗示**了答案,即使未明说,也可推理回答。 如果完全无关,请回答“对不起,根据所提供的上下文我不知道”。 [上下文]: {context} diff --git a/m07_rag_advanced/rag_as_tool.py b/m07_rag_advanced/s04_rag_as_tool.py similarity index 96% rename from m07_rag_advanced/rag_as_tool.py rename to m07_rag_advanced/s04_rag_as_tool.py index c6b6867..a23ec1d 100644 --- a/m07_rag_advanced/rag_as_tool.py +++ b/m07_rag_advanced/s04_rag_as_tool.py @@ -52,7 +52,7 @@ def build_rag_chain(llm_instance): # 2. A-增强 sys_prompt = """ 你是一个博学的历史学家和文学评论家。 - 请根据以下上下文回答问题。如果上下文**强烈暗示**了答案,即使未明说,也可推理回答。 + 请根据以下上下文回答问题。如果上下文**暗示**了答案,即使未明说,也可推理回答。 如果完全无关,请回答“对不起,根据所提供的上下文我不知道”。 [上下文]: {context} diff --git a/m07_rag_advanced/memory_rag_agent.py b/m07_rag_advanced/s05_memory_rag_agent.py similarity index 97% rename from m07_rag_advanced/memory_rag_agent.py rename to m07_rag_advanced/s05_memory_rag_agent.py index d009bcc..7648d7b 100644 --- a/m07_rag_advanced/memory_rag_agent.py +++ b/m07_rag_advanced/s05_memory_rag_agent.py @@ -48,7 +48,7 @@ def build_rag_chain(llm_instance): # A sys_prompt = """ 你是一个博学的历史学家和文学评论家。 - 请根据以下上下文回答问题。如果上下文**强烈暗示**了答案,即使未明说,也可推理回答。 + 请根据以下上下文回答问题。如果上下文**暗示**了答案,即使未明说,也可推理回答。 如果完全无关,请回答“对不起,根据所提供的上下文我不知道”。 [上下文]: {context}