自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(175)
  • 收藏
  • 关注

原创 【大模型记忆-Mem0详解-8】核心组件-内存域

Mem0· 中的内存作提供 CRUD(创建、读取、更新、删除)功能以及高级搜索功能。Python SDK:同步和异步客户端类REST API:所有作的 HTTP 端点批量作 :高效批量处理多个存储器搜索作 :向量相似性和基于元数据的筛选所有内存作都支持元数据、筛选、版本控制和历史记录跟踪。

2025-09-16 18:26:10 729

原创 【大模型记忆-Mem0详解-7】核心组件-工厂系统

工厂系统由四个主要工厂类组成,用于处理跨不同组件类型的提供程序的动态实例化。每个工厂在创建实例之前维护提供程序映射并处理配置验证。

2025-09-16 17:53:07 300

原创 【大模型记忆-Mem0详解-6】核心组件-图形记忆

Graph Memory 与 Mem0 的向量存储一起作为并行存储系统运行,自动从对话数据中提取实体和关系并将其存储在图形数据库中。该系统使用 LLM 进行实体提取和关系建立,然后将结构化数据存储在支持的图形数据库中。

2025-09-16 17:42:58 959

原创 【大模型记忆-Mem0详解-5】核心组件-内存类,内存客户端

Mem0 内存系统采用模块化架构,支持同步/异步操作和LLM驱动的自动内存管理。核心组件包括会话管理、向量存储、SQLite历史跟踪和LLM事实提取。系统通过工厂模式实例化组件,支持多种内存类型处理,并提供Python/TypeScript SDK。MemoryClient作为平台接口,处理身份验证和API请求格式化,实现完整的内存CRUD操作和语义搜索功能。系统采用统一的请求处理管道,包含遥测捕获和错误处理机制。

2025-09-01 17:28:10 1074

原创 【大模型记忆-Mem0详解-4】核心组件

mem0系统提供了内存管理的核心架构,包含Memory和MemoryClient两个主要类。系统采用工厂模式动态创建LLM、嵌入模型等组件实例,支持灵活扩展。存储层由SQLiteManager、VectorStore、GraphStore和MemoryGraph组成,分别处理历史记录、语义搜索和图关系存储。内存操作流程协调向量存储和图存储系统,实现添加、搜索等核心功能。系统通过LLM驱动的工具从非结构化文本中提取结构化信息,构建知识图谱。整个架构支持开源部署和托管平台交互两种场景。

2025-09-01 17:07:58 445

原创 【大模型记忆-Mem0详解-3】安装和设置

Mem0 提供了两种不同的部署路径,具有不同的安装要求和设置过程:两个部署路径都使用相同的核心包,但需要不同的配置方法。JavaScript/TypeScript 安装该包为平台与开源使用提供了不同的导入路径:托管平台只需要一个 API 密钥,并使用 或 类。开源设置开源部署使用 Memory 类,需要配置 LLM 和嵌入提供程序。提供程序配置架构不同的提供程序需要配置特定的环境变量。配置示例Anthropic Claude 与 OpenAI 嵌入使用 Ollama 进行本地设

2025-09-01 16:55:37 1092

原创 【大模型记忆-Mem0详解-2】系统架构

托管平台 :通过 MemoryClient 和 AsyncMemoryClient 类访问的托管服务开源 :以 Memory 类为中心的自托管组件,具有可插拔提供程序此架构使开发人员能够在完全托管的解决方案或完全控制其内存基础结构之间进行选择,同时在两种部署模型中保持一致的 API。

2025-09-01 16:43:01 432

原创 【大模型记忆-Mem0详解-1】概述

Mem0是一个将无状态AI应用转化为有状态系统的智能记忆平台,提供持久记忆、多级存储和语义搜索等功能。其核心架构支持托管服务和自托管两种部署模式,采用工厂模式实现灵活组件配置。系统包含工作记忆、事实记忆等四种类型,通过LLM实现智能记忆管理。Mem0显著优化了性能,减少90%令牌使用并提升91%响应速度,同时作为中央记忆层与多种AI框架集成。平台支持向量数据库、图数据库等多种存储后端,为AI应用提供全面的记忆管理解决方案。

