需求
之前给领导画饼,说是要搞个智能大模型助手,这不就得实现这个饼了。
简单讲讲这个需求:
- 能根据喂给它的文件的内容进行回答
- 能进行编排(温度,敏感词过滤等)
- 能暴露成API和WebApp
技术选型
经过综合考量,LLM部署和推理框架选用 (Xinference)
LLMOps平台选用Dify.AI · The Innovation Engine for Generative AI Applications
这个是国人写的,支持企业级部署
大模型使用 智谱清言 (chatglm.cn)
不多说,清华的
安装
基础环境
基础环境需要Python39 pip、docker
Xinference
安装可以参考:部署快捷、使用简单、推理高效!大模型部署和推理框架 Xinference 来了!_大模型部署框架-CSDN博客
以及官方文档安装 — Xinference
值得注意的是,安装Xinference之后会安装会自动安装PyTorch,和对应的CUDA,此时你需要自己检查下是否安装正确
Dify
这个直接用Docker-compose即可
- 将源码拉下来
- 找到源码对应的docker目录,使用docker-compose启动
简单使用
这里会简单搞1个Node小助手
首先进入Xinference把模型跑起来,启动命令
xinference-local
之后找到想要的模型,点击run,初次会需要下载,建议最好跑在Nvidia的GPU上。
跑起来后,通过左侧RunningModels菜单,可以看到正在跑的模型
点击右侧即可进入WebApp(就是日常使用GPT的聊天窗)
想要进一步得出想要的小助手,需要对模型进行编排,这时候就需要请出Dify,启动后,进入到Nginx容器的地址,进入设置,对接好Xinference。
之后创建应用
可以看到这里用了知识库,先在Xinference里跑起Embedding 模型,作用是将文本转换为向量
然后跑Rerank 模型,用来对文本进行排序
最后回到Dify,创建知识库,选择好对应的模型,
之后在回到模型编排,将对应的知识库放进上下文里,提示词写上按上下文回答。
发布后打开概览,可以看到你的APP和API
点击APP的预览,进入到熟悉的聊天窗
至此,本地部署大模型就完成了,当然这套也可以部署在服务器上,只需要选择对应的Linux的版本,以及确保网络的通畅。
值得提醒的是:硬件一定要好,否则不但达不到你对大模型的预期,搭建过程也会困难重重