找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 9|回复: 0
打印 上一主题 下一主题

RAG+AI工作流+Agent:LLM框架该如何选择,全面对

[复制链接]

34

主题

48

帖子

336

积分

二级会员(20)

Rank: 2Rank: 2

积分
336
跳转到指定楼层
1#
 楼主| 发表于 2024-10-10 11:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
RAG+AI工作流+Agent:LLM框架该如何选择,全面对比MaxKB、Dify、FastGPT、RagFlow、Anything-LLM,以及更多推荐


1.MaxKB
MaxKB = Max Knowledge Base,是一款基于 LLM 大语言模型的开源知识库问答系统,旨在成为企业的最强大脑。它能够帮助企业高效地管理知识,并提供智能问答功能。想象一下,你有一个虚拟助手,可以回答各种关于公司内部知识的问题,无论是政策、流程,还是技术文档,MaxKB 都能快速准确地给出答案:比如公司内网如何访问、如何提交视觉设计需求等等
官方网址:https://maxkb.cn/
1.1 简介

  • 开箱即用:支持直接上传文档、自动爬取在线文档,支持文本自动拆分、向量化、RAG(检索增强生成),智能问答交互体验好;

  • 无缝嵌入:支持零编码快速嵌入到第三方业务系统,让已有系统快速拥有智能问答能力,提高用户满意度;





  • 灵活编排:内置强大的工作流引擎,支持编排 AI 工作流程,满足复杂业务场景下的需求;





  • 模型中立:支持对接各种大语言模型,包括本地私有大模型(Llama 3 / Qwen 2 等)、国内公共大模型(通义千问 / 智谱 AI / 百度千帆 / Kimi / DeepSeek 等)和国外公共大模型(OpenAI / Azure OpenAI / Gemini 等)。




1.2技术框架和原理





  • 技术栈


    • 前端:Vue.js、logicflow

    • 后端:Python / Django

    • Langchain:Langchain

    • 向量数据库:PostgreSQL / pgvector

    • 大模型:Ollama、Azure OpenAI、OpenAI、通义千问、Kimi、百度千帆大模型、讯飞星火、Gemini、DeepSeek等。

2.Dify
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上



2.1 简介
Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。以下是其核心功能列表:

  • 工作流: 在画布上构建和测试功能强大的 AI 工作流程,利用以下所有功能以及更多功能。

  • 全面的模型支持: 与数百种专有/开源 LLMs 以及数十种推理提供商和自托管解决方案无缝集成,涵盖 GPT、Mistral、Llama3 以及任何与 OpenAI API 兼容的模型。

  • Prompt IDE: 用于制作提示、比较模型性能以及向基于聊天的应用程序添加其他功能(如文本转语音)的直观界面。

  • RAG Pipeline: 广泛的 RAG 功能,涵盖从文档摄入到检索的所有内容,支持从 PDF、PPT 和其他常见文档格式中提取文本的开箱即用的支持。

  • Agent 智能体: 您可以基于 LLM 函数调用或 ReAct 定义 Agent,并为 Agent 添加预构建或自定义工具。Dify 为 AI Agent 提供了50多种内置工具,如谷歌搜索、DELL·E、Stable Diffusion 和 WolframAlpha 等。

  • LLMOps: 随时间监视和分析应用程序日志和性能。您可以根据生产数据和标注持续改进提示、数据集和模型。

  • 后端即服务: 所有 Dify 的功能都带有相应的 API,因此您可以轻松地将 Dify 集成到自己的业务逻辑中。




2.2 系统框架


工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了 LLM 应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。
Dify 工作流分为两种类型:

  • Chatflow:面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。

  • Workflow:面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。




为解决自然语言输入中用户意图识别的复杂性,Chatflow 提供了问题理解类节点。相对于 Workflow 增加了 Chatbot 特性的支持,如:对话历史(Memory)、标注回复、Answer 节点等。
为解决自动化和批处理情景中复杂业务逻辑,工作流提供了丰富的逻辑节点,如代码节点、IF/ELSE 节点、模板转换、迭代节点等,除此之外也将提供定时和事件触发的能力,方便构建自动化流程。

  • 常见案例


    • 客户服务:通过将 LLM 集成到您的客户服务系统中,您可以自动化回答常见问题,减轻支持团队的工作负担。 LLM 可以理解客户查询的上下文和意图,并实时生成有帮助且准确的回答。

    • 内容生成:无论您需要创建博客文章、产品描述还是营销材料,LLM 都可以通过生成高质量内容来帮助您。只需提供一个大纲或主题,LLM将利用其广泛的知识库来制作引人入胜、信息丰富且结构良好的内容。

    • 任务自动化:可以与各种任务管理系统集成,如 Trello、Slack、Lark、以自动化项目和任务管理。通过使用自然语言处理,LLM 可以理解和解释用户输入,创建任务,更新状态和分配优先级,无需手动干预。

    • 数据分析和报告:可以用于分析大型数据集并生成报告或摘要。通过提供相关信息给 LLM,它可以识别趋势、模式和洞察力,将原始数据转化为可操作的智能。对于希望做出数据驱动决策的企业来说,这尤其有价值。

    • 邮件自动化处理:LLM 可以用于起草电子邮件、社交媒体更新和其他形式的沟通。通过提供简要的大纲或关键要点,LLM 可以生成一个结构良好、连贯且与上下文相关的信息。这样可以节省大量时间,并确保您的回复清晰和专业。