2025-08-31 22:26:04 760

原创 【大模型记忆-1】LangMem核心概念

如果系统过度提取,当您的智能体需要搜索存储时,可能会导致记忆的精确度降低。“潜意识”记忆形成指的是在对话发生后(或在一段时间不活动后)提示 LLM 对话进行反思,从而发现模式和提取见解,而不会减慢即时互动或增加智能体工具选择决策的复杂性。在使用 LangMem 的有状态操作符或平台服务时,存储系统建立在 LangGraph 的存储原语之上,提供了一种灵活而强大的方式来组织和访问记忆。LLM 应用中的记忆可以反映人类记忆的某些结构,每种类型在构建自适应、具备上下文感知能力的系统中都扮演着独特的角色。

2025-08-28 16:43:13 927

原创 【RAGFlow代码详解-30】构建系统和 CI/CD

RAGFlow采用多阶段Docker构建系统,支持完整版和精简版两种镜像变体,并通过优化缓存策略提升构建效率。项目使用Python脚本管理外部依赖下载,包括ML模型和系统库等。持续集成工作流涵盖静态分析、多后端测试和分级测试策略。发布自动化系统支持版本发布和每日构建,同步推送Docker镜像和PyPI包。灵活的版本管理系统结合Git标签和构建文件,确保开发和生产环境的一致性。构建系统还针对不同CPU架构进行了优化,支持x86和ARM平台。

2025-08-26 17:31:18 898

原创 【RAGFlow代码详解-29】Docker 部署

RAGFlow采用Docker Compose多服务架构,核心配置定义在docker-compose.yml中,包含应用服务器、任务执行器和基础设施服务。系统通过entrypoint.sh脚本实现灵活服务配置,支持多种部署模式(全栈/仅API/任务节点/MCP集成)。配置管理采用模板化环境变量替换,MCP服务器提供外部工具集成能力,支持文档检索功能。部署方案支持单节点开发到分布式处理场景,任务执行器使用jemalloc进行内存优化,并通过唯一主机ID实现分布式协调。

2025-08-26 17:17:51 509

原创 【RAGFlow代码详解-28】部署和基础设施

RAGFlow采用Docker多阶段构建和Compose编排部署,支持完整/轻量级部署变体。系统包含Web服务、任务执行器和可选的MCP服务器模块,通过入口点脚本实现灵活配置。构建过程通过GitHub Actions实现CI/CD流程,包含测试和发布工作流。MCP服务器提供标准化的AI模型接口,支持自托管和主机两种部署模式。系统实现动态版本检测机制,并依赖多个基础设施服务,通过健康检查确保正确启动顺序。部署配置支持中国镜像选项优化网络访问。

2025-08-26 16:53:07 952

原创 【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 1160

原创 【RAGFlow代码详解-25】HTTP 接口

本文介绍了基于Flask构建的HTTP API系统架构和功能模块。该系统采用API密钥进行身份验证,通过模块化蓝图组织功能,主要包含数据集管理、文档处理、块管理、聊天助手和会话管理五大核心模块。数据集模块支持知识图谱操作,文档模块处理文件上传解析,块模块提供细粒度内容控制,聊天和会话模块实现对话式AI功能。系统采用标准化错误处理机制,提供Python SDK封装API调用,并兼容OpenAI接口格式。所有端点遵循RESTful设计,返回统一JSON响应结构,支持流式传输和非流式请求处理。

2025-08-26 16:34:45 1069

原创 【RAGFlow代码详解-24】API 参考

RAGFlow API架构采用分层设计,包含认证授权、核心API和数据处理层。系统提供基于API密钥的认证机制,并划分数据集管理、文档处理、聊天会话等六大功能模块。采用标准化请求响应流程,支持OpenAI兼容接口,便于集成。Python SDK封装了底层API调用,提供面向对象接口。错误处理系统定义规范状态码,涵盖参数校验、权限控制等场景,确保一致性的错误反馈。整个架构强调模块化设计,兼顾功能完整性与开发便利性。

2025-08-26 15:30:59 1428

原创 【RAGFlow代码详解-23】聊天系统架构

本文介绍了一个基于React的聊天系统架构,采用SSE实现实时消息流,支持多种交互模式。系统核心包括分层组件结构、基于钩子的状态管理和消息生命周期管理,实现URL驱动导航和乐观更新。特色功能包括多模型并发对话、可嵌入聊天小部件及与RAGFlow子系统的深度集成,通过统一消息接口连接知识库、LLM管理等模块,支持文件上传、多租户隔离等扩展能力。

2025-08-26 15:25:03 523

原创 【RAGFlow代码详解-22】聊天界面

本文介绍了基于React和SSE技术的实时聊天系统架构。系统采用分层设计,前端通过React构建,后端采用SSE实现实时消息流。核心功能包括:1)消息流系统处理用户输入和AI响应;2)使用useSendMessageWithSse钩子管理SSE连接生命周期;3)UI组件架构包含消息显示、输入和控制模块;4)对话管理系统通过对话和会话层次组织交互;5)集成知识库和LLM实现智能响应。系统支持Markdown渲染、文档引用、文件上传等功能,通过URL参数维护聊天状态,实现了高效的实时通信体验。

2025-08-26 15:05:40 618

原创 【RAGFlow代码详解-14】知识图谱处理

本文介绍了一个基于知识图谱的处理系统架构,该系统采用四阶段工作流(子图生成、图合并、实体解析和社区检测)。系统通过抽象Extractor类实现两种提取器,支持并发处理和分布式存储。关键特性包括:1)使用Leiden算法进行社区检测并生成结构化报告;2)多级缓存和并发控制优化性能;3)支持轻量级和常规两种提取方法。系统通过配置驱动的解析器设置实现灵活定制,并采用trio异步原语实现高效的资源管理。该架构有效平衡了处理效率与功能完整性,适用于复杂的知识图谱处理任务。

2025-08-26 14:47:19 823

原创 【RAGFlow代码详解-13】RAG 管道

RAG 管道架构通过多阶段处理将文档转换为结构化知识图谱,支持两种提取方法:轻量级(Light)和常规(GraphRAG)。系统包含实体解析、图谱合并、多层存储等功能,并与 RAPTOR 分层处理集成。标准化数据格式支持多种检索模式,包括关键词、向量和图查询。该架构实现了从文档到知识图谱的转换,并兼容 RAGFlow 检索系统,提供灵活的查询方式。

2025-08-26 14:24:39 435

原创 【RAGFlow代码详解-12】知识库 API

该知识库API基于Flask蓝图实现,提供完整的知识库生命周期管理功能。系统采用多租户架构,通过Flask-Login进行身份验证,并支持基于装饰器的权限控制。核心功能包括知识库CRUD操作、标签管理、知识图谱处理以及元数据操作,与多种存储后端(文档存储、文件存储)深度集成。API提供标准化的错误处理和响应格式,支持分页查询、字段验证和文档处理状态跟踪。特别实现了PageRank同步、重复名称处理等业务逻辑,通过工厂模式适配不同云存储服务,满足企业级知识管理的需求。

2025-08-26 14:09:14 1057

原创 【RAGFlow代码详解-11】知识库管理

该知识库管理系统提供了一套完整的文档管理和知识图谱解决方案。系统核心功能包括知识库的CRUD操作、多租户权限控制、文档存储集成(支持Elasticsearch和Infinity后端)、知识图谱增强搜索(GraphRAG)、标签管理以及解析器配置。通过分层架构实现元数据管理、索引创建和向量搜索等功能,支持自定义字段映射和动态配置更新。系统采用严格的访问控制机制,确保数据安全性和操作权限。文档存储后端提供差异化的搜索和存储方案,满足不同业务场景需求。

2025-08-26 13:56:37 720

原创 【RAGFlow代码详解-10】文本处理和查询处理

本文介绍了面向RAGFlow文档存储的文本查询处理系统,该系统通过多语言支持、优化的分词算法和智能加权机制实现高效检索。系统核心包括FulltextQueryer主控制器、RagTokenizer分词器和Dealer加权处理器,采用基于IDF、NER和POS的多因素权重计算模型。查询处理流程包含问题解析、术语加权、混合相似度计算(结合70%向量+30%文本相似度)等环节,并支持Elasticsearch集成。系统提供可配置的字典、NER映射和停用词表等资源,通过动态调整查询权重和匹配阈值,实现精准的文档检索

2025-08-26 13:40:26 822

原创 【RAGFlow代码详解-9】文档解析和 OCR

本文介绍了一个多功能的文档解析和OCR系统。该系统支持PDF、DOCX、Excel等多种格式,具备基于视觉的DeepDoc分析功能,包括布局识别、表格检测和OCR文本识别。系统采用模块化设计,包含专门的解析器类处理不同格式,并配有错误处理机制确保鲁棒性。关键组件包括OCR引擎(支持GPU加速)、视觉增强模块和表格结构识别功能,能够自动分析文档结构并生成结构化输出。系统还具备图像预处理、批处理优化等性能增强特性,为文档处理提供了全面的解决方案。

2025-08-26 11:55:10 310

原创 【RAGFlow代码详解-8】文档处理管道

文档处理管道遵循从原始文件输入到结构化块输出的系统方法:RAGFlow 支持全面的文件格式检测和专门的解析策略:chunk() 函数中的解析器选择逻辑使用正则表达式模式匹配:PDF 处理管道代表了 RAGFlow 中最复杂的文档解析功能:PDF 解析器集成了多个计算机视觉模型:文本处理系统将解析后的内容转换为语义上有意义的块:RAGFlow 根据文档类型和内容实现多种分块策略:系统通过 get_delimiters() 函数支持灵活的分隔符配置:RAGFlow 包括针对不同文档类型和用例的专用处理器,在 r

2025-08-26 11:46:43 446

原创 【RAGFlow代码详解-7】LLM 集成系统

本文概述了一个多模态LLM集成系统的架构设计。系统采用工厂模式实现动态模型加载,支持60+提供商,涵盖聊天、嵌入、语音、图像等6类模型。通过配置文件和数据库管理模型元数据,提供统一的错误处理和重试机制。重点支持工具调用和流式响应,包括OpenAI、通义千问等主流模型。系统架构包含模型工厂、配置管理、错误处理等核心模块,实现了多类型LLM的统一接入和管理。

2025-08-25 19:53:57 1010

原创 【RAGFlow代码详解-5】配置系统

RAGFlow采用多层配置架构,支持灵活的部署场景。核心配置通过service_conf.yaml定义,包含数据库连接、对象存储、搜索引擎等关键服务设置。全局配置系统通过api/settings.py集中管理运行时参数,支持环境变量覆盖。系统采用工厂模式支持多种存储后端(MinIO、AWS S3等)和认证提供商(OAuth2/OIDC)。LLM配置支持分层覆盖,从模型级到系统级默认值。初始化过程会验证各服务连接,严重错误将阻止启动。该架构通过模块化设计实现了高度可配置性和扩展性。

2025-08-25 19:26:40 1033

原创 【RAGFlow代码详解-4】数据存储层

