如何搭建公司内部知识库的大模型小助手

5,451 阅读2分钟

需求

之前给领导画饼,说是要搞个智能大模型助手,这不就得实现这个饼了。 简单讲讲这个需求:

  1. 能根据喂给它的文件的内容进行回答
  2. 能进行编排(温度,敏感词过滤等)
  3. 能暴露成API和WebApp

技术选型

经过综合考量,LLM部署和推理框架选用 (Xinference)

image.png

LLMOps平台选用Dify.AI · The Innovation Engine for Generative AI Applications

这个是国人写的,支持企业级部署

image.png

大模型使用 智谱清言 (chatglm.cn)

不多说,清华的

安装

基础环境

基础环境需要Python39 pip、docker

Xinference

安装可以参考:部署快捷、使用简单、推理高效!大模型部署和推理框架 Xinference 来了!_大模型部署框架-CSDN博客

以及官方文档安装 — Xinference

值得注意的是,安装Xinference之后会安装会自动安装PyTorch,和对应的CUDA,此时你需要自己检查下是否安装正确

Dify

这个直接用Docker-compose即可

  1. 将源码拉下来
  2. 找到源码对应的docker目录,使用docker-compose启动

image.png

简单使用

这里会简单搞1个Node小助手

首先进入Xinference把模型跑起来,启动命令

xinference-local

之后找到想要的模型,点击run,初次会需要下载,建议最好跑在Nvidia的GPU上。

image.png

跑起来后,通过左侧RunningModels菜单,可以看到正在跑的模型 点击右侧即可进入WebApp(就是日常使用GPT的聊天窗)

image.png

想要进一步得出想要的小助手,需要对模型进行编排,这时候就需要请出Dify,启动后,进入到Nginx容器的地址,进入设置,对接好Xinference。

之后创建应用

image.png

可以看到这里用了知识库,先在Xinference里跑起Embedding 模型,作用是将文本转换为向量

image.png

然后跑Rerank 模型,用来对文本进行排序

image.png

最后回到Dify,创建知识库,选择好对应的模型,

image.png

之后在回到模型编排,将对应的知识库放进上下文里,提示词写上按上下文回答。

发布后打开概览,可以看到你的APP和API

image.png

点击APP的预览,进入到熟悉的聊天窗

image.png

至此,本地部署大模型就完成了,当然这套也可以部署在服务器上,只需要选择对应的Linux的版本,以及确保网络的通畅。

值得提醒的是:硬件一定要好,否则不但达不到你对大模型的预期,搭建过程也会困难重重

image.png