AI 文摘

我搭建了一个私人ChatGPT:零成本起步,接入各大主流大模型





作者: 大伦博鸽蛋灌饼 来源: 大伦博鸽蛋灌饼

自从去年OpenAI高调发布ChatGPT,把人工智能带入2.0时代以来,虽然我国自己的大模型发展得好不热闹,但依然不得不正视与国际一线公司之间的差距。

而作为一名身在中国大陆的AI研究者,却很难方便地体验到“国外的月亮”到底好在哪里又差在哪里。手机号码、信用卡认证,甚至基于大模型的登录地点验证,让很多研究者望而却步。

今天这篇技术向文章,就给大家介绍几款工具,有了他们不但可以突破限制,零成本起步,主流大模型随便用,还能轻松拓展出自己的AI生态。

OpenRouter

官网地址 :https://openrouter.ai/

如上文所述,我们中国研究者最愁的就是找不到稳定使用第一线大模型的方法。不用担心,OpenRouter帮到你。

顾名思义,OpenRouter是一个LLM的路由。也就是说,它的上游连通的是各家大模型的endpoint,比如OpenAI的API,而我们则可以通过在OpenRouter注册账号获取API key,而这一个API key就可以访问OpenRouter支持的所有大模型。

除了免费模型,比如Google Gemma 7B、Mistral 7B Instruct 0.1,OpenRouter还支持几乎所有榜上有名的大模型,比如OpenAI全家桶(包括多模态的GPT4-Vision)、Anthropic刚刚发布的Cluade 3系列(包括性能最佳的Opus)、谷歌的Gemini Pro 1.0 与 Pro Vision 1.0,还有开源的Llama 2系列等等。

完整列表可以查看OpenRouter官网
https://openrouter.ai/docs#models

价格方面,免费模型不会额外收费,而对付费模型,OpenRouter竟然也不会作为中间商赚差价,让人十分怀疑这种商业模式是如何做到可持续的。

那么,最关键的问题来了:

OpenRouter的付费是不限制地区 的!有国际支付权限的visa或mastercard卡都可以使用。终于在大模型领域有钱可以让鬼推磨了。

使用方面,OpenRouter使用统一的API调用的方式向上游LLM发送请求,格式规范遵循OpenAI的API定义,换句话说,直接用OpenAI的python库,替换掉base_url和api_key就可以跑起来了。

这里多说一句,我一直更喜欢API调用的方式使用大模型,因为那样可以自由设置temprature、top k等参数,而这些作为在OpenRouter也是被支持的。同时像tools、stream这些高级玩法也同样可以。

https://openrouter.ai/docs#requests

