博客园  :: 首页  :: 联系 :: 管理

大模型:2024开源项目汇总

Posted on 2024-03-25 08:51  天戈朱  阅读(3454)  评论(0编辑  收藏  举报

当大模型成本逐渐降低,可靠性提升后,这意味着越来越多的业务应用将会与 LLM 结合,为了让这种结合更加顺畅,需要有与现有基础设施相兼容的工具和框架来支撑 LLM 应用开发的快速开发

通用大模型性能评测参见:

一、应用开发平台Maas


 1.1 阿里:百炼大模型平台

  • 应用构建工具:  插件中心, 流程编排, Prompt工程, RAG, Agent

  • 模型开发工具: 训练数据管理, 模型调优, 模型评测, 模型部署   

1.2 百度:千帆大模型平台   

  • 数据管理: 数据集、 数据标注、 数据处理、 数据回流 
  • 应用工具: 插件编排[对话类、生成类、编排类]、 RAG、 Prompt模板、 Prompt优化、 Prompt评估
  • 模型调优: 模型精调【精调样板,Post-PreTrain, SFT, DPO, RLHF】、模型评估、模型压缩
  • AppBuilder:组件编排

1.3 字节跳动:Coze

  对比说明可参考: https://mp.weixin.qq.com/s/9v5TdLoGokZqAx-_B_IuZg

 

二、应用开发平台开源


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

  • github:https://github.com/langgenius/dify
  • 应用工具: AI 工作流、Prompt IDE、RAG、Agent、后端即服务(Dify 的功能都带有相应的 API)
  • 模型工具:LLMOps、全面的模型支持
  • 原腾讯云 CODING DevOps 团队的核心成员倾力打造

2.2  FastGPT:一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力

2.3  bisheng(毕昇):一款领先的开源大模型应用开发平台,赋能和加速大模型应用开发落地,帮助用户以最佳体验进入下一代应用开发模式。

------  完整度的顺序 Dify > FastGPT > 毕昇

2.5  其它

  • QAnything :【网易有道】是致力于支持任意格式文件或数据库的本地知识库问答系统,可断网安装使用
  • AnythingLLM :是一个高效、可定制、开源的企业级文档聊天机器人解决方案。
  • LangChain-Chatchat  :基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开源、可离线部署的检索增强生成(RAG)大模型知识库项目。
  • quivr: 构建了一个完全可控的知识库问答平台,支持docker部署,用法也比较简单,定义知识库,上传文档,问答时选定知识库即可 
  • FLowise:拖放式界面构建定制化LLM流程
  • GPTCache通过实现缓存来提高基于LLM的应用程序的效率和速度
  • OneAPI是一个 API 管理和分发系统,支持几乎所有主流 API 服务。OneAPI 通过简单的配置允许使用一个 API 密钥调用不同的服务,实现服务的高效管理和分发。

 

三、智能文档解析


 3.1 RAGFlow:是一款基于深度文档理解构建的开源 RAG 引擎。

  • github:https://github.com/infiniflow/ragflow
  • RAGFlow 的最大特色,就是多样化的文档智能处理,它没有采用现成的 RAG 中间件,而是完全重新研发了一套智能文档理解系统,确保数据 Garbage In Garbage Out 变为 Quality In Quality Out,并以此为依托构建 RAG 任务编排体系。
  • 对于用户上传的文档,它会自动识别文档的布局,包括标题、段落、换行等,还包含图片和表格等。
  • RAGFlow 的 DeepDoc 模块提供了对多种不同格式文档的深度解析。

3.2 Unstructured:是一个灵活的Python 库,专门用于处理非结构化数据

3.3 PaddleOCR:是由百度推出的 OCR 开源项目,旨在提供全面且高效的文字识别和信息提取功能

  • github:https://github.com/PaddlePaddle/PaddleOCR?tab=readme-ov-file
  • PaddleOCR 提供了版面分析、表格识别和文字识别等多种功能。PaddleOCR的应用场景广泛,包括金融、教育、法律等多个行业,其高效的处理速度和准确率使其成为业界领先的 OCR 解决方案之一

3.4  EasyOCR:使用很友好的OCR服务

3.5 Surya:由 VikParuchuri 开发,支持超过 90 种语言的OCR识别,能够进行线级文本检测、布局分析(如表格、图像、标题等的检测)以及阅读顺序的识别,适用于多种文档类型

  • github:https://github.com/VikParuchuri/surya
  • 布局分析:可以检测文档中的表格、图像、标题等元素
  • 阅读顺序检测:能够识别文本的阅读顺序,优化信息的获取

3.6 PDF-Extract-Kit:内容与布局提取识别 

3.7 OmniParse:能够将任何非结构化数据摄取并解析为结构化、可操作的数据,包含文档、表格、图像、视频、音频、网页等

 

四、BI与DB 


  4.1 DB-GPT :是一个开源的数据库领域大模型框架。目的是构建大模型领域的基础设施,通过开发多模型管理、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作等多种技术能力,让围绕数据库构建大模型应用更简单,更方便。

  • github:https://github.com/eosphoros-ai/DB-GPT
  • RAG、GBI、微调框架、Multi-Agents框架、数据工厂、数据源
  • 由蚂蚁集团、阿里巴巴、京东、美团等公司的研究人员共同开发

 4.2 Chat2DB: 阿里开源智能的通用数据库SQL客户端和报表工具

 4.3 DefogAI SQLCoder:SQLCoder 是 Defog 团队推出的一款前沿的大语言模型,专门用于将自然语言问题转化为 SQL 查询,这是一个拥有150亿参数的模型。

 4.4 BIRD-SQL:由多位作者联合创作,一作是港大,二作是阿里达摩院

 4.4 闭源项目参考:

  • TableAgent: 九章云极推出的数据分析,机器学习智能体 
  • Kyligence Copilot:Kyligence发布一站式指标平台的 AI 数智助理,支持对话式指标搜索,异动归因等等
  • chat2query: PingCap产品,text2sql 相比以上两位支持更自然的文本指令,以及更复杂的数据分析类的sql生成
  • ChatBI:网易数帆发布ChatBI对话数据分析平台
  • DataHerald:Text2SQL一个由AI驱动的自然语言到SQL代理 

 4.5 其它 

  • superduperdb (4K):一个通用的AI开发和部署框架,直接与您现有的数据库相连而设计
  • Vanna (6K):使用人工智能(AI)的工具,可以让您更轻松地与数据库进行交互。该工具可用于SQL Server和PostgreSQL数据库,它使用自然语言处理技术,使您能够使用英语命令来查询和更新数据库。

 

五、本地部署工具  


5.1 ollama:Ollama 是一个开源框架,专门为在本地机器上便捷部署和运行大型语言模型(LLM)而设计

  • github:https://github.com/ollama/ollama
  • 功能齐全:Ollama将模型权重、配置和数据捆绑到一个包中,定义成Modelfile。它优化了设置和配置细节,包括GPU使用情况,从而提高了模型运行的效率
  • 轻量级:Ollama的代码简洁明了,运行时占用资源少。这使得它能够在本地高效地运行,不需要大量的计算资源。此外,它还支持热加载模型文件,无需重新启动即可切换不同的模型,这使得它非常灵活多变
  • 易用性:Ollama提供了多种安装方式,支持Mac和Linux平台,并提供了Docker镜像。用户只需按照安装指南进行操作即可完成安装,无需具备专业的技术背景

5.2 OpenLLM:OpenLLM 于 2023 年 6 月开源,是一个用于部署大语言模型的框架。其最初的口号是通过一行代码或相对轻松地在不同的大语言模型之间切换,为个人用户提供方便。 

  • github:https://github.com/bentoml/OpenLLM
  • 简化部署:自动生成 LLM 服务器 Docker 镜像或通过 BentoCloud 部署为无服务器端节点
  • 自由构建:对 LangChain、BentoML 和 Hugging Face 具有一级支持,可以通过将 LLM 与其它模型和服务组合来轻松创建自己的 AI 应用程序

5.3 LM Studio:LM Studio提供了一个简单的可视化LLM安装程序,用户只需几个简单的步骤就可以轻松安装和运行

  • 下载地址:https://lmstudio.ai/
  • 对各种模型的广泛支持。它不仅支持所有公开发布的大型语言模型,而且不需要用户进行额外的编译或微调

5.4 Xinference:Xorbits Inference(Xinference)是一个性能强大且功能全面的分布式推理框架。通过 Xorbits Inference,你可以轻松地一键部署你自己的模型或内置的前沿开源模型。

  • github: https://github.com/xorbitsai/inference
  • 模型推理,轻而易举:大语言模型,语音识别模型,多模态模型的部署流程被大大简化。一个命令即可完成模型的部署工作。
  • 开放生态,无缝对接: 与流行的三方库无缝对接,包括 LangChain,LlamaIndex,Dify,以及 Chatbox。

 

六、推理服务框架


  LLM推理有很多框架,各有其特点,下表中七个框架的关键点如下图

6.1 vLLM适用于大批量Prompt输入,并对推理速度要求高的场景

6.2 Text generation inference依赖HuggingFace模型,并且不需要为核心模型增加多个adapter的场景

6.3 CTranslate2:可在CPU上进行推理

6.4 OpenLLM为核心模型添加adapter并使用HuggingFace Agents,尤其是不完全依赖PyTorch;

6.5 Ray Serve稳定的Pipeline和灵活的部署,它最适合更成熟的项目

6.6 MLC LLM可在客户端(边缘计算)(例如,在Android或iPhone平台上)本地部署LLM

6.7 DeepSpeed-MII使用DeepSpeed库来部署LLM

6.8 llama.cpp: 是一个纯 C/C++ 实现的模型量化推理工具,具有极高的性能,可以同时在 GPU 和 CPU 环境下运行

 

七、大模型微调


 7.1 LlamaFactory:北航发布LlamaFactory,零代码大模型微调平台,一键快速实现大模型训练/微调/评估

 

八、大模型聚合平台


8.1  Hugging Face:Hugging Face 是一个开源的机器学习平台,该平台目前托管了超过320,000个模型和50,000个数据集,成为全球机器学习社区合作开发模型、数据集和应用程序的主要集合地。 

  • 地址:https://huggingface.co/
  • 开源精神:Hugging Face秉承开源精神,与社区一起构建机器学习工具的基础

 

九、开发库与工具 


  •  LangChain:对于 LLM 应用开发入门者来说,这是一个必选的工具 
  • LlamaIndex:这是一个数据框架,它可以轻松地将大型语言模型连接到你的自定义数据源,方便你进行数据的存储、查询和索引 
  • Promptflow:这是微软开源的一套开发工具,旨在简化基于 LLM 的应用的开发周期。它让提示工程变得更加容易,并帮助你构建具有生产质量的 LLM 应用
  • Langflow:这是一个无代码编排工具,许多平台都在使用它,可以帮助你轻松地将不同的模块拼接起来,让它们协同工作
  • ChatGPT-Next-Web:一键免费部署你的私人 ChatGPT 网页应用 

 

十、向量数据库


 

十一、参考学习文章


算力相关学习资料