贺霞 ed1bc05fdc 02_RAG系统搭建 2 months ago
..
chroma_dashscope ed1bc05fdc 02_RAG系统搭建 2 months ago
chroma_db ed1bc05fdc 02_RAG系统搭建 2 months ago
documents ed1bc05fdc 02_RAG系统搭建 2 months ago
.python-version ed1bc05fdc 02_RAG系统搭建 2 months ago
README.md ed1bc05fdc 02_RAG系统搭建 2 months ago
chunk_content.py ed1bc05fdc 02_RAG系统搭建 2 months ago
loadPDF.py ed1bc05fdc 02_RAG系统搭建 2 months ago
loadPDF_new.py ed1bc05fdc 02_RAG系统搭建 2 months ago
main.py ed1bc05fdc 02_RAG系统搭建 2 months ago
pyproject.toml ed1bc05fdc 02_RAG系统搭建 2 months ago
uv.lock ed1bc05fdc 02_RAG系统搭建 2 months ago

README.md

加载文件, 清洗,去除噪音,空格 CRITICAL = [

    "移除多余空格和换行",      # 影响:语义完整性
    "修复断词连字符",          # 影响:词汇正确性
    "移除页码和页眉页脚",      # 影响:内容纯净度
]

HIGH = [
    "统一标点符号",            # 影响:分块准确性
    "移除控制字符",            # 影响:向量质量
    "处理特殊编码字符",        # 影响:文本可读性
]

MEDIUM = [
    "拼写纠错",                # 影响:检索准确度
    "数字格式统一",            # 影响:数值检索
    "去除重复段落",            # 影响:存储效率
]

分块策略,设定块最大字符数,重叠数量,拆分条件

固定字符分块
按分隔符递归分块
语义分块,用模型计算相邻句子的语义相似度
文档结构分块,利用文档本身的标题,章节,段落来定义边界

文档通常包含丰富的上下文信息和复杂的语义结构,通过将文档分块,模型可以更有效地提取关键信息,并减少不相关内容的干扰。分块的目标在于确保每个片段在保留核心语义的同时,具备相对独立的语义完整性,从而使模型在处理时不必依赖广泛的上下文信息,增强检索召回的准确性。

嵌入

检索

提问

去向量库搜索带上相关内容,向大模型提问