本文详细介绍了如何使用LM Studio和Anything LLM工具来构建和部署本地知识库。文中首先表明了安装和配置大模型的步骤,随后展示了如何将模型部署为后台服务,并通过API举行调用。此外,文章还涉及了如何使用这些工具快速构建知识库应用,包括知识库的配置和问答系统的设置。整个过程强调了无需深厚编程知识即可实现快速部署和使用,恰当业务专家和产物计划职员使用。
业务背景
近来一直在探求一套最佳的基于大模型的知识库系统解决方案,必要具有如下能力:
- 能够快速将大型模型举行本地化的部署使用。
- 结合大语言模型,能有一套良好的知识库系统,方便使用。
- 针对业务专家和产物计划职员,纵然不懂代码,也能快速构建产物原型,了解基于大型模型知识体系的构建过程,并能选型大语言模型。
- 针对算法职员,“套壳”大模型或微调大模型,可通过一款工具完成本地化的快速部署和分发,而不必要本身单独写一个服务。
- 针对开发职员,可将算法开发好的模型快速构建成后台服务,且为OpenAI尺度的服务API,能让开发团队快速举行大型模型的接入测试和验证。
- 针对测试职员,可以在构建的大型模型和知识库问答应用中举行快速测试,并跟踪各个环节的效果,如embedding的召回效果是否覆盖所有知识点,可通过接口调用日志举行快速查看。
- 针对甲方的企业要快速验证知识库项目的可行性,可以使用这两个工具搭建本地的测试环境。这样可以对一些关键技术举行全流程化的跟踪调试,待验证没有问题再举行立项或系统的集成。
最终选择了LM studio + Anything LLM搭建本地知识库。
LM Studio安装部署及使用
安装
LM Studio是一款桌面软件,安装后,经过简单的配置即可使用。登录https://lmstudio.ai/ 即可看到如下界面,按本身的操纵系统举行下载即可。
安装完成之后,登录系统的主界面如下图所,可以看到其默认界面如下:
安装完成!!!
下载和管理大模型
在LMs studio的首页即提供了大模型列表及搜刮能力,可以从hugging Face上获取支持的大模型列表,并可以通过搜刮获取关注的大模型。如下图搜刮近来也比力火的Mistral:
- 点击“download”可以将想要的大模型下载到本地磁盘中。
查看下载进度条
2. 点击My models图标,即可查看本地下载的大模型列表,在这里我本身下载了4个大模型(LLama-3、LLama-3 chinese、gemma,刚刚下载的mistral)、一个embedding Model(据说是一个比力好的embedding算法),另有一个是本身通过LLama-3套壳的本地模型:
AI chat
下载了模型之后,就来验证一下这个模型能否正常使用,进入AI chat界面:
- 是选择模型,选择我们刚下载的mistral,左侧可以表现该模型在实行时的内存及cpu占用环境。
- 是针对该模型的聊天历史
- 是针对该模型举行对话时的参数配置,这里我们默认即可
- 是聊天的主交互界面。
以下是Mistral模型复兴的效果,问题都明白堕落了:
换成近来超火的LLama 3:8b之后效果照旧不错的:
将大模型部署为后台服务
点击“local server“,进入服务配置界面:
- 选择做为后台服务的大语言模型,在这里选择llama3
- embedding算法,这里选择了一个社区比力推荐的nomic-ai-nomic embed text算法
- 配置做为后台服务的端口,并启动server
- 针对python在差别的场景下的示例代码
- 服务器的logs界面,每一次api的调用日志在这里都可以看得到,方便举行问题排查,另有就是embedding算法返回效果是否召回的验证非常有帮助,方便算法和测试职员举行模型测试和调优使用。
用Anything LLM快速构建知识库应用
Anything LLM有两个版本,一是桌面安装版本,另一是通过Docker举行部署的版本。我选择安装桌面版,有兴趣的同砚可以研究一下Docker版本,它增加了用户权限管理功能,并可以举行企业级应用部署。它是开源的,可以在真正的生产环境中使用Anything LLM作为知识库的后台系统,并开放API供前端业务系统集成。
安装
登录网站https://useanything.com/download 并选择适用本身的版本:
下载到本地后直接像平凡软件一样安装即可,由于本地已经完成了安装,在此就不再举行安装了。
安装完成之后,有三个比力紧张的配置:
- 配置大模型:
- 推荐使用LM Studio,由于他照旧比力方便调试的。在这里输入LMStudio后台服务的URL,选择模型和token的巨细
2. 别的,也可以选择openai或AnythingLLM,如果选择AnythingLLM,如下图所示,列表了其支持的大语言模型,选择了对应的模型点击“save changes“时,在后台会下载对应的大模型到本地。因此,AnythingLLM也可以自行体系独立运行。
- 配置embedding模型(用于对语言档切分和向量数据库中知识内容的相似性判定并召回,该算法的好坏,直接影响大模型的推理效果),在这里也可以有多种选择,我选择使用LMStudio中的nomic-edmbed-text-v1.5,如下图所示:
- 向量数据库:在这里我选择了一个轻量级的LanceDB,如下图所示:
配置知识库
返回主界面之后,默认如下图所示,没有任何应用:必要我们创建一个新的workspace。
必要我们创建一个新的workspace,点击“new workspace”之后,创建一个新的worksapce:
针对新创建的itops工作区,必要为其增加知识库的内容,我手动创建了一份markdown格式的应急预案文档,文包括大抵内容如下:
在AnythingLLM界面点击上传按钮,可以将本地的文件或来自某一个网站的站点内容举行抓取,并当成知识库的内容。
点击上传本地的文件:
上传后由于要对文件举行切分操纵,在之前的配置中,我们配置了embedding算法使用的是LM Studio推荐的nomic-ai-nomic embed text算法,因此会直接调用LM Studio的后台服务对文档举行切分,如下图为后台日志:
至此知识库配置完成,下面将使用智能问答系统。
知识问答
现在我们来问“数据库异常锁表故障”,看下效果如何:
- 首先,当我输入这个问题之后,第一件要做的变乱就是调用LM Studio后台提供的API,这时会在Server Logs的控制台界面,看到调用过程,以及从知识库中召回的相关知识点:
- 当获取了这些召回的知识时,LM Studio的大语言模型(这里用的llama 3)就会实行推理的效果返回给Anything LLM,效果如下:
对比一下知识内容的原文,效果照旧非常不错的,原文如下:
至此,大型模型的知识库系统已经搭建完毕,并已完成从知识构建到知识问答效果展示的整个过程。
下一步,我们将对问答的效果举行评估,并优化问答系统的效果,以使其在生产上得以应用。
敬请等待!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |