在个人电脑上部署开源LLM并实现浏览器访问 -- 知识铺
┃任务说明:
大语言模型(LLM)阵营从开放程度来说,分为开源和闭源两大类。现在所有所谓的开源模型,严格意义来说是开放模型更合适点,随众还是称之为开源模型,因为只开放了模型权重,并没有开源核心的训练层。开源模型里面又分为消费级的开源模型,比如很多“XX-2B”,“XX-7B”的,在消费级电脑上基本都能跑起来;还有一些开源模型是需要在企业级服务器上部署,比如很多百亿级参数的体量。毕竟是在个人电脑上跑,所以本次任务是实现在个人电脑上部署开源LLM,并实现在浏览器上访问。本次任务,完全在国内环境即可实现。但我为了方便,还是用到了chatGPT,后面有说明,暂且不表。
┃任务拆解
1、在本地部署开源大模型
2、在本地部署一个简单的python服务,实现通过浏览器访问本地部署的开源大模型,如果已经部署了多个开源LLMs,在网页对话应该可以选择具体LLM
3、如果不想开发本地网页服务,可以用成熟的开源软件直接访问
开始吧。(以windows系统为例,macos类似) **
01 把大模型搬到自己电脑上
┃下载Ollam,安装开源模型
访问 Ollama官网 Ollama 下载后安装Ollama Ollama
安装后运行Ollama,在电脑右下方会出现Ollama羊驼图案
windows搜索栏输入 cmd 打开命令提示符,输入一下命令 :
<span>C:\Users\1><span>ollama</span> run gemma</span>
回车,此时会自动安装开源大模型运营的依赖环境(如python环境及各种依赖库等,总之,不用管,等着就行),自动下载所需要的大模型(这里用gemma示意,什么是gemma?自己搜去~),如果已经下载好了开源大模型,运行这条命令就会直接进入运行环境。
┃运行成功后显示
<span>C:\Users\1>ollama run gemma</span>
问候一下:
<span><span>>></span>> 你是谁?</span>
想要安装其他开源可以如法炮制:ollmma run %大模型名称% (支持的模型看这个页面:library (ollama.com))
02 制作一个简易网页与本地大模型对话
┃制造一个简易的本地对话网页
用命令窗口对话总觉得意犹未尽,那就来制作一个本地对话网页吧。我不会代码,就让ChatGPT,帮我生成一个吧(用讯飞星火等国内大模型也能同样实现)
建议在ChatGPT新建一个窗口,专门用于构建本地网页代码,后续如果有修改,可以在这个窗口里面继续迭代。 因为我之前已经在本地安装配置好了python环境,所以我直接从构建python代码开始。如果python环境不知道怎么配置,也可以与ChatGPT对话,它会给你惊喜。
总之,需要想清楚你要干什么,然后多问,不要怕犯错误,甚至不要怕怎么问,从你一个想法开始,敲击键盘即可。
这里简要介绍下过程,不赘述。首先我让ChatGPT了解这个对话窗口的目的,以便后续围绕这个主题开展(看个人习惯)。
♣我
本窗口将聚焦在本地大模型网站构建
♦ChatGPT
构建一个本地大模型网站是一个复杂的项目,它涉及到多个领域的知识,包括但不限于机器学习模型的部署、网站后端开发、前端交互设计以及基础设施和安全性的考虑。下面是一些建议和步骤,帮助你开始这个项目:
1.选择大模型
首先,你需要确定使用哪种大模型。如果你打算使用像GPT-4这样的开放AI模型,你需要了解它的API使用条款、成本和限制。对于一些项目,可能更适合使用开源模型,例如GPT-J或GPT-NeoX
2.模型部署
云服务:最简单的方法是通过云平台(如AWS、Google Cloud或Azure)部署模型,这些平台提供了易于使用的机器学习服务。
本地服务器:对于需要更高隐私和控制的场合,可以在本地服务器上部署模型。这需要强大的硬件和专业的配置。
3. 网站后端开发
框架选择:选择一个适合你的技术栈和需求的后端框架,如Django、Flask、Node.js等
API设计:设计一个RESTful或GraphQL API,以便前端应用可以与大模型交互。
安全性:确保实现安全措施,如HTTPS、输入验证、防止SQL注入等。
4. 前端交互设计
用户界面:设计一个直观、易用的用户界面。可以使用框架和库,如React、Vue或Angular,来提高开发效率。
交互性:考虑使用WebSockets或轮询机制,以实现实时与大模型的交互。
5. 基础设施和扩展性
负载均衡:为了处理高流量,使用负载均衡器分配请求到多个服务器。
自动扩展:根据需求自动增加或减少资源,以优化成本和性能。
监控和日志:实施监控和日志记录,以便及时发现并解决问题。
6. 遵守法律和规范
数据隐私:确保遵守GDPR、CCPA等数据保护法规。
版权和使用条款:如果使用的是第三方模型,确保遵守其版权和使用条款。
7.资源和工具
开发工具:使用如Git、Docker和CI/CD工具来提高开发效率和代码质量。
文档和社区:参考相关的开源项目、论坛和文档,如GitHub、Stack Overflow等。
最后,构建和维护一个大模型网站是一个持续的过程,需要不断地学习最新的技术、测试新的想法并根据用户反馈进行迭代。希望这些建议能帮助你开始这个旅程!
接下来,我告诉ChatGPT我当前的情况
♣我
我下载了开源大模型在本地电脑上,现在想在本地电脑搭建一个本地服务器,实现在浏览器上访问本地大模型应用服务。我计划同时调用本地下载的开源大模型和openai api接口,同时还会逐渐介入图片生成应用等其他AI应用。我使用python语言。
♦ChatGPT
搭建一个本地服务器以通过浏览器访问本地大模型应用服务,同时集成OpenAI API接口和后续可能的图片生成应用,是一个挑战性但非常有趣的项目。以下是一个步骤指南,帮助你使用Python开始这个项目:
步骤 1: 设定环境
确保Python已安装在你的系统上。推荐使用Python 3.8或更高版本。
安装虚拟环境工具(如venv或conda),以便隔离项目依赖。
步骤 2: 创建虚拟环境并安装必要库
创建一个虚拟环境:在项目目录下运行以下命令来创建一个虚拟环境:bash
Copy code
python -m venv venv
激活虚拟环境:
Windows: .\venv\Scripts\activate
macOS/Linux: source venv/bin/activate
安装必要的Python库:至少需要安装flask(或fastapi,根据个人喜好),以及任何其他你计划使用的库,如requests(用于OpenAI API调用)。
bash
Copy code
pip install flask requests
如果你使用的开源大模型有特定的依赖库,请同样安装。……
省略过程内容,直接放一个对话过程的截频。
参考ChatGPT给到的工程文件和代码建议,在python工具里面实现(我用的pycharm) 调试程序(过程中出现问题在所难免,有问题就把报错代码提交给ChatGPT,它会帮你解决问题)
┃运行程序😊
03 直接用免费软件chatbox访问本地模型
推荐一个开源软件:chatbox,可以直接访问本地模型,也可以通过api访问其他模型。这里不做安装配置介绍,搜索一下,官网介绍的很详细了。效果如下图:
Made it!👏👏👏
《本篇完》
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/gpt/post/20240328/%E5%9C%A8%E4%B8%AA%E4%BA%BA%E7%94%B5%E8%84%91%E4%B8%8A%E9%83%A8%E7%BD%B2%E5%BC%80%E6%BA%90LLM%E5%B9%B6%E5%AE%9E%E7%8E%B0%E6%B5%8F%E8%A7%88%E5%99%A8%E8%AE%BF%E9%97%AE--%E7%9F%A5%E8%AF%86%E9%93%BA/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com