一.Dify
dify是什么?
Dify是一个开源的大语言模型(LLM)应用开发平台,为开发者提供了一个用户友好的界面和一系列强大的工具,能够快速生成AI应用的创建和部署。
功能
四大模块:模型管理,知识库管理,AI应用管理, 工具
功能详解
模型管理
通过添加模型的API key 密钥增加模型。在开发 AI 应用时,可在代码或界面中直接选择使用 GPT-4 或 deepseek模型,可选择多个模型并行组成工作流
知识库管理
知识库就是AI应用的大脑,可以在里面放各种资料,可设置AI应用的工作流利用知识库的知识进行回答,提高问答正确率。
创建知识库
将文档上传到Dify知识库的过程涉及多个步骤,从文件选择、预处理、索引模式选择到检索设置。
步骤:
1 创建知识库
2 文本预处理与清理:内容上传到知识库之后,需要进行分块和数据清洗,这个阶段可以理解为内容的预处理和结构化。
3 索引模式:根据应用场景选择合适的索引模式,如高质量模式、经济模式或问答模式。高质量模式:利用Embedding模型将文本转换为数值向量,支持向量检索、全文检索和混合检索。经济模式:采用离线向量引擎和关键字索引,虽然准确率有所降低,但省去了额外的 token 消耗和相关成本。问答模式:系统会进行文本分词,并通过摘要的方式,为每段生成QA问答对。
4 检索设置在高质量索引模式下,Dify 提供三种检索设置:向量搜索、全文搜索、混合搜索向量搜索:将查询向量化,计算与知识库中文本向量的距离,识别最接近的文本块。全文搜索:基于关键字匹配进行搜索。混合搜索:结合向量搜索和全文搜索的优势。在经济索引模式下,Dify 提供单一检索设置:倒排索引和TopK倒排索引:一种为快速检索文档中的关键字而设计的索引结构。TopK和分数阈值:设置检索结果的数量和相似度阈值。
AI应用管理
优点:
1 低代码/无代码开发:Dify通过可视化的方式允许开发者轻松定义Prompt(说话者)、上下文和插件等,无需深入底层技术细节。
2 模块化设计:Dify采用模块化的设计,每个模块都有清晰的功能和接口,开发者可以根据需求选择性地使用这些模块来构建自己的AI应用。
3 丰富的应用程序:Dify提供五种基于LLM构建的应用程序,可以针对不同的应用场景和需求进行优化和定制。(聊天助手,Agent, 文本生成应用,chatflow, 工作流)
4 支持多种大语言模型:Dify已支持主流的模型,开发者能够根据自己的需求选择最适合的模型来构建AI应用。聊天助手(Chat Assistant):基于LLM的对话助手,能够与用户进行自然语言交互,理解用户的问题、请求或指令,并给出相应的回答或执行相应的操作。 文本生成(Text Generation):专注于各种文本生成任务,如撰写故事、新闻报道、文案、诗歌等创意写作,以及文本分类、翻译等任务。 Agent(智能代理):这种助手不仅具备对话能力,还具备任务分解、推理、工具调用等高级能力。它能够理解复杂的指令,将任务分解为多个子任务,并调用相应的工具或API来完成这些子任务。 工作流程(Workflow):根据用户定义的流程编排,灵活地组织和控制LLM的工作流程。用户可以自定义一系列的操作步骤和逻辑判断,让LLM按照预定的流程执行任务。 节点的种类(共14中)LLM, 知识检索,直接回复 3种阅读理解类:问题分类器 1种逻辑类:条件分支,迭代 2种转换:代码执行,模板转换,变量聚合器,文档题词器,变量赋值,参数提取器 6种工具:HTTP请求, 列表操作 2种
二.FastGPT
fastGPT是什么??
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!
功能
AI应用管理,知识库管理, 工具箱管理, 模型管理
功能详解
模型管理
默认支持绝大多数主流模型,通过one-api适配部分小众模型可通过配置文件添加,但配置过程相对复杂,需修改config.json文件并重启容器,且无默认模型设置,对非技术人员不太友好。支持团队开发
知识库管理
知识库添加灵活,可通用知识库,API文档知识库,web站点知识库,飞书知识库,语雀知识库5种知识库。
知识库可为索引,文本理解,图片定义不同的模型。
AI应用管理
基于 Flow 模块的工作流编排,支持更多的节点(共19种), --
三.Coze
Coze是字节跳动旗下的AI聊天机器人开发平台,它为用户带来了快速、低门槛搭建聊天机器人的机会。现在,Coze推出了Web SDK,使得用户可以更便捷地将机器人嵌入到自己的网页上,进一步拓宽了聊天机器人的应用场景。
RAG检索
RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合了信息检索技术与语言生成模型的人工智能技术。 该技术通过从外部知识库中检索相关信息,并将其作为提示(Prompt)输入给大型语言模型(LLMs),以增强模型处理知识密集型任务的能力,如问答、文本摘要、内容生成等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。