最近使用了很多大语言模型(LLM)相关的应用和开发工具,在这篇博客中将它们汇总一下。
LLM 相关的应用和工具大致可以分为以下几类:
- AI Agent 开发平台
- LLM 应用开发平台
- LLM 管理工具
- LLMOps 工具
- LLM Python 开发库
- LLM 微调工具
下面分别介绍下每个分类都有哪些应用和工具。
AI Agent开发平台
AI Agent 应用是 LLM 比较火的一个应用方向,也是一个在未来非常有潜力的方向。
AI Agent 是指能够在其环境中自动执行任务或达成目标的软件实体。这些代理能够通过感知环境并在此基础上进行决策来执行动作,以实现特定的目标或任务。AI Agent的工作原理和目的可以根据其设计和应用场景而有很大差异,但一般来说,它们都具备以下几个关键特性:
- 感知能力(Perception):AI Agent能够通过内置或外部的传感器感知其所处的环境。这包括从环境中收集数据和信息,如图像、声音、温度等,以帮助代理理解当前的状况。
- 决策能力(Decision Making):基于对环境的感知,AI Agent能够评估不同的行动方案,并选择最佳的方案来执行。这个过程通常涉及到某种形式的智能算法,如机器学习、深度学习或逻辑推理等。
- 行动能力(Action):AI Agent可以通过执行器对环境产生影响,执行各种动作。这些执行器可以是物理的(如机器人的手臂)或软件上的(如网络请求)。
- 自主性(Autonomy):AI Agent具有一定程度的自主性,意味着它们能够在没有人类直接干预的情况下,根据自己的判断和策略进行操作和决策。
- 学习能力(Learning):许多AI Agent具备学习能力,可以通过经验改进其行为。这通常是通过机器学习和深度学习实现的,使得代理能够基于过去的行为和结果来优化其未来的决策和动作。
- 适应性(Adaptability):与学习能力密切相关,适应性是指AI Agent能够适应环境的变化,并据此调整其行为的能力。
目前比较流行的 AI Agent 应用开发平台有:AutoGen、MetaGPT、CrewAI、XAgent、AutoGPT、OpenAgents、SuperAGI 等。
AutoGen
AutoGen 是由微软、宾夕法尼亚州立大学和华盛顿大学合作开发的一个框架,它支持使用多个代理来开发 LLM 应用程序,这些代理可以相互对话来完成任务。AutoGen 中的代理是可定制的、可对话的,并且无缝地允许人类参与。AutoGen 有如下特点:
1 | 1. 可以轻松构建基于多代理对话的 LLM 应用程序。它简化了复杂的 LLM 工作流程的编排、自动化和优化。它最大限度地提高了 LLM 模型的性能并克服了它们的弱点。 |
Github:https://github.com/microsoft/autogen
官网:https://microsoft.github.io/autogen/
MetaGPT
MetaGPT 是一个 Multi-Agent 框架,它为GPT分配不同的角色,形成一个协作实体来完成复杂的任务。MetaGPT 将一行需求作为输入并输出用户故事/竞争分析/需求/数据结构/API/文档等。在内部,MetaGPT 包括产品经理/架构师/项目经理/工程师。它提供了软件公司的整个流程以及精心策划的 SOP。
Code=SOP(Team)是核心理念。我们具体化SOP并将其应用于由 LLM 组成的团队。
LLM 是大脑,Agent 是手、脚、眼睛、耳朵等。
MetaGPT 一个集产品经理、架构师、项目经理、程序员于一体的 AI Agent 工具。
Github:https://github.com/geekan/MetaGPT
XAgent
XAgent 是由清华大学开发的一个开源的基于大型语言模型(LLM)的自主智能体,可以自动解决各种任务。 它被设计为一个通用的智能体,可以应用于各种任务。它具有以下特点:
1 | 自主性:XAgent可以在没有人类参与的情况下自动解决各种任务。 |
XAgent由三部分组成:
1 | 调度器 负责动态实例化和分派任务给不同的智能体。它允许我们添加新的智能体和改进智能体的能力。 |
Github:https://github.com/OpenBMB/XAgent
CrewAI
CrewAI 是用于编排角色扮演、自主人工智能代理的框架。通过促进协作智能,CrewAI 使代理能够无缝协作,处理复杂的任务。
GIthub:https://github.com/joaomdmoura/crewAI
AutoGPT
AutoGPT 的宗旨是为每个人提供易于使用和构建的人工智能。它们提供工具,以便我们可以专注于重要的事情。
AutoGPT 项目由四个主要部分组成:
1 | Agent:是 AutoGPT 的核心以及启动这一切的项目:由 LLM 支持的半自主 agent,可以为我们执行任何任务 |
Github:https://github.com/Significant-Gravitas/AutoGPT
OpenAgents
由于当前的语言代理框架旨在促进构建概念证明语言智能体(Language Agent)的搭建,但是同时忽视了非专家用户的使用,对应用级设计也关注较少。 OpenAgents 是一个用于在日常生活中使用和托管语言智能体的开放平台。
OpenAgents中实现了三个智能体:
1 | 1. 数据智能体-用于用Python/SQL和数据工具进行数据分析; |
OpenAgents可以分析数据,调用插件,像ChatGPT Plus一样控制浏览器,并且它:
1 | 1. 易于部署 |
OpenAgents 使普通用户通过为快速响应和常见失败进行优化的web UI与智能体功能进行交互,同时为开发人员和研究人员在本地设置上提供无缝部署体验,为制作创新的语言代理和实现现实世界评估提供了基础。
Github:https://github.com/xlang-ai/OpenAgents
SuperAGI
SuperAGI 是以开发优先的开源自主人工智能代理框架,使开发人员能够构建、管理和运行有用的自主代理。您可以无缝运行并发代理,使用工具扩展代理功能。代理有效地执行各种任务,并在每次后续运行中不断提高其性能。
SuperAGI 有如下特点:
1 | 1. 配置、生成和部署自主 AI 代理 - 创建生产就绪且可扩展的自主代理。 |
SuperAGI 还提供了工具包,工具包允许 SuperAGI Agent 与外部系统和第三方插件交互。
Github:https://github.com/TransformerOptimus/SuperAGI
LLM 应用开发平台
LLM 应用开发平台允许我们创建自己的知识库,并基于这些知识库快速开发个人或者企业的 RAG (检索增强生成)应用。这类平台应用有 Dify、Flowise、FastGPT、TaskingAI、ChatGPT-Next-Web、LobeChat、PrivateGPT、AnythingLLM、Quivr 等。
Dify
Dify 是一个 LLM 应用程序开发平台,它集成了 BaaS (后端即服务)和 LLMOps,涵盖了构建生成式 AI 原生应用程序的基本技术堆栈,包括内置的 RAG 引擎。Dify 允许我们基于任何 LLM 部署自己版本的 Assistants API 和 GPT。
Dify 有以下特点:
1 | LLM支持:与 OpenAI 的 GPT 系列模型集成,或者与开源的 Llama2 系列模型集成。事实上,Dify支持主流的商业模型和开源模型(本地部署或基于 MaaS)。 |
Github:https://github.com/langgenius/dify
Flowise
Flowise 是一种低代码/无代码拖放工具,可以让我们轻松可视化和构建 LLM 应用程序。
文档:https://docs.flowiseai.com/
Github:https://github.com/FlowiseAI/Flowise
FastGPT
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!
FastGPT 有如下特点:
1 | 独特的 QA 结构:针对客服问答场景设计的 QA 结构,提高在大量数据场景中的问答准确性。 |
Github:https://github.com/labring/FastGPT
TaskingAI
TaskingAI 将 Firebase 的简单性带入 AI 原生应用程序开发中。该平台支持使用来自不同提供商的各种 LLM 来创建类似 GPT 的多租户应用程序。它具有独特的模块化功能,例如推理、检索、助手和工具,无缝集成以增强开发过程。TaskingAI 的凝聚力设计确保了人工智能应用程序开发中的高效、智能和用户友好的体验。
TaskingAI 有如下特点:
1 | 1. 一体化 LLM 平台:通过统一的 API 访问数百个 AI 模型。 |
TaskingAI 的架构设计以模块化和灵活性为核心,能够与各种 LLM 兼容。这种适应性使其能够轻松支持各种应用程序,从简单的演示到复杂的多租户人工智能系统。TaskingAI 以开源原则为基础,融合了众多开源工具,确保该平台不仅多功能,而且可定制。
Github:https://github.com/TaskingAI/TaskingAI
ChatGPT-Next-Web
ChatGPT-Next-Web 可以让我们一键免费部署你的私人 ChatGPT 网页应用,支持 GPT3, GPT4 & Gemini Pro 模型。
它有如下特点:
1 | 1. 只需在 1 分钟内即可在 Vercel 上一键免费部署 |
Github:https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web
LobeChat
Lobe Chat - 一个开源、现代设计的 LLM / 人工智能聊天框架。支持多AI提供商(OpenAI / Claude 3 / Gemini / Perplexity / Bedrock / Azure / Mistral / Ollama),多模态(Vision / TTS)和插件系统。一键免费部署您的私人 ChatGPT 聊天应用程序。
Lobe Chat 有以下特点:
1 | 1. 多模式服务提供商支持,支持了AWS Bedrock、Google AI、Anthropic、ChatGLM、Moonshot AI、Groq等模型服务商 |
Github:https://github.com/lobehub/lobe-chat
PrivateGPT
PrivateGPT 是一个可投入生产的 AI 项目,可让您利用大型语言模型 (LLM) 的功能提出有关文档的问题,即使在没有互联网连接的情况下。 100% 私有,任何数据都不会离开您的执行环境。该项目提供了一个 API,提供构建私有的、上下文感知的 AI 应用程序所需的所有原语。它遵循并扩展了 OpenAI API 标准,支持普通响应和流式响应。这意味着,如果您可以在您的工具之一中使用 OpenAI API,则可以使用您自己的 PrivateGPT API,无需更改代码,并且如果您在本地设置中运行 privateGPT,则免费。
PrivateGPT 是一项服务,它将一组 AI RAG 原语包装在一组全面的 API 中,提供私有、安全、可定制且易于使用的 GenAI 开发框架。
它使用FastAPI和LLamaIndex作为其核心框架。这些可以通过更改代码库本身来定制。
它支持各种本地和远程的 LLM 提供商、嵌入提供商和向量存储。这些可以轻松更改,而无需更改代码库。
API 分为两个逻辑块:
1 | 1. 高级 API,抽象了 RAG(检索增强生成)管道实现的所有复杂性: |
除此之外,还提供了一个可用的 Gradio UI 客户端来测试 API,以及一组有用的工具,例如批量模型下载脚本、摄取脚本、文档文件夹监视等。
Github:https://github.com/zylon-ai/private-gpt
文档:https://docs.privategpt.dev/overview/welcome/introduction
AnythingLLM
AnythingLLM 是一个全栈应用程序,使您能够将任何文档、资源或内容片段转换为任何 LLM 可以在聊天期间用作参考的上下文。该应用程序允许您选择要使用的LLM 或矢量数据库,并支持多用户管理和权限。
AnythingLLM 是一个全栈应用程序,您可以使用商业现成的 LLM 或流行的开源 LLM 和 vectorDB 解决方案来构建私有 ChatGPT,无需任何妥协便可以在本地运行,也可以远程托管,并且能够与您提供的任何文档进行智能聊天。
AnythingLLM 将您的文档划分为称为工作区的对象。工作区的功能很像线程,但增加了文档的容器化。工作区可以共享文档,但它们不会相互通信,因此您可以保持每个工作区的上下文干净。
AnythingLLM 有以下特点:
1 | 1. 多用户实例支持和权限 |
Github:https://github.com/Mintplex-Labs/anything-llm
文档:https://docs.useanything.com/
Quivr
Quivr 是一个开源的 RAG 框架,用于搭建和部署 RAG 应用,它拥有简洁的页面和相对简单的操作。今天介绍下它的使用。
Quivr 可以作为我们的私人助理,可以充当我们的第二大脑,它是一个能够创建人工智能助手的平台。
这些助手具有专门的功能。有些可以连接到特定的数据源,允许用户直接与数据交互,其它则可以作为特定用途的工具,这些工具处理特定的输入以生成实用的输出,例如摘要、翻译等。
Quivr 主要有以下几个特性:
1 | 快速高效:设计以速度和效率为核心。 Quivr 确保快速访问您的数据。 |
Github:https://github.com/QuivrHQ/quivr
官网:https://docs.quivr.app/intro
LLM 管理工具
LLM 管理工具可以帮助我们管理开源大语言模型,它们可以下载、删除、运行开源大模型,并且提供调用 LLM 服务的API,使我们可以很容易的构建基于本地的 LLM 应用。
这类管理工具有 Ollama、LM Studio、LocalAI、GPT4ALL、llamafile 等。
Ollama
Ollama是一个开源工具,它能帮助我们在本地搭建和运行Llama2、Mistral、Gemma等开源LLM服务,Ollama也允许我们基于一个 LLM 去创建另一个LLM,就像使用 Dockerfile 那样,它还提供了 REST API 供我们调用。
Github:https://github.com/ollama/ollama
LM Studio
LM Studio 可以帮我们发现、下载 LLM,并在本地运行它,它还能帮我们做以下工作:
1 | 1. 通过应用内聊天 UI 或 OpenAI 兼容的本地服务器使用模型 |
LocalAI
LocalAI 允许我们使用消费级硬件在本地或本地运行 LLM 、生成图像、音频(不仅如此),支持多种模型系列和架构,并且不需要 GPU。LocalAI 致力于让任何人都能使用人工智能。
GPT4ALL
GPT4All 是一个开源软件生态系统,允许任何人在日常硬件上训练和部署强大的定制大语言模型 (LLM)。GPT4All 软件经过优化,可在笔记本电脑、台式机和服务器的 CPU 上运行 3-130 亿参数大语言模型的推理。
Github:https://github.com/nomic-ai/gpt4all
官网:https://gpt4all.io/index.html
llamafile
llamafile 是一个开源项目,它可以使用单个文件分发和运行 LLM。它的目标是让开发人员和最终用户更容易获得开放式的 LLM,为此,它将 llama.cpp 与 Cosmopolitan Libc 结合到一个框架中,将 LLM 的所有复杂性压缩为一个可在大多数计算机上本地运行的可执行文件(称为“llamafile”),并且无需安装,只需要下载这个文件,并且运行它就可以了。
对于不同的 LLM,llamafile 提供了不同的 llamafile 文件,我们只需要下载对应 LLM 的 llamafile 文件,并在本地运行,就可以通过访问 http://127.0.0.1:8080/ 或者通过 API 调用 LLM。
相比于其它 LLM 管理工具,llamafile 的运行速度是非常快的。
Github:https://github.com/Mozilla-Ocho/llamafile
LLM Python开发库
LLM Python 开发库提供了通用的 API 让我们来调用各种大模型服务,除了 LangChain、LlamaIndex 这这些常用的库,还有下面一些很好用的库:
1 | 1. 提供统一接口调用 LLM 的库:transformers、vllm、litellm、together、haystack-ai、gptcache(LLM 语义缓存库)、gpt-engineer(AI Agent 开发库) 等 |
LLM 微调工具
LLM 微调工具可以很方便的让我们在本地微调开源大语言模型,以便更加适应行业和业务场景的需求。LLM 微调相关的开源工具有:
1 | 1. LLaMA-Factory github:https://github.com/hiyouga/LLaMA-Factory |
以上就是 LLM 相关的应用和开发工具,后面还会持续补充 …