大模型-RAG
文章平均质量分 86
df007df
帮助大家从容面对面试,弥补平时工作中因没有时间而遗忘的八股文。
提供面经突击内容,作为面试突击或补齐多年Java基本功必备。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【RAGFlow代码详解-30】构建系统和 CI/CD
RAGFlow采用多阶段Docker构建系统,支持完整版和精简版两种镜像变体,并通过优化缓存策略提升构建效率。项目使用Python脚本管理外部依赖下载,包括ML模型和系统库等。持续集成工作流涵盖静态分析、多后端测试和分级测试策略。发布自动化系统支持版本发布和每日构建,同步推送Docker镜像和PyPI包。灵活的版本管理系统结合Git标签和构建文件,确保开发和生产环境的一致性。构建系统还针对不同CPU架构进行了优化,支持x86和ARM平台。原创 2025-08-26 17:31:18 · 906 阅读 · 0 评论 -
【RAGFlow代码详解-29】Docker 部署
RAGFlow采用Docker Compose多服务架构,核心配置定义在docker-compose.yml中,包含应用服务器、任务执行器和基础设施服务。系统通过entrypoint.sh脚本实现灵活服务配置,支持多种部署模式(全栈/仅API/任务节点/MCP集成)。配置管理采用模板化环境变量替换,MCP服务器提供外部工具集成能力,支持文档检索功能。部署方案支持单节点开发到分布式处理场景,任务执行器使用jemalloc进行内存优化,并通过唯一主机ID实现分布式协调。原创 2025-08-26 17:17:51 · 517 阅读 · 0 评论 -
【RAGFlow代码详解-28】部署和基础设施
RAGFlow采用Docker多阶段构建和Compose编排部署,支持完整/轻量级部署变体。系统包含Web服务、任务执行器和可选的MCP服务器模块,通过入口点脚本实现灵活配置。构建过程通过GitHub Actions实现CI/CD流程,包含测试和发布工作流。MCP服务器提供标准化的AI模型接口,支持自托管和主机两种部署模式。系统实现动态版本检测机制,并依赖多个基础设施服务,通过健康检查确保正确启动顺序。部署配置支持中国镜像选项优化网络访问。原创 2025-08-26 16:53:07 · 968 阅读 · 0 评论 -
【RAGFlow代码详解-26】Python SDK
RAGFlow Python SDK 为开发者提供了与RAGFlow HTTP API交互的编程接口,支持知识库管理、文档处理和对话式AI功能集成。该SDK采用模块化设计,包含知识库、聊天和代理等核心客户端类,支持API密钥、会话登录和OAuth等多种认证方式。提供同步/异步操作模式,具有结构化错误处理机制,适用于Web应用、批处理系统等场景。开发者可通过PyPI安装,SDK架构与HTTP API保持一致,简化了REST API调用过程。原创 2025-08-26 16:42:32 · 1209 阅读 · 0 评论 -
【RAGFlow代码详解-25】HTTP 接口
本文介绍了基于Flask构建的HTTP API系统架构和功能模块。该系统采用API密钥进行身份验证,通过模块化蓝图组织功能,主要包含数据集管理、文档处理、块管理、聊天助手和会话管理五大核心模块。数据集模块支持知识图谱操作,文档模块处理文件上传解析,块模块提供细粒度内容控制,聊天和会话模块实现对话式AI功能。系统采用标准化错误处理机制,提供Python SDK封装API调用,并兼容OpenAI接口格式。所有端点遵循RESTful设计,返回统一JSON响应结构,支持流式传输和非流式请求处理。原创 2025-08-26 16:34:45 · 1113 阅读 · 0 评论 -
【RAGFlow代码详解-24】API 参考
RAGFlow API架构采用分层设计,包含认证授权、核心API和数据处理层。系统提供基于API密钥的认证机制,并划分数据集管理、文档处理、聊天会话等六大功能模块。采用标准化请求响应流程,支持OpenAI兼容接口,便于集成。Python SDK封装了底层API调用,提供面向对象接口。错误处理系统定义规范状态码,涵盖参数校验、权限控制等场景,确保一致性的错误反馈。整个架构强调模块化设计,兼顾功能完整性与开发便利性。原创 2025-08-26 15:30:59 · 1483 阅读 · 0 评论 -
【RAGFlow代码详解-23】聊天系统架构
本文介绍了一个基于React的聊天系统架构,采用SSE实现实时消息流,支持多种交互模式。系统核心包括分层组件结构、基于钩子的状态管理和消息生命周期管理,实现URL驱动导航和乐观更新。特色功能包括多模型并发对话、可嵌入聊天小部件及与RAGFlow子系统的深度集成,通过统一消息接口连接知识库、LLM管理等模块,支持文件上传、多租户隔离等扩展能力。原创 2025-08-26 15:25:03 · 540 阅读 · 0 评论 -
【RAGFlow代码详解-22】聊天界面
本文介绍了基于React和SSE技术的实时聊天系统架构。系统采用分层设计,前端通过React构建,后端采用SSE实现实时消息流。核心功能包括:1)消息流系统处理用户输入和AI响应;2)使用useSendMessageWithSse钩子管理SSE连接生命周期;3)UI组件架构包含消息显示、输入和控制模块;4)对话管理系统通过对话和会话层次组织交互;5)集成知识库和LLM实现智能响应。系统支持Markdown渲染、文档引用、文件上传等功能,通过URL参数维护聊天状态,实现了高效的实时通信体验。原创 2025-08-26 15:05:40 · 645 阅读 · 0 评论 -
【RAGFlow代码详解-14】知识图谱处理
本文介绍了一个基于知识图谱的处理系统架构,该系统采用四阶段工作流(子图生成、图合并、实体解析和社区检测)。系统通过抽象Extractor类实现两种提取器,支持并发处理和分布式存储。关键特性包括:1)使用Leiden算法进行社区检测并生成结构化报告;2)多级缓存和并发控制优化性能;3)支持轻量级和常规两种提取方法。系统通过配置驱动的解析器设置实现灵活定制,并采用trio异步原语实现高效的资源管理。该架构有效平衡了处理效率与功能完整性,适用于复杂的知识图谱处理任务。原创 2025-08-26 14:47:19 · 869 阅读 · 0 评论 -
【RAGFlow代码详解-13】RAG 管道
RAG 管道架构通过多阶段处理将文档转换为结构化知识图谱,支持两种提取方法:轻量级(Light)和常规(GraphRAG)。系统包含实体解析、图谱合并、多层存储等功能,并与 RAPTOR 分层处理集成。标准化数据格式支持多种检索模式,包括关键词、向量和图查询。该架构实现了从文档到知识图谱的转换,并兼容 RAGFlow 检索系统,提供灵活的查询方式。原创 2025-08-26 14:24:39 · 462 阅读 · 0 评论 -
【RAGFlow代码详解-12】知识库 API
该知识库API基于Flask蓝图实现,提供完整的知识库生命周期管理功能。系统采用多租户架构,通过Flask-Login进行身份验证,并支持基于装饰器的权限控制。核心功能包括知识库CRUD操作、标签管理、知识图谱处理以及元数据操作,与多种存储后端(文档存储、文件存储)深度集成。API提供标准化的错误处理和响应格式,支持分页查询、字段验证和文档处理状态跟踪。特别实现了PageRank同步、重复名称处理等业务逻辑,通过工厂模式适配不同云存储服务,满足企业级知识管理的需求。原创 2025-08-26 14:09:14 · 1108 阅读 · 0 评论 -
【RAGFlow代码详解-11】知识库管理
该知识库管理系统提供了一套完整的文档管理和知识图谱解决方案。系统核心功能包括知识库的CRUD操作、多租户权限控制、文档存储集成(支持Elasticsearch和Infinity后端)、知识图谱增强搜索(GraphRAG)、标签管理以及解析器配置。通过分层架构实现元数据管理、索引创建和向量搜索等功能,支持自定义字段映射和动态配置更新。系统采用严格的访问控制机制,确保数据安全性和操作权限。文档存储后端提供差异化的搜索和存储方案,满足不同业务场景需求。原创 2025-08-26 13:56:37 · 739 阅读 · 0 评论 -
【RAGFlow代码详解-10】文本处理和查询处理
本文介绍了面向RAGFlow文档存储的文本查询处理系统,该系统通过多语言支持、优化的分词算法和智能加权机制实现高效检索。系统核心包括FulltextQueryer主控制器、RagTokenizer分词器和Dealer加权处理器,采用基于IDF、NER和POS的多因素权重计算模型。查询处理流程包含问题解析、术语加权、混合相似度计算(结合70%向量+30%文本相似度)等环节,并支持Elasticsearch集成。系统提供可配置的字典、NER映射和停用词表等资源,通过动态调整查询权重和匹配阈值,实现精准的文档检索原创 2025-08-26 13:40:26 · 847 阅读 · 0 评论 -
【RAGFlow代码详解-9】文档解析和 OCR
本文介绍了一个多功能的文档解析和OCR系统。该系统支持PDF、DOCX、Excel等多种格式,具备基于视觉的DeepDoc分析功能,包括布局识别、表格检测和OCR文本识别。系统采用模块化设计,包含专门的解析器类处理不同格式,并配有错误处理机制确保鲁棒性。关键组件包括OCR引擎(支持GPU加速)、视觉增强模块和表格结构识别功能,能够自动分析文档结构并生成结构化输出。系统还具备图像预处理、批处理优化等性能增强特性,为文档处理提供了全面的解决方案。原创 2025-08-26 11:55:10 · 341 阅读 · 0 评论 -
【RAGFlow代码详解-8】文档处理管道
文档处理管道遵循从原始文件输入到结构化块输出的系统方法:RAGFlow 支持全面的文件格式检测和专门的解析策略:chunk() 函数中的解析器选择逻辑使用正则表达式模式匹配:PDF 处理管道代表了 RAGFlow 中最复杂的文档解析功能:PDF 解析器集成了多个计算机视觉模型:文本处理系统将解析后的内容转换为语义上有意义的块:RAGFlow 根据文档类型和内容实现多种分块策略:系统通过 get_delimiters() 函数支持灵活的分隔符配置:RAGFlow 包括针对不同文档类型和用例的专用处理器,在 r原创 2025-08-26 11:46:43 · 465 阅读 · 0 评论 -
【RAGFlow代码详解-7】LLM 集成系统
本文概述了一个多模态LLM集成系统的架构设计。系统采用工厂模式实现动态模型加载,支持60+提供商,涵盖聊天、嵌入、语音、图像等6类模型。通过配置文件和数据库管理模型元数据,提供统一的错误处理和重试机制。重点支持工具调用和流式响应,包括OpenAI、通义千问等主流模型。系统架构包含模型工厂、配置管理、错误处理等核心模块,实现了多类型LLM的统一接入和管理。原创 2025-08-25 19:53:57 · 1021 阅读 · 0 评论 -
【RAGFlow代码详解-5】配置系统
RAGFlow采用多层配置架构,支持灵活的部署场景。核心配置通过service_conf.yaml定义,包含数据库连接、对象存储、搜索引擎等关键服务设置。全局配置系统通过api/settings.py集中管理运行时参数,支持环境变量覆盖。系统采用工厂模式支持多种存储后端(MinIO、AWS S3等)和认证提供商(OAuth2/OIDC)。LLM配置支持分层覆盖,从模型级到系统级默认值。初始化过程会验证各服务连接,严重错误将阻止启动。该架构通过模块化设计实现了高度可配置性和扩展性。原创 2025-08-25 19:26:40 · 1059 阅读 · 0 评论 -
【RAGFlow代码详解-4】数据存储层
RAGFlow 支持用于矢量和全文搜索的多个文档存储后端:Elasticsearch、Infinity 和 OpenSearch。服务处理用户身份验证、知识库管理和文档处理工作流。Redis 有多种用途:与优先级队列的任务协调、Flask 会话存储、用于成本优化的 LLM 响应缓存以及用于性能的文件缓存。该系统使用连接池和自动模式迁移,并将搜索条件转换为 Infinity 的查询构建器 API,同时保持每个知识库的表组织。每个任务都通过块构建、嵌入生成和文档存储插入进行,并具有全面的错误处理和重试机制。原创 2025-08-24 21:14:05 · 1341 阅读 · 0 评论 -
【RAGFlow代码详解-3】核心服务
任务执行系统是 RAGFlow 的主要后台处理引擎,负责文档解析、分块、嵌入生成和知识图谱构建。该系统是围绕 TaskExecutor 类构建的,并使用分布式工作器架构和基于 Redis 的任务队列。RAGFlow 的服务层提供了一套全面的数据库服务和业务逻辑处理程序,可在 HTTP API 层和底层存储系统之间进行协调。系统维护所有工作器实例的详细指标,包括待处理任务、滞后任务、已完成任务和失败任务。运行状况检查提供详细的状态信息,包括所有核心服务的响应时间、错误率和资源利用率。) 进行专门的速率限制。原创 2025-08-24 20:56:18 · 529 阅读 · 0 评论 -
【RAGFlow代码详解-2】系统架构
RAGFlow是一个基于微服务架构的智能文档处理系统,集成了文档处理、对话式AI、搜索检索和LLM功能。系统采用Actor模型处理任务,多后端文档存储和工厂模式的LLM集成。核心文档处理流程包括分块、嵌入生成和存储操作。搜索系统实现混合检索,结合全文和向量相似性搜索。API层使用Flask蓝图,服务层通过专门类实现业务逻辑,采用Peewee ORM进行数据库集成。系统支持Docker部署,可通过环境变量灵活配置后端服务。原创 2025-08-24 20:41:40 · 964 阅读 · 0 评论 -
【RAGFlow代码详解-1】概述
RAGFlow是一个生产级RAG引擎,结合LLM与文档理解技术,支持多格式文档处理(PDF/DOCX/Excel等)。其技术特点包括:深度文档解析、可配置分块策略、多后端存储支持(Elasticsearch/OpenSearch等)和可视化工作流构建器。系统采用分层架构,包含React前端、Flask后端和多种存储方案,通过API提供知识库管理、文档处理等功能。RAGFlow实现了从文档上传、解析到向量检索的完整处理流程,支持多语言和容器化部署,适用于企业级知识管理场景。原创 2025-08-24 20:29:31 · 1201 阅读 · 0 评论
分享