refactor(m7): restructure non-code assets including filenames, environment setup, and minor fixes

This commit is contained in:
Annyfee
2026-01-03 16:52:49 +08:00
parent ee95c05d13
commit 795f38127b
12 changed files with 16 additions and 15 deletions
+10 -10
View File
@@ -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(记得先删除旧数据库目录)。
直接运行 `s05_memory_rag_agent.py` 体验完整 Agent 能力;若想自定义知识库,可替换 `war_and_peace.txt` 并重新运行 build_index.py(记得先删除旧数据库目录)。
@@ -1,3 +1,4 @@
import config
import os
from langchain_community.document_loaders import TextLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter
@@ -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('---加载本地向量数据库---')
@@ -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}
@@ -52,7 +52,7 @@ def build_rag_chain(llm_instance):
# 2. A-增强
sys_prompt = """
你是一个博学的历史学家和文学评论家
请根据以下上下文回答问题如果上下文**强烈暗示**了答案即使未明说也可推理回答
请根据以下上下文回答问题如果上下文**暗示**了答案即使未明说也可推理回答
如果完全无关请回答对不起根据所提供的上下文我不知道
[上下文]: {context}
@@ -48,7 +48,7 @@ def build_rag_chain(llm_instance):
# A
sys_prompt = """
你是一个博学的历史学家和文学评论家
请根据以下上下文回答问题如果上下文**强烈暗示**了答案即使未明说也可推理回答
请根据以下上下文回答问题如果上下文**暗示**了答案即使未明说也可推理回答
如果完全无关请回答对不起根据所提供的上下文我不知道
[上下文]: {context}