首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏自然语言处理

    5个开源RAG框架对比

    还在为RAG应用开发头疼吗?别急,今天给大家推荐五款完全开源免费的RAG框架,覆盖自动优化、多模态处理、本地部署、生产环境支持等多种场景,助你轻松搞定RAG开发! 1. AutoRAG:自动优化,省心省力 核心优势:自动寻找最优RAG流程,告别手动调参! ✨ 特色功能:支持用你的评估数据测试不同RAG模块,找到最适合的方案。 适用场景:适合需要优化RAG系统性能的开发者。 https://github.com/Marker-Inc-Korea/AutoRAG 2. https://github.com/n8n-io/self-hosted-ai-starter-kit 4. Cognita:生产环境,稳定可靠 核心优势:专为生产环境设计,企业级应用的首选! 适用场景:适合企业级应用部署,需要稳定可靠的RAG框架。 https://github.com/truefoundry/cognita 5.

    3.9K11编辑于 2024-12-31
  • 来自专栏AgenticAI

    RAG新SOTA!港中深发布Graph-based RAG统一框架,深度评估现有Graph-based RAG框架

    然而,目前各种基于图的 RAG 方法缺乏统一框架,难以在相同实验环境下系统比较和深入分析。 研究贡献 1、创新统一框架:首次提出涵盖所有现有 Graph-based RAG 方法的统一框架,从高层次明确定义图构建、索引构建、操作符配置及检索生成四个关键步骤。 2、深入方法比较:在统一框架下,系统地评估和对比 12 种主流 Graph-based RAG 算法,详细分析每种方法的优势与局限性。 4、超强实验验证:在 11 个真实问答数据集上,广泛开展实验验证,明确指出各方法在不同情境下的适用性与性能表现。 研究与实验方法 本文提出一个全新的统一框架,将基于图的 RAG 方法划分为图构建、索引构建、操作符配置及检索与生成四个核心阶段,以实现对现有方法的系统比较与深入分析。

    42400编辑于 2025-03-18
  • LangChain4j 标准 RAG 实战

    LangChain4j - LangChain4j快速入门实战 2. LangChain4j - 多模态开发踩坑实录 3. LangChain4j - 系统提示词稳住AI 4. LangChain4j - 注解式AI服务实战 5. LangChain4j - 让AI不再失忆 6. LangChain4j - LangChain4j 结构化输出实战 7. LangChain4j - RAG落地实战 经过上一篇 LangChain4j - RAG落地实战, 已经了解了极简版 RAG,那么本篇呢,继续延续上篇内容开展。 标准版 RAG 下面来试试标准版 RAG 实现,为了更好的效果,我们需要: • 加载 Markdown 文档并按需切割 • Markdown 文档补充文件名信息 • 自定义 Embedding 模型 • api-key: <You API Key here> 新建 rag.RagConfig,编写 RAG 相关的代码,执行 RAG 的初始流程并返回一个定制的内容检索器 Bean: /**

    15210编辑于 2026-04-29
  • 来自专栏AI应用开发实践

    langchain4j 之 Advanced RAG

    langchain4j 中的 Advanced RAG 涉及到诸多策略,今天和大家聊一聊这里涉及到的一些策略。 从这个角度来说,这个框架对于一些开发者来说是有价值的,有意义的。 框架会根据问题的不同,自动路由到不同的知识库,然后选择相关文档发送给模型,去回答问题。代码细节比较简单,这里不赘述。 with LangChain4j?") with LangChain4j?")

    26410编辑于 2026-03-26
  • 来自专栏码匠的流水账

    聊聊langchain4j的RAG

    序本文主要研究一下langchain4j的RAG概述RAG(Retrieval-Augmented Generation)即检索增强生成,它通过检索来获取相关信息,注入到prompt,然后用增强的prompt Advanced RAG:这是一种模块化的RAG框架,允许添加额外的步骤,如查询转换、从多个来源检索以及重排序(reranking)。 Easy RAGpom.xml<dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-easy-rag RAG Flavors**LangChain4j offers three RAG flavors:* **Easy RAG:** The simplest, quickest way to get LangChain4j 提供了三种RAG(Retrieval-Augmented Generation,检索增强生成)的实现方式:Easy RAG、Naive RAG、Advanced RAG

    88310编辑于 2025-03-17
  • 来自专栏码匠的流水账

    聊聊langchain4j的Naive RAG

    序本文主要研究一下langchain4j的Naive RAG示例public class Naive_RAG_Example { /** * This example demonstrates 技术,Easy RAG使用了EmbeddingStoreIngestor来隐藏了文档解析、分割、嵌入、嵌入存储,Naive RAG亦可使用。 EmbeddingStoreContentRetrieverdev/langchain4j/rag/content/retriever/EmbeddingStoreContentRetriever.javapublic 小结langchain4j提供了EmbeddingStoreContentRetriever来开启Naive RAG的功能,EmbeddingStoreContentRetriever.builder( docNaive RAG

    41000编辑于 2025-03-19
  • 来自专栏码匠的流水账

    聊聊langchain4j的Advanced RAG

    序本文主要研究一下langchain4j的Advanced RAG核心流程将UserMessage转换为一个原始的QueryQueryTransformer将原始的Query转换为多个Query每个Query *

    * Advanced RAG in LangChain4j is described here: https://github.com/langchain4j/langchain4j DefaultQueryTransformerdev/langchain4j/rag/query/transformer/DefaultQueryTransformer.javapublic class ReRankingContentAggregatordev/langchain4j/rag/content/aggregator/ReRankingContentAggregator.javapublic ContentInjectordev/langchain4j/rag/content/injector/ContentInjector.java@Experimentalpublic interface

    67310编辑于 2025-03-21
  • 来自专栏菩提树下的杨过

    langchain4j 学习系列(5)-RAG

    继续我们的langchain4j之旅,今天来看看RAG如何实现,“RAG萌宠新手盆友们”建议先看看B站大佬的视频RAG 工作机制详解—哔哩哔哩_bilibili,核心步骤就是下面这3张图: 最简单的RAG error: " + e.getMessage() + "\"}"); } } 略做解释: 为了简单起见, 这里分片我们略过,直接手动用二个句子,当成2个分片 使用langchang4j prompt_eval_count":11} 3、重排/生成 private interface Assistant { String chat(String userMessage); } /** * 基于RAG "" + e.getMessage() + "\"}"); } } 日志输出: 2025-12-03T21:06:00.218+08:00 INFO 16956 --- [langchain4j-study "done_reason":"stop","total_duration":1059949995,"prompt_eval_count":21,"eval_count":22} 从日志上看,先做了1次RAG

    31010编辑于 2025-12-24
  • 来自专栏JadePeng的技术博客

    知识图谱增强的KG-RAG框架

    /KG_RAG),该框架利用生物医学知识图谱SPOKE与大型语言模型相结合,有效的提升了LLM在医疗领域的问答效果。 KG-RAG框架介绍 KG-RAG框架,较好的结合了生物医学知识图谱SPOKE和LLM的优势。 研究人员对KG-RAG框架进行了广泛的测试,包括单跳和双跳提示、药物再利用查询、生物医学真假问题和多项选择题。 文本生成:使用LLM(如Llama-2-13b、GPT-3.5-Turbo或GPT-4)生成有意义的生物医学文本。 实体识别 区别于用小模型去做NER,KG-RAG里使用LLM识别实体。 1. 在其他领域如何去应用KG做RAG,一方面可以扩展该框架,另外一方面,也要结合自己的实际场景去定制具体的策略。

    2.5K10编辑于 2024-04-12
  • 来自专栏码匠的流水账

    聊聊langchain4j的核心RAG APIs

    序本文主要研究一下langchain4j的核心RAG APIs核心RAG APIslangchain4j提供了一套丰富的API来构建自定义的RAG(检索增强生成)pipelines,从简单的到高级的都有涵盖 (langchain4j-document-loader-amazon-s3)、AzureBlobStorageDocumentLoader(langchain4j-document-loader-azure-storage-blob (langchain4j-document-parser-apache-pdfbox)、ApachePoiDocumentParser(langchain4j-document-parser-apache-poi 提供了一套丰富的API来构建自定义的RAG(检索增强生成)pipelines,包括DocumentLoader、DocumentParser、DocumentTransformer、DocumentSplitter doccore-rag-apis

    1.2K10编辑于 2025-03-18
  • 来自专栏自然语言处理

    RAG入门教程03】Langchian框架-文档加载

    这个也是在后续开发框架的过程中,我们可以选取langchian的document作为处理对象,但是文件解析需要自己去写和实现。 \n\na p element\n\na p inside of a div', metadata={'source': 'index.html'})] """ 我们可以使用BeautifulSoup4通过

    97910编辑于 2024-06-10
  • 来自专栏自然语言处理

    RAG入门教程05】Langchian框架-Vector Stores

    langchain.text_splitter import RecursiveCharacterTextSplitter embeddings = OpenAIEmbeddings() llm_model = "gpt-4" text_splitter.split_documents(docs) print(len(text_splits)) # 6 OpenAIEmbeddings是为了生成嵌入而创建的,并且 的实例ChatOpenAI是为了与 GPT-4

    1K10编辑于 2024-06-10
  • 来自专栏DeepHub IMBA

    RAG流程优化(微调)的4个基本策略

    RAG简单回顾 RAG主要有两个过程。第一个是“数据收集过程”,它收集来自不同来源的数据,将其转换为文本,将其分割成较小的、连贯的和语义相关的部分,并将结果存储在矢量数据库中。 4、提供模型的最后提示:制作有效提示以提高输出质量。 RAG的A/B测试 A/B测试可以比较每个组件具有不同配置的两个版本,确定哪个版本的性能更好。 = pd.DataFrame(rag_dataset) rag_eval_datset = Dataset.from_pandas(rag_df) # Return the lragas dataset return rag_eval_datset def get_metrics(rag_dataset): """ For a RAG Dataset 这些组件中的每一个都在提高RAG系统的性能方面起着至关重要的作用。 优化RAG的过程是需要持续的测试的,从失败中学习,以及做出明智的调整。

    2.2K10编辑于 2024-07-01
  • 来自专栏DeepHub IMBA

    UniMS-RAG:用于个性化对话的统一多源RAG框架

    RAG领域已经取得了相当大的发展,这篇论文的是如何分解RAG过程,加入多文件检索、记忆和个人信息等定制化的元素。 使用RAG的一个优点是其实现的简单。但是在agenic RAG、多文档搜索和添加会话历史等方面,还需要很多的手动工作。代理RAG是将代理层次结构与RAG实现相结合的地方,这会带来很大的复杂性。 UniMS-RAG会对这些元素进行优先排序。 3、持续改进 论文的方法还包括一种自我细化推理算法,通过结合RAG会带来很大程度的可检查性和可观察性。 UniMS-RAG框架 UniMS-RAG统一了计划、检索和阅读任务的训练过程,并将它们集成到一个综合框架中。 提出的统一多源检索-增强对话系统(UniMS-RAG)使用大型语言模型(llm)同时作为计划者、检索者和读者。 这个框架在推理过程中还引入了自改进,使用一致性和相似性分数来改进响应。

    57610编辑于 2024-02-01
  • 来自专栏DeepHub IMBA

    BookRAG:面向层级文档的树-图融合RAG框架

    第一种是文本优先方法,将所有内容扁平化为纯文本,主要依赖OCR,再用BM25、经典分块RAG或GraphRAG、RAPTOR等图方法完成检索。 大多数RAG管道依赖固定的查询处理流程,简单问题处理起来效率低,复杂问题又应对不了。 所以多数现有的文档级RAG系统要么忽略文档的层级结构,要么缺乏查询感知的检索流程。 BookRAG是一个专为层级结构文档设计的RAG框架。 整个框架由三个关键组件构成。 构建BookIndex BookIndex在一个统一索引中同时容纳结构和语义。 基于Agent的自适应检索 Figure 4: The general workflow of agent-based retrieval in BookRAG, which contains agent-based

    22010编辑于 2026-03-31
  • 来自专栏自然语言处理

    RAG入门必备技能】Faiss框架使用与FaissRetriever实现

    提供了高效且可靠的相似性聚类和检索方法,可支持十亿级别向量的搜索,是目前最为成熟的近似近邻搜索库 官方资源地址https://github.com/facebookresearch/faiss Faiss基础依赖 1)矩阵计算框架 :Faiss与计算资源之间需要一个外部依赖框架,这个框架是一个矩阵计算框架,官方默认配置安装的是OpenBlas,另外也可以用Intel的MKL,相比于OpenBlas使用MKL作为框架进行编译可以提高一定的稳定性 2)查找向量对应的中心点 3)向量减去对应的中心点生成残差向量 4)针对残差向量生成二级量化器。 使用方法 Faiss是为稠密向量提供高效相似度搜索的框架(Facebook AI Research),选择索引方式是faiss的核心内容,faiss 三个最常用的索引是:IndexFlatL2, IndexIVFFlat disk faiss.write_index(self.index, self.index_path) def sanity_check(self, num_samples=4)

    5K20编辑于 2024-06-06
  • 来自专栏学习笔记ol

    框架分析(4)-Spring

    框架分析(4)-Spring 主要对目前市面上常见的框架进行分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步。 Spring Spring框架是一个开源的Java企业级应用程序开发框架,它提供了一种简化Java开发的方法,帮助开发者构建可扩展、模块化和高效的企业级应用程序。 集成 Spring框架提供了与其他常用框架(如Hibernate、MyBatis、JPA等)的集成支持,简化了与数据库、消息队列、Web服务等的集成开发。 优缺点 优点 高度可扩展 Spring框架采用模块化的设计,可以根据需求选择性地引入所需的模块,使得框架具有高度的可扩展性和灵活性。 缺点 学习曲线较陡峭 由于Spring框架的功能较为复杂,初学者可能需要一定的时间和精力来学习和理解框架的各个模块和特性。

    36320编辑于 2023-10-11
  • 来自专栏Datawhale专栏

    RAG 作者:RAG 已死,RAG 万岁!

    Meta 最近的突破再次引发了这场讨论——Llama 4 Scout 惊人的 1000 万(理论上)token 上下文窗口代表着一次真正的飞跃。 底线是:您同时需要长上下文 LLM 和 RAG。 但既然“RAG”这个术语似乎如此具有争议性,那我们不妨这样说: 我们不必非得称之为 RAG。 我们可以就叫它 检索 (retrieval)。 RAG 提供了相当于直接翻到相关页面的能力。处理更多 token 不仅更慢,而且极其低效,并且比使用 RAG 精准定位所需信息要昂贵得多。 警惕错误的二分法 在谷歌搜索“RAG vs”,你会看到一长串建议的查询补全——“长上下文”、“微调”、“MCP”。这种框架设定制造了一种人为的选择,并没有反映这些技术实际上如何协同工作的最佳方式。 RAG、微调和大型上下文窗口在 AI 中也是如此。 结论 我们不需要在 RAG 与长上下文窗口、微调或 MCP 之间做出选择。

    75510编辑于 2025-04-24
  • 来自专栏全栈开发工程师

    RAG】001-RAG概述

    RAG】001-RAG概述 0、整体思维导图 下面的知识是基于一个视频教程结合 AI 生成的笔记,我也看了一遍,有了一些印象,但这种印象很快就会消失,知识也就消失了,为了使得知识在我的大脑中停留更长的时间 补充1:RAG 基本逻辑 补充2:RAG 知识库基本逻辑 一、RAG 介绍 1、LLM 的主要局限性 大语言模型(LLM)尽管功能强大,但仍存在以下明显的局限性: 时效性问题:模型的知识在预训练后就固定了 概述 1、RAG 的概念 RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了检索和生成技术的文本处理方法,主要用于提高语言模型的输出质量。 : 企业知识库问答: 客服智能问答 内部文档检索 技术支持服务 个性化内容生成: 产品推荐 个性化营销文案 定制化报告生成 实时信息服务: 新闻摘要生成 市场分析报告 数据洞察分析 4、 动态块大小 语义完整性保证 相关性优化: 多轮检索 结果重排序 相关度阈值控制 3.3 响应速度 并行处理: 批量向量化 并行检索 异步处理 资源调优: 硬件配置优化 负载均衡 服务扩缩容 4

    79710编辑于 2025-03-25
  • 来自专栏DeepHub IMBA

    FaaF:为RAG系统量身定制的事实召回评估框架

    RAG系统中实际的事实召回评估可能存在以下问题: 在低质量生成的文本中自动验证真实的、独立的陈述和模拟低质量的检索增强生成(RAG)场景并没有得到太多的关注。 RAG系统涉及许多组件,例如知识库、检索、提示公式和语言模型,这些都需要大量的调优。因此效率对实际执行至关重要。 Facts As A Function faaf是一个为RAG系统量身定制的事实召回评估框架,它可以用来创建一个测试数据集,并执行自动的事实召回评估。 评估数据是通过真实事实和人工注释来增强的。 WikiEval的特点是问题和答案对,答案具有可变的事实质量,可以模拟有缺陷的RAG反应。 然后测试RAG的假设反应(在这种情况下,无根据的答案和糟糕的答案)对提取的事实的召回。 依靠提示来验证事实往往会高估陈述的真实性,尤其是在文本缺乏重要信息的情况下。

    39210编辑于 2024-04-15
领券