1 引言
在 OPENAI 发布 ChatGPT 后的一年里,整个人工智能领域经历了迅猛的演变,对写作、编程等多个领域的工作方式产生了深刻的影响。2023 年整个行业都将聚焦于自然语言处理大模型,进行了大量实验和尝试,积累了宝贵的经验,或许明年将是人工智能应用大规模落地,真正产生价值的时刻。
开源项目可以被视为一个广阔的实验场,实验展示了许多可能性和成果,以及关注的热点。虽然并非全部应用场景,但从中我们可以窥见一二。
本文以 GitHub 上的开源项目为切入点,来看看大模型相关的高评分开源工具。旨在了解社区最关注的项目,这些工具实现了哪些功能,采用了什么样的技术,可能的盈利模式,以及它们当前仍然面临的挑战。
2 高星和热榜
梳理热门榜单和热门关键字搜索中的 topN 开源项目,深入了解社区对各个领域的关注、不同思路的探索,以及实现方法的多样性。
2.1 Python 中文新秀榜
GitHub-Chinese-Top-Charts(231204)中文新秀榜 ->软件类 ->Python 榜:
- binary-husky/gpt_academic 48.3k Star 学术 GPT
- THUDM/ChatGLM-6B 36k Star 开源中英双语 LLM
- acheong08/ChatGPT 27.5k Star ChatGPT 反向工程,早期调用方法,已停更
- svc-develop-team/so-vits-svc 21k Star 唱歌合成引擎(与 LLM 无关)
- chatchat-space/Langchain-Chatchat 19k Star 基于 Langchain 与 ChatGLM 等模型的本地知识库问答
- OpenBMB/ChatDev 17k Star 利用大模型编写应用程序的框架
- ymcui/Chinese-LLaMA-Alpaca 15.5k Star 中文 LLaMA&Alpaca 大语言模型训练部署
- THUDM/ChatGLM2-6B 14k Star 开源中英双语 LLM
- GaiZhenbiao/ChuanhuChatGPT 13.4k Star 川虎 GPT Web 应用聊天界面,解决了搜索,本地文件问答等问题,界面简捷好用
- lss233/chatgpt-mirai-qq-bot 10.3k Star 聊天机器人,支持多种模型,以及多种聊天软件
可以看到,Python 新秀榜中 top10 中 9 个都与自然语言大模型相关。
2.2 Github 搜索 GPT
Github 搜索 GPT,按 Star 排序,top10:地址
- Significant-Gravitas/AutoGPT 154k Star 将目标拆分成多步,并使用 Agent 实现
- fighting41love/funNLP 59.5k Star 自然语言相关资源类项目,23.8 已停更
- nomic-ai/gpt4all 55.5k Star 本地安装部署多个大模型
- Yidadaa/ChatGPT-Next-Web 52.3k Star GPT Web 应用聊天界面
- xtekky/gpt4free 49.9k Star GPT4 反向工程
- binary-husky/gpt_academic 48.3k Star 学术 GPT
- AntonOsika/gpt-engineer 46.3k Star 自动编程工具
- PlexPt/awesome-chatgpt-prompts-zh 46.1k Star ChatGPT 中文 Prompt 指南,包含各种场景对应的提示
- imartinez/privateGPT 44.2k Star 本地知识库
- lencx/ChatGPT 43.7k Star Rust/ChatGPT 桌面应用,使用 Rust 编写
2.3 Github 搜索 LLM
Github 搜索 LLM,按 Star 排序,top10:地址
- langchain-ai/langchain 70k Star 构建 LLM 相关应用程序的工具集
- nomic-ai/gpt4all 55.5k Star 本地安装部署多个大模型
- binary-husky/gpt_academic 48.3k Star 学术 GPT
- geekan/MetaGPT 31k Star 多 Agent 框架,通过构建不同的角色:工程师、产品经理、架构师和项目经理,最终共同构建一个软件项目
- StanGirard/quivr 25.7k Star 第二大脑框架,结合数据存储和 GPT 的知识库架构
- run-llama/llama_index 24.6k Star LLM 应用程序的数据框架
- milvus-io/milvus 24.4k Star 矢量数据库
- microsoft/JARVIS 22.2k Star 微软开源的人工智能 AI 助理系统,集成了多种模型,支持多模态
- JushBJJ/Mr.-Ranedeer-AI-Tutor 21.3k Star GPT-4 人工智能导师,可在 OPENAI 界面中使用的 GPT 插件
- jmorganca/ollama 20.2k Star 本地搭建 Llama2 等大型语言模型
搜索大模型,得到的结果更丰富,更具启发性。
3 分析方法
下面将对热门的应用进行分类和讨论,并对其中十个项目进行具体分析,分析方法如下:
- 功能
- 整体功能:解决了什么问题
- 当前解决了哪些问题,未能解决的问题有哪些
- 提供了哪些功能点,其中哪些是刚需
- 用户使用难度:操作逻辑是否过于复杂
- 技术栈
- 技术栈包括:前端、中间件、后端、数据库、底层功能
- 现有底层工具消化了哪些常用功能
- 代码分析
- 可能产生的应用和盈利方向
- 开源软件与盈利之间的关系是一个复杂而多层次的话题,这里仅讨论具体技术盈利的方向和可能性。
4 典型应用分类
上述热门应用可简单分为以下类别:
4.1 大模型本地化
大模型本地化主要是指将大型模型部署到本地环境进行使用,通常需要本地有 GPU 资源以提供支持;最小配置的模型需要 6-10GB 的显存即可运行。如果需要进行个性化微调,则需要更强大的硬件资源。
在考虑模型大小的同时,还需要考虑多语言支持。一般而言,我们首选至少支持中英文双语的模型,例如:Chinese-LLaMA-Alpaca、ChatGLM2-6B 和 ChatGLM-6B。
在本地搭建模型可能基于以下几个方面的需求:
- 本地保密数据或者网络环境不适合将数据外传。
- 调用外部模型需要支付一定费用,如果本地具备计算资源,可有效节约成本。
- 需要根据具体行业数据微调模型,或者根据已有模型进一步研发。
需要注意的是:本地模型的效果一般都不如主流模型,且两者之间存在较大差距;此外,如果使用量较大,也需要考虑硬件成本和等待时间等因素。
主要模型如下:
- ChatGLM-6B/ChatGLM2-6B:目前公认好用的中文开源大模型,本地搭建很方便,又不是很大,一般 GPU 都能跑。
- Chinese-LLaMA-Alpaca:中文 LLaMA & Alpaca 大语言模型 + 本地 CPU/GPU 训练部署
- ollama:在本地启动并运行大型语言模型,支持多种开源大模型,常与其它应用层工作配合使用。
- GPT4All:开源的聊天机器人,将模型部署在本地,其亮点是在 CPU 机器上也可以运行大模型,但需要较长的等待时间。
4.2 整体解决方案/Agent
用户仅通过 ChatGPT 进行聊天通常只能解决一些简单的单步问题。要解决更为复杂的问题,通常需要进行多步人机交互。致力于解决这一问题的项目通常采用以下方法。
常规的交互方式是:用户提供一个问题或主题,机器通过分析和推理,提供一系列实现步骤和具体方法,并且能够调用其他工具解决问题。这种方法主要依赖思维链技术和提示 Prompt 来实现。其中,一种常见的应用是 Agent,可以将其简单地看作“机器人”,通过协调完成一系列复合工作。
典型应用如下:
- AutoGPT:建立和使用 AI Agent,将设定的目标自动拆解成多个子任务,并派出 Agent 执行任务直到目标达成,整个过程无需编程。 GPT应用_AutoGPT
- MetaGPT:将软件开发拆解成前后多个步骤,调用模型完成各个步骤,通过提示以及对返回结果的解析,最终结合成完整的项目。GPT应用_MetaGPT
- gpt-engineer:使用简单提示生成完整代码。
- ChatDev:生成可直接运行的应用程序。
大型模型在解决问题的过程中扮演着重要的角色。然而,仅依赖机器自行解决复杂问题还难以实现,经常在过程中的某一步“跑偏”。因此,这类工具通常会设计一些交互功能,使用户通过交互在中间步骤引导 Agent 工作。此外,程序员对工具链和机器最为熟悉,因此开发领域也是最早进行实验和应用的领域。
4.3 辅助工具
辅助工具是大型模型基础建设中的重要组成部分,它本身并不构成完整的解决方案,而是通过安装包的方式提供逻辑或服务,供其他程序调用。
一些常用的辅助工具包括:
- langchain: 一个编程框架,旨在帮助在应用程序中使用大型语言模型(LLM)。GPT应用_Langchain
- llama-index:提供了一个简单的接口,用于在 LLM 和外部数据源之间进行交互,常用于构建本地知识库。GPT应用_llamaindex
- milvus:向量检索云服务(Milvus),它解耦了业务逻辑、模型和数据存储。
4.4 上层应用
这类工具的功能主要依赖于大型模型的实现,此类工具种类繁多,更侧重于特定场景的应用,解决实际问题。相对而言,它们更加偏向前端,也存在前后端结合的解决方案,以下是针对不同方面的分开讨论:
- 加强易用性: 这一类工具注重提升用户体验,通过强化角色定义和提供常用功能,使其更加用户友好。一部分工具采用了套壳的方式,更好地包裹和整合相关功能。
- 扩展性: 针对本地知识库,致力于实现保密性、搜索性以及生成性的功能。
- 与具体领域结合: 一些工具专注于与具体领域结合,如学术研究领域,以满足相关行业的特定需求。
4.4.1 前端应用
这里介绍的前端应用并非不包含后端服务,而是指主要设计和实现以前端功能为主,涉及较少复杂的数据存储和后台服务。
- gpt_academic 学术 GPT,不断更新的高星应用。gpt_academic 的出现较早,专注于优化论文阅读、润色和写作体验,功能实用且充实,是在特定垂直领域应用 GPT 的一个典型范例。学术ChatGPT工具
- ChatGPT-Next-Web:调用 ChatGPT 的前端工具,即我们熟悉的浅蓝色界面,构成了许多国内用户使用 ChatGPT 不可或缺的一部分。GPT应用_ChatGPT-Next-Web
- ChuanhuChatGPT:也称为川虎 Chat,可调用 ChatGPT API 和其他许多大型语言模型的 Web 界面。支持代理、基于文件的问答,GPT 微调以及 GPT 结合网络搜索查询。用户界面简洁易用。GPT应用_chuanhu川虎
- chatgpt-on-wechat/chatgpt-mirai-qq-bot:微信聊天机器人是另一类重要的应用。这些程序可以以公众号服务、企业号、普通微信聊天、飞书等多种方式将通讯工具与大型语言模型连接在一起,提供更为便捷的大模型使用方法。GPT应用_chatgpt-on-wechat
4.4.2 前后端结合
本部分展示了一些更为复杂的集成方案,主要致力于解决本地知识与大型模型结合的问题。综合利用了前端、后端、数据存储、大型模型等技术,构建了综合性的解决方案。
- FastGPT 在不需要编程的情况下,快速建立简单的本地知识库。 GPT应用_FastGPT
- privateGPT 该方案搭建了完整的 RAG 系统,相比于 FastGPT,其界面更为简单。底层支持相对丰富,可用于知识库的完全本地部署,包含大型模型和向量库。GPT应用_PrivateGPT
- JARVIS 微软开源的人工智能 AI 助理系统,集成了多模态多种模型,需要较强硬件支持才能运行。
- quivr 提出了“第二大脑”概念,具体实现采用 RAG 模型,针对不同用户和场景支持多个“大脑”并存。每个“大脑”存储一个或多个文件,用户可以使用指定的“大脑”进行搜索增强生成。GPT应用_QUIVR
- langchain-Chatchat:结合 langchain 与 ChatGLM,实现了一个本地 RAG 的后端。代码完全采用 Python 实现,可以与 FastGPT 前端结合使用,是一个用于本地知识库的后端解决方案。
4.5 其它(更外围)
相对于程序和方法而言,这些项目更加注重资源的整合。主要包含两个方向:提示词方向和 ChatGPT 反向工程(白嫖)。
- Mr-Ranedeer-AI-Turor 个性化人工智能导师,封装了一套提示词,为用户提供定制的 AI 学习指导服务。
- awesome-chatgpt-prompts-zh ChatGPT 中文调教指南,提供一些常用的使用场景以及对应的 Prompt 提示。 GPT应用_awesome-chatgpt-prompts-zh
- revChatGPT ChatGPT ChatGPT 反向工程,在 OpenAI 官方正式发布 ChatGPT 接口之前,可通过它调用 ChatGPT。从 2023 年 8 月起不再更新。
- GPT4free GPT4 反向工程,使用 streamlit 制作了一个简易的输入框和文本输出展示。通过 Python 包开发,开发者也可以将其嵌入到自己的应用内部。
- funNLP NLP 资源汇总,包含 ChatGPT、LLM 数据集、中文语料库、知识图谱、文本生成、关键字提取、文本匹配、文本可视化等多个方向的技术、项目、文献资料等。
5 盈利方向
5.1.1 Saas 服务
为企业提供整合服务,包括部署、使用、代码或数据托管。这也是许多成功商业化的开源系统的主要收入模式。
5.1.2 建立生态
虽然前路漫长,未来充满不确定性,但建立生态系统可能会带来巨大的机遇。
5.1.3 套壳
大模型相关的服务通常是需要付费的,在用户不能直接使用的情况下,提供一下服务中转服务,只要加价不过分夸张,有需求的用户通常都能接受。
5.1.4 免费版与收费版
提供免费版并附加一些额外功能收费也是一种常见的商业策略。另外,有些工具像 MySQL 也提供免费版和收费版,供用户选择。
6 讨论
6.1 功能
上述项目,从功能角度来看,并没有发现特别令人惊讶的功能。目前的方向相对明确,大量资源都在这些方向上集中。几乎没有你能想到而别人想不到的功能。或许需要更关注一些细分领域。
6.2 实现
从实现的角度来看,开源软件在功能设计、交互、架构以及编码方面都提供了许多值得借鉴的内容,许多功能已经得到了很好的实现。
从运维度度看,高星工具通常具有很强的服务意识,可以即开即用,工具链做的也非常好;许多应用对交互和前端进行了深入的优化,前端领域涉及的知识丰富且众多,百花齐放;相比之下,Python 后端调用则相对较为统一。总体而言,大模型领域有点类似于直播带货,关键技术主要集中在几家大厂手中,普通人主要以应用为主。
从开发的角度来看,更多的时间可能会用于考查而非实现,需要避免重复造轮子。上层工具是否最优可能并不是最重要的,敏捷开发可能更为关键。此外,剃刀原则也很重要:如无必要,勿增实体。
6.3 产品
目前,大多数人使用的底层大型模型很可能仍然是 ChatGPT 系列。
然而,在过去的一年里,涌现了许多新的模型,尤其是中文模型。通过对底层的多种模型的支持,至少使得多数工具变得可公开使用,且在没有科学上网的环境下也有备用方案。
就模型效果而言,大模型领域可能还会经历一个很长的发展阶段。首先,由于长尾效应,模型不可能成为可以回答所有问题的“全知”。因此,将其与应用和场景结合,还有很多工作要做。从业务角度来看,充分利用模型的理解能力,可以与许多领域结合,解决以前无法解决的问题。这个需求可能远远超过只是让 AI 写文章或画图。
6.4 展望
在 2023 年,大型模型毫无疑问是最炙手可热的话题。在查找资料的过程中,有的标题真的太过辣眼:“跟不上时代的脚步”," 抢了 XXX 的饭碗 "…… 大家都太想寻找捷径了,结果导致这条路越走越拥挤,形成了一片红海。
一旦打开潘多拉魔盒,后续的发展就变得无法预测。巨大的技术变革,也确实会打破一些看似平静的状态。未来可能会更加开放,也更为激烈。毕竟,有些组织在今天的发展中显得过于庞大和低效。
产品往往有两种走向,一种是从需求 ->产品,解决具体的问题,一些自动化工具早就问世,比如自动客服,并不是大型模型出现后才有的。然而,随着大型模型的出现,这些工具至少变得更加高效易用。另一种是从数据/能力 ->产品,有时候会发明出一些产品让生活变得更好,比如外卖。但有时候也难免:拿着锤子的人看什么都像钉子。
可能会有更多的内容整合在一起。例如,微信已经在管理多个方面,包括帐单、位置、运动,甚至移动设备。或许有一天,这些领域将被更加紧密地整合在一起。模型的理解能力将有助于更好地执行这些任务。
7 参考
gpt4free 0.0.1.4版本安装指南
gpt4free官网,github,免费“白嫖” GPT-4 方法,使用教程
标签:Star,本地,模型,热门,开源,应用,2023,GPT,ChatGPT From: https://blog.51cto.com/u_15794627/9068281