大模型入门11:私有化部署问答助手术语、工具和解决方案

大模型入门11:私有化部署问答助手术语、工具和解决方案

原创 AI新智力

大模型问答助手私有化部署时经常会用到Ollama、vLLM、AnythingLLM、MaxKB等,这些都是什么,有什么作用?

chatbot with artificial intelligence

为什么是问答助手

目前的大语言模型,几乎都是以聊天的方式来和用户进行交互的,这也是为什么OpenAI开发的大模型产品叫ChatGPT,核心就是Chat。而我们基于大语言模型LLM落地应用,核心就是利用大模型的语义理解能力和推理能力,帮我们解决一些难以用“标准流程”去解决的问题,比如理解非结构化数据、分析推理、归纳总结等。

LLM真正的长处是它的理解、推理和对于问题的泛化能力,如果能把它运用到具体业务中,让它学习业务知识,则能发挥巨大的价值。目前绝大多数对大模型的应用,都是在尝试“教会”大模型特定领域知识,再基于大模型的泛化推理能力,去解决一些实际问题。运用的最多的就是知识问答场景和编程助手,比如智能客服、问答助手、Copilot、Cline、Cursor等。

大模型私有化部署时,工具的选择需结合应用场景性能需求、客观硬件条件、易用性及生态支持等多维度评估。以问答助手为例,大模型私有化部署可以分为前端和后端两部分,下面介绍当前主流工具和网站。

图片

API接口:LLM综合部署与服务管理工具

私有化部署时,我们首先要本地拉起一个大模型,通过API的形式提供给上层应用调用。下面是一些常用的LLM部署管理工具。

1. llama.cpp

llama.cpp是一个基于C/C++编写的开源推理框架,专为在本地CPU/GPU环境高效运行LLM大语言模型而设计。其核心目标是降低LLM的部署门槛,通过量化技术与硬件优化,实现在消费级设备(如笔记本电脑、树莓派甚至手机)上运行类ChatGPT模型。llama.cpp是本地运行LLM的“瑞士军刀”,凭借其高效性与跨平台能力,成为个人开发者和硬件受限场景的首选工具。对于追求开箱即用的用户,可结合Ollama或LM Studio简化操作。

2. Ollama:适合快速验证测试性部署

Ollama是轻量级本地模型管理框架,基于llama.cpp进行封装,提供更友好的命令行体验和模型仓库,支持快速部署和运行主流开源模型(如Llama3、Qwen2、DeepSeek等)。Ollama需要使用命令行进行操作,命令风格与Docker/podman极其类似,如果之前就熟悉docker,可以做到无缝切换。

其主要特点有:

简化部署:Ollama目标在于简化在Docker容器中部署大语言模型的过程,使得非专业用户也能方便地管理和运行这些复杂的模型。

轻量级与可扩展:作为轻量级框架,Ollama保持了较小的资源占用,同时具备良好的可扩展性,允许用户根据需要调整配置以适应不同规模的项目和硬件条件。

3. LM Studio:适合非技术用户

LM Studio无需复杂命令行操作,前后端集成,是最简单的本地测试AI模型的工具,不需要安装python环境以及众多的组件,加载模型、启用GPU、聊天都非常简单。而且可以切换很多不同类型的大语言模型,同时支持在Windows和MAC上的PC端部署。使用LM Studio不需要深厚的技术背景或复杂的安装过程。传统上,本地部署大型语言模型如Lama CPP或GPT-4ALL往往伴随着繁琐的安装步骤和环境配置,这对技术要求极高。然而,LM Studio的出现彻底改变了这一局面。它提供了一个简单的安装程序,用户只需几个简单的步骤就可以轻松安装和运行。

4. vLLM:企业级高性能推理框架

vLLM是一个专注于高效推理和服务的大模型库,由加州大学伯克利分校的研究团队开发,专为GPU高并发设计,性能优于llama.cpp。它采用了一种称为PagedAttention的技术,优化了显存管理,特别适合高并发场景,例如部署大模型API服务(如智能客服、内容生成平台),需要处理大量并发请求。非企业专业用户一般用不到。

UI界面:应用开发与集成平台

部署完私有化LLM大模型及其服务管理工具,已经能通过API的形式对外提供服务了。但是对于私有化部署来说,我们需要定制化实现私有知识库,比如通过RAG、工作流、插件、函数库等功能,构建具有实现本地定制化、完成特定的任务的应用。

因此,下一步需要有一个开发平台,建立本地知识库,提供RAG、联网搜索、工作流、用户管理、审计功能、可观测性等功能的总和应用开发与集成平台。下面列举具有此类功能的常用产品。

1. MaxKB

图片