当然,如果嫌编码太繁琐,也可以直接使用OpenRouter官网上的playground前端对话页面(https://openrouter.ai/playground)试用不同模型。

LibreChat

官网地址 :https://librechat.ai/

有了OpenRouter的API路由和前端,我们已经可以做很多事情了。但如果要搭建一个基于ChatGPT的应用还是很费时费力的。这种时候如果出现一个巨人的肩膀就好了。

这就要介绍一下LibreChat了。

LibreChat是一个开源全栈项目,致力于提供一款复刻ChatGPT前端样式,但提供丰富拓展能力的工具,比如多种大模型源的支持、高级参数设置,甚至包括仿OpenAI官方的插件系统等等。

这是我自己部署在本地的LibreChat
是不是和原版如出一辙

通过本地部署LibreChat,我们就可以快速得到一个和ChatGPT比有过之而无不及的LLM聊天工具。

说它有过之而无不及,是因为通过提供不同家大模型的key,我们就可以用这一套前端调用不同大模型了,而且还可以用前端设置system prompt、温度、top k等等参数。

而更让人振奋的是,LibreChat官方提供了支持OpenRouter。所以这篇文章可不是标题党,通过OpenRouter和LibreChat的梦幻联动,我们真的可以实现零成本搭建私人ChatGPT(实测免费的谷歌Gemma 7B效果已足以应付很多场景了)。

此外LibreChat还提供了完整的用户权限系统(比如支持每个用户自行设置自己的api key)、多语言模式、以及暗色模式(重中之重) 等功能。不夸张地说,这是一款开箱即用的大模型生产力工具。

有读者肯定会问,不就是一个聊天窗口吗,怎么就生产力工具了。那就要讲到我认为LibreChat最强大的地方了:

插件体系

插件体系是OpenAI去年提出的一套生态系统,也就是让大模型结合各种插件(langchain中叫做tools工具),拓展大模型的能力,缓解知识量不足、幻觉、无法执行逻辑运算等问题。

这里多插一句,个人认为大模型+tools/plugins是大模型应用的正路,甚至可能是未来很长时间内的最有效形态。而在没有一种破天荒新架构提出之前,通过数据训练的大模型是无法解决幻觉、逻辑运算这些问题的。

这一点我想引用前几天推荐的《洞见》一书中的理论。书中提到脑科学的最新研究指出,我们人脑的决策体系是由多个侧重点不同的模块构成的,比如有侧重逻辑的,有侧重情感的。简单来说他们会独立运算,而把各自的结果交给最终的决策模块整合输出。类似机器学习中的ensemble概念。而值得注意的是,决策模块也是感性的,也就是说所谓的理性决策,只是理性模块的ensemble权重极高,盖过了其他感性模块的风头,而不是大脑本身的决策是可以建构在纯理性思考的基础上的。

而这是否与插件体系背后的chain of thoughts理论很相似?基于数据模拟的大模型将任务分发给不同插件模块,再由大模型判断是否完成了所有决策,如果是的话,把他们的输出结果做最终汇总。

图源:https://docs.librechat.ai/features/plugins/introduction.html

大模型在这里就遇到一个悖论:不通过注意力机制带来的scaling law,就无法应用大规模数据,也就无法建立所谓的世界模型理解力,因为这种理解是无法通过罗列逻辑关系穷尽枚举的;而这同时意味着大模型的运算类似人的记忆一样,是不精准的、非理性的。因而像人一样,理性能力只有在后天通过学习训练和工具流程的规约才能实现,大模型也需要plugins来提供这种能力。

Anyway扯远了,我想说的重点其实就是,有了插件系统可以做很多事情。比如LibreChat就自带了计算器插件,可以实现最简单的逻辑运算:

而web search插件可以获取最新知识:

而我自己也搞了一个骚操作:用FastAPI +langchain +FAISS 搭了一个简易的个人知识库检索服务,参考官方教程在LibreChat注册了一个新插件,成功让GPT模型调用了我自己的知识库。

当然准确来讲,以上内容不是Bogo提供的,而是Bogo知识库提供的
第二大脑计划起步

我的知识库里录入了吴晓波《浩荡两千年》的书摘和读书笔记,从两个答案对比可以发现,联动了个人知识库的GPT的回答显然更专业,其中国有专营化经营正是该书的一个重点脉络。而这还只是用了最朴素的向量检索和最小的embedding模型。

目前LibreChat的插件功能还仅支持OpenAI系列模型,作者透露其他模型(包括免费模型)的支持已在计划中。而对于中国大陆的同僚们,把LibreChat的.env环境变量里的OPENAI_REVERSE_PROXY设置为OpenRouter的endpoint,即可使用OpenRouter的api key访问OpenAI模型,并使用功能丰富的插件系统了。

OPENAI_REVERSE_PROXY="https://openrouter.ai/api/v1"

总结

这篇文章仅是抛砖引玉,大模型生态发展到今天,会导致未来的开发工作越来越偏向创意工作,而实现创意的路上,我们应该尽可能地复用前人提供的优秀工具,而不是被琐碎的细节打磨掉了火热的进取心。

最后,读者们如果有其他的好用工具,还望不吝赐教!

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具