3.FastGPT
FastGPT是一个功能强大的平台,专注于知识库训练和自动化工作流程的编排。它提供了一个简单易用的可视化界面,支持自动数据预处理和基于Flow模块的工作流编排。FastGPT支持创建RAG系统,提供自动化工作流程等功能,使得构建和使用RAG系统变得简单,无需编写复杂代码。
3.1 FastGPT 能力

  • 专属 AI 客服 :通过导入文档或已有问答对进行训练,让 AI 模型能根据你的文档以交互式对话方式回答问题。


  • 多库复用,混用

  • chunk 记录修改和删除

  • 源文件存储

  • 支持手动输入,直接分段,QA 拆分导入

  • 支持 txt,md,html,pdf,docx,pptx,csv,xlsx (有需要更多可 PR file loader)

  • 支持 url 读取、CSV 批量导入

  • 混合检索 & 重排


  • 简单易用的可视化界面 :FastGPT 采用直观的可视化界面设计,为各种应用场景提供了丰富实用的功能。通过简洁易懂的操作步骤,可以轻松完成 AI 客服的创建和训练流程。

  • 自动数据预处理:提供手动输入、直接分段、LLM 自动处理和 CSV 等多种数据导入途径,其中“直接分段”支持通过 PDF、WORD、Markdown 和 CSV 文档内容作为上下文。FastGPT 会自动对文本数据进行预处理、向量化和 QA 分割,节省手动训练时间,提升效能。

  • 工作流编排 :基于 Flow 模块的工作流编排,可以帮助你设计更加复杂的问答流程。例如查询数据库、查询库存、预约实验室等。


  • 提供简易模式,无需操作编排

  • 工作流编排

  • 工具调用

  • 插件 - 工作流封装能力

  • Code sandbox


  • 强大的 API 集成:FastGPT 对外的 API 接口对齐了 OpenAI 官方接口,可以直接接入现有的 GPT 应用,也可以轻松集成到企业微信、公众号、飞书等平台。










4.RagFlow
RAGFlow 是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎。RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。





4.1 功能介绍

  • "Quality in, quality out"


    • 基于深度文档理解,能够从各类复杂格式的非结构化数据中提取真知灼见。

    • 真正在无限上下文(token)的场景下快速完成大海捞针测试。


  • 基于模板的文本切片


    • 不仅仅是智能,更重要的是可控可解释。

    • 多种文本模板可供选择

  • 有理有据、最大程度降低幻觉(hallucination)


    • 文本切片过程可视化,支持手动调整。

    • 有理有据:答案提供关键引用的快照并支持追根溯源。


  • 兼容各类异构数据源


    • 支持丰富的文件类型,包括 Word 文档、PPT、excel 表格、txt 文件、图片、PDF、影印件、复印件、结构化数据、网页等。

  • 全程无忧、自动化的 RAG 工作流


    • 全面优化的 RAG 工作流可以支持从个人应用乃至超大型企业的各类生态系统。

    • 大语言模型 LLM 以及向量模型均支持配置。

    • 基于多路召回、融合重排序。

    • 提供易用的 API,可以轻松集成到各类企业系统。


  • 最近更新功能


    • 2024-07-23 支持解析音频文件.

    • 2024-07-21 支持更多的大模型供应商(LocalAI/OpenRouter/StepFun/Nvidia).

    • 2024-07-18 在Graph中支持算子:Wikipedia,PubMed,Baidu和Duckduckgo.

    • 2024-07-08 支持 Agentic RAG: 基于 Graph 的工作流。

4.2 系统架构