MaxKB(https://maxkb.cn)是一款基于大语言模型和RAG的开源知识库问答系统,专注知识库问答系统,支持本地化部署与RAG优化,广泛应用于智能客服、企业内部知识库、学术研究与教育等场景,是一款专注于知识库问答场景的软件产品。

2. Dify

图片

Dify(https://dify.ai)是一款低代码可视化AI应用开发平台(智能体平台),支持知识库与模型服务私有化部署。支持多模型混合编排(本地+云端API),内置50+Agent工具链。提供RAG流程设计、知识库管理和LLMOps监控功能。开源版本支持私有化部署,适合低代码开发,适用于企业快速构建AI应用(如智能客服)。

图片

3. AnythingLLM

图片

企业级文档问答专用平台,支持多工作区权限管理,内置文档分块和向量化存储,数据完全本地化,适合敏感信息处理,但是复杂问题回答深度不足。而且是英文环境,对国内用户使用不是很友好。

4. FastGPT

图片

FastGPT是一个功能强大的平台,专注于知识库嵌入和自动化工作流程的编排。它提供了一个简单易用的可视化界面,支持自动数据预处理和基于Flow模块的工作流编排。FastGPT支持创建RAG系统,提供自动化工作流程等功能,使得构建和使用RAG系统变得简单,无需编写复杂代码。

5. RAGFlow

图片

RAGFlow(https://ragflow.io/)是一款基于深度文档理解构建的开源RAG(Retrieval-Augmented Generation)引擎。RAGFlow可以为各种规模的企业及个人提供一套精简的RAG工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。

6. HiAgent

HiAgent是字节旗下的火山引擎推出的一款企业专属AI应用创新平台涵盖政务、企业服务、内容创作等场景。

在前文AI|大模型入门(五):智能体(Agent)已经介绍过,还有其他智能体平台提供SaaS服务,比如字节跳动扣子、百度文心、腾讯元气等,在此不再赘述。

补充:HiAgent和扣子都是字节跳动旗下的火山引擎公司推出的智能体平台类产品,只不过HiAgent是面向私有化部署的企业级解决方案,用于本地私有化部署,适合大型企业使用,例如浙江大学推出的“浙大先生”即是基于此产品部署开发;而扣子是面向线上用户的云端SaaS服务,适合个人学习、中小开发者或者初创公司等使用。

常用网站和工具

除了上述技术方案,在部署过程中,我们还会用到各种网站和工具,主要有:

1. 模型社区网站

模型社区提供各种开源大模型的下载,类似于github,主流的模型社区有以下两个:

Hugging Face (https://huggingface.co):国外开源模型社区,类似于github。

魔搭社区ModelScope (https://modelscope.cn):阿里云开源模型社区,类似于码云,侧重中文模型。

2. 其他工具

除此之外,私有化部署过程中,还会遇到其他名词,如GGUF:

GGUF:GGUF(GPT-Generated Unified Format)是一种专为大型语言模型(LLM)设计的二进制文件格式,旨在简化模型部署、提升推理效率,并支持跨平台兼容性。在传统的 Deep Learning Model开发中大多使用PyTorch来进行开发,但因为在部署时会面临相依Lirbrary太多、版本管理的问题于才有了GGML、GGMF、GGJT等格式,而在开源社群不停的迭代后GGUF就诞生了。

此外,还有其他的大模型格式,总结如下:

图片

Hugging Face的Transformers库是当前NLP领域最受欢迎的开源库之一,它提供了一种标准化的模型格式,被广泛用于各种预训练语言模型(如BERT、RoBERTa、GPT-2、T5、BART等)的存储、共享和使用。

TensorFlow SavedModel是TensorFlow官方推荐的模型保存格式,它是一个独立于代码的、可恢复的、可重用的模型表示,包含了模型的完整信息,包括计算图、权重、资源文件等。

ONNX(Open Neural Network Exchange) 是一种开放的神经网络交换格式,旨在促进不同深度学习框架之间的互操作性。通过 ONNX,开发者可以将模型从一个框架(如 PyTorch)导出,然后在另一个框架(如 TensorFlow)中加载和运行。

TorchScript是PyTorch提供的一种将PyTorch模型转换为中间表示(Intermediate Representation, IR)的方式。TorchScript模型可以独立于Python运行,从而实现模型的跨平台部署和推理优化。

GGUF(GPT-Generated Unified Format)是一种二进制格式,旨在快速加载和保存模型,并易于扩展。

如果需要考虑模型的格式转换工具,比如GGUF转换需要用到llama.cpp,或者使用transformers库进行模型加载,这就涉及到模型格式转换问题。

常用格式转换工具有:

HuggingFace/PyTorch→GGUF:lama.cpp的convert.py脚本。

Safetensors↔PyTorch:HuggingFace safetensors库。

GGUF→ONNX(间接转换):使用llama.cpp加载GGUF模型导出浮点权重;通过PyTorch转换为ONNX 格式。

建议技术选型

1. 如果是新手学习,建议使用Ollama+AnythingLLM/MaxKB的架构方式,然后逐步摸索实践。

2. 如果是小型单位内部私有化部署,可以使用Ollama+MaxKB/Dify的架构进行搭建。

3. 如果是企业级研发和部署,建议选择大型智能体平台如HiAgent进行部署,他们可以定制化提供完整解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值