RAGFlow 支持用于矢量和全文搜索的多个文档存储后端:Elasticsearch、Infinity 和 OpenSearch。服务处理用户身份验证、知识库管理和文档处理工作流。Redis 有多种用途:与优先级队列的任务协调、Flask 会话存储、用于成本优化的 LLM 响应缓存以及用于性能的文件缓存。该系统使用连接池和自动模式迁移,并将搜索条件转换为 Infinity 的查询构建器 API,同时保持每个知识库的表组织。每个任务都通过块构建、嵌入生成和文档存储插入进行,并具有全面的错误处理和重试机制。

2025-08-24 21:14:05 1321

原创 【RAGFlow代码详解-3】核心服务

任务执行系统是 RAGFlow 的主要后台处理引擎,负责文档解析、分块、嵌入生成和知识图谱构建。该系统是围绕 TaskExecutor 类构建的,并使用分布式工作器架构和基于 Redis 的任务队列。RAGFlow 的服务层提供了一套全面的数据库服务和业务逻辑处理程序,可在 HTTP API 层和底层存储系统之间进行协调。系统维护所有工作器实例的详细指标,包括待处理任务、滞后任务、已完成任务和失败任务。运行状况检查提供详细的状态信息,包括所有核心服务的响应时间、错误率和资源利用率。) 进行专门的速率限制。

2025-08-24 20:56:18 500

原创 【RAGFlow代码详解-2】系统架构

RAGFlow是一个基于微服务架构的智能文档处理系统,集成了文档处理、对话式AI、搜索检索和LLM功能。系统采用Actor模型处理任务,多后端文档存储和工厂模式的LLM集成。核心文档处理流程包括分块、嵌入生成和存储操作。搜索系统实现混合检索,结合全文和向量相似性搜索。API层使用Flask蓝图,服务层通过专门类实现业务逻辑,采用Peewee ORM进行数据库集成。系统支持Docker部署,可通过环境变量灵活配置后端服务。

2025-08-24 20:41:40 936

原创 【RAGFlow代码详解-1】概述

RAGFlow是一个生产级RAG引擎,结合LLM与文档理解技术,支持多格式文档处理(PDF/DOCX/Excel等)。其技术特点包括:深度文档解析、可配置分块策略、多后端存储支持(Elasticsearch/OpenSearch等)和可视化工作流构建器。系统采用分层架构,包含React前端、Flask后端和多种存储方案,通过API提供知识库管理、文档处理等功能。RAGFlow实现了从文档上传、解析到向量检索的完整处理流程,支持多语言和容器化部署,适用于企业级知识管理场景。

2025-08-24 20:29:31 1169

原创 30 张图解 HTTP 常见的面试题

在面试过程中,HTTP 被提问的概率还是比较高的我搜集了 5 大类 HTTP 面试常问的题目,同时这 5 大类题跟 HTTP 的发展和演变关联性是比较大的,通过问答 + 图解的形式由浅入深的方式帮助大家进一步的学习和理解 HTTP 协议。

2023-12-10 17:06:52 2293 3

原创 20道计算机网络面试题

XSS 即(Cross Site Scripting)中文名称为:跨站脚本攻击。XSS的重点不在于跨站点,而在于脚本的执行。XSS的原理是:恶意攻击者在web页面中会插入一些恶意的script代码。当用户浏览该页面的时候,那么嵌入到web页面中script代码会执行,因此会达到恶意攻击用户的目的。XSS攻击最主要有如下分类:反射型、存储型、及 DOM-based型。反射性和DOM-baseed型可以归类为非持久性XSS攻击。存储型可以归类为持久性XSS攻击。

2023-12-10 16:01:56 1193

原创 SpringBoot 自动装配原理详解