5.Anything-LLM
AnythingLLM是一个全栈应用程序,您可以使用现成的商业大语言模型或流行的开源大语言模型,再结合向量数据库解决方案构建一个私有ChatGPT,不再受制于人:您可以本地运行,也可以远程托管,并能够与您提供的任何文档智能聊天。
AnythingLLM将您的文档划分为称为workspaces (工作区)的对象。工作区的功能类似于线程,同时增加了文档的容器化,。工作区可以共享文档,但工作区之间的内容不会互相干扰或污染,因此您可以保持每个工作区的上下文清晰。






  • AnythingLLM的一些特性


    • 多用户实例支持和权限管理

    • 工作区内的智能体Agent(浏览网页、运行代码等)

    • 为您的网站定制的可嵌入聊天窗口

    • 支持多种文档类型(PDF、TXT、DOCX等)

    • 通过简单的用户界面管理向量数据库中的文档

    • 两种对话模式:聊天和查询。聊天模式保留先前的对话记录。查询模式则是是针对您的文档做简单问答

    • 聊天中会提供所引用的相应文档内容

    • 100%云部署就绪。

    • “部署你自己的LLM模型”。

    • 管理超大文档时高效、低耗。只需要一次就可以嵌入(Embedding)一个庞大的文档或文字记录。比其他文档聊天机器人解决方案节省90%的成本。

    • 全套的开发人员API,用于自定义集成!


  • 支持的 LLM、嵌入模型和向量数据库


    • LLM:包括任何开源的 llama.cpp 兼容模型、OpenAI、Azure OpenAI、Anthropic ClaudeV2、LM Studio 和 LocalAi。

    • 嵌入模型:AnythingLLM 原生嵌入器、OpenAI、Azure OpenAI、LM Studio 和 LocalAi。

    • 向量数据库:LanceDB(默认)、Pinecone、Chroma、Weaviate 和 QDrant。

  • 技术概览


    • 整个项目设计为单线程结构,主要由三部分组成:收集器、前端和服务器。

    • collector:Python 工具,可快速将在线资源或本地文档转换为 LLM 可用格式。

    • frontend:ViteJS + React 前端,用于创建和管理 LLM 可使用的所有内容。

    • server:NodeJS + Express 服务器,处理所有向量数据库管理和 LLM 交互。




6.更多LLM框架推荐


更多框架推荐参考下述文章:LLM框架、RAG框架、Agent框架
6.1 DB-GPT: 用私有化LLM技术定义数据库下一代交互方式
DB-GPT是一个开源的AI原生数据应用开发框架(AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents)。
目的是构建大模型领域的基础设施,通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单,更方便。
数据3.0 时代,基于模型、数据库,企业/开发者可以用更少的代码搭建自己的专属应用。



6.1.1 架构方案



  • 核心能力主要有以下几个部分:


    • RAG(Retrieval Augmented Generation),RAG是当下落地实践最多,也是最迫切的领域,DB-GPT目前已经实现了一套基于RAG的框架,用户可以基于DB-GPT的RAG能力构建知识类应用。

    • GBI:生成式BI是DB-GPT项目的核心能力之一,为构建企业报表分析、业务洞察提供基础的数智化技术保障。

    • 微调框架: 模型微调是任何一个企业在垂直、细分领域落地不可或缺的能力,DB-GPT提供了完整的微调框架,实现与DB-GPT项目的无缝打通,在最近的微调中,基于spider的准确率已经做到了82.5%

    • 数据驱动的Multi-Agents框架: DB-GPT提供了数据驱动的自进化Multi-Agents框架,目标是可以持续基于数据做决策与执行。

    • 数据工厂: 数据工厂主要是在大模型时代,做可信知识、数据的清洗加工。

    • 数据源: 对接各类数据源,实现生产业务数据无缝对接到DB-GPT核心能力。

6.1.2 RAG生产落地实践架构


6.2 Langchain-Chatchat


项目支持市面上主流的开源 LLM、 Embedding 模型与向量数据库,可实现全部使用开源模型离线私有部署。与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型 API 的接入。
原理如下图所示:过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 top k个 -> 匹配出的文本作为上下文和问题一起添加到 prompt中 -> 提交给 LLM生成回答。





7. 总结(选择建议)


在选择AI应用开发平台时,了解不同平台的功能、社区支持以及部署便捷性是非常重要的。
7.0 优劣势选择MaxKB/Dify的优势与劣势

  • 优势


    • 大模型接入灵活性:提供了多种大模型接入方式,支持多种API接口,使得开发者可以根据需求灵活选择和切换模型,这对于需要高性能模型的应用场景尤为重要。

    • 强大的Chat功能:Chat功能不仅支持多轮对话,还能通过智能推荐和上下文理解提升用户体验,适用于需要复杂交互的场景。

    • 丰富的知识库支持:内置了知识库管理系统,支持多种数据格式的导入和导出,便于用户管理和利用知识资源。

    • 高效的Workflow设计:Workflow设计简洁直观,支持拖拽式操作,使得非技术人员也能快速上手,大大降低了使用门槛。

    • Prompt IDE:提供的Prompt IDE工具,让开发者可以更直观地调试和优化提示词,提升了开发效率。


  • 劣势


    • 学习曲线:虽然界面设计较为友好,但对于初学者来说,仍需要一定时间来熟悉其工作流程和功能。

    • 社区支持:相较于一些成熟的开发平台,社区活跃度和资源丰富度还有待提升,这可能会影响到开发者在遇到问题时的解决速度。

    • 定制化程度:虽然Dify提供了丰富的功能,但在某些高度定制化的需求上,可能还需要进一步的开发和调整。

“来自电巢APP”

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-3 21:31 , Processed in 0.055547 second(s), 30 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表