我们现在提到自动装配的时候,一般会和 Spring Boot 联系在一起。但是,实际上 Spring Framework 早就实现了这个功能。Spring Boot 只是在其基础上,通过 SPI 的方式,做了进一步优化。SpringBoot 定义了一套接口规范,这套规范规定:SpringBoot 在启动时会扫描外部引用 jar包中的META-INF/spring.factories文件,将文件中配置的类型信息加载到 Spring 容器(此处涉及到 JVM。

2023-12-09 22:08:06 1045

原创 InnoDB存储引擎对MVCC的实现

因为在 RC 级别下,重新生成 Read View,这时事务 101 已经提交,102 并未提交,所以此时 Read View 中活跃的事务 m_ids:[102] ,m_low_limit_id为:104,m_up_limit_id为:102,m_creator_trx_id为:103。快照读取是基于事务开始时数据库中的状态创建的,因此事务不会读取其他事务尚未提交的修改。不同事务或者相同事务的对同一记录行的修改,会使该记录行的 undo log 成为一条链表,链首就是最新的记录,链尾就是最早的旧记录。

2023-12-09 18:36:03 1471

原创 最透彻HTTPS

HTTPS 的出发点是解决HTTP明文传输时信息被篡改和监听的问题。为了兼顾性能和安全性,使用了非对称加密+对称加密的方案。为了保证公钥传输中不被篡改,又使用了非对称加密的数字签名功能,借助CA机构和系统根证书的机制保证了HTTPS证书的公信力。

2023-11-28 17:25:39 973

原创 在Mysql中,什么是回表,什么是覆盖索引,索引下推?

通俗的讲就是,如果索引的列在select所需获得的列中(因为在 mysql 中索引是根据索引列的值进行排序的,所以索引节点中存在该列中的部分值)或者根据一次索引查询就能获得记录就不需要回表,如果 select 所需获得列中有大量的非索引列,索引就需要到表中找到相应的列的信息,这就叫回表。InnoDB聚集索引的叶子节点存储行记录,因此, InnoDB必须要有,且只有一个聚集索引:(1)如果表定义了主键,则PK就是聚集索引;

2023-11-28 14:26:37 2209

原创 MySQL三大日志(binlog、redo log和undo log)详解

MySQL InnoDB 引擎使用redo log(重做日志) 保证事务的持久性,使用undo log(回滚日志) 来保证事务的原子性。MySQL数据库的数据备份、主备、主主、主从都离不开binlog,需要依靠binlog来同步数据,保证数据一致性。

2023-11-28 13:28:51 1942

原创 【Elasticsearch核心技术与实战】学习笔记

自己学习的脑图笔记,也方便大家复习和理解。

2023-11-26 21:24:48 501

原创 MySQL执行计划分析

执行计划 是指一条 SQL 语句在经过MySQL 查询优化器的优化会后,具体的执行方式。执行计划通常用于 SQL 性能分析、优化等场景。通过EXPLAIN的结果,可以了解到如数据表的查询顺序、数据查询操作的操作类型、哪些索引可以被命中、哪些索引实际会命中、每个数据表有多少行记录被查询等信息。

2023-11-26 13:02:49 1128

原创 MySQL索引详解

索引是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。索引的作用就相当于书的目录。打个比方: 我们在查字典的时候,如果没有目录,那我们就只能一页一页的去找我们需要查的那个字,速度很慢。如果有目录了,我们只需要先去目录里查找字的位置,然后直接翻到那一页就行了。索引底层数据结构存在很多种类型,常见的索引结构有: B 树, B+树 和 Hash、红黑树。在 MySQL 中,无论是 Innodb 还是 MyIsam,都使用了 B+树作为索引结构。

2023-11-25 20:25:37 1174

【Elasticsearch核心技术与实战】学习笔记脑图

【Elasticsearch核心技术与实战】学习笔记脑图 极客时间上的课程,完整的学习脑图,方便大家复习

2023-11-26

Elastic 认证专家考试(ECE),复习大纲包含模拟试题(最新8.1)

Elastic 认证专家考试(ECE)版本号升级为 8.1 版本,内容: 集群 索引 分片(Shards) 分词器(Text Analysis) 映射(Mappings) 检索(DSL) 模板类(Template) 聚合查询(Aggregations) 脚本查询(Scripting) 集群安全(Security) 评分和排序(Score and Sorted) 管道(Pipeline) 数据(Data)

2023-01-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除