教你使用开源 Hugging Chat 部署『生产级』私有 AI 聊天应用

悟空软件阅读量:3091 次浏览2023-08-18

本文介绍了使用 HuggingFace 的一系列工具来搭建本地大语言模型的 AI 聊天应用。

该方案专注聊天,也是最常用的场景,比起其他开源项目的娱乐和玩具的成分来说,HuggingFace 的 Chat 质量可以说相当高了。

先看一下 UI:

Hugging Chat UI当然还有黑色主题:

Hugging Chat UI 深色主题前后端分别有如下特点:

• 聊天应用的前端 UI 使用 HuggingFace ChatUI,

• 可开启授权

• 可存储对话记录(使用 Mongo)

• 可定制 UI

• 后端使用 text-generation-inference

• 可对接多种开源模型,Llama 2、Falcon 等

• 可容器运行

• 可定制

下面主要讲的是本地运行方案,如果你觉得麻烦可以直接在 HuggingFace 上运行,一键搞定,文章最后一章我也会附上说明。

 

后端模型接口

我们使用 text-generation-inference 这个项目,自带 API、架构简单稳定,可用于生产。

项目地址:

https://github.com/huggingface/text-generation-inference

项目架构:

text-generation-inference

项目特点

• 通过简单的启动器提供最流行的大型语言模型

• 张量并行可在多个 GPU 上实现更快的推理

• 使用服务器发送事件 (SSE) 的令牌流

• 连续批处理传入请求以提高总吞吐量

• 在最流行的架构上使用flash-attention和Paged Attention进行推理的优化转换器代码

• 使用bitsandbytes和GPT-Q进行量化

• Safetensors重量加载

• 使用大型语言模型的水印进行水印

• Logits 扭曲器(温度缩放、top-p、top-k、重复惩罚,更多详细信息请参见Transformers.LogitsProcessor)

• 停止序列(生成过程中停止)

• 对数概率

• 生产就绪(使用开放遥测、Prometheus 指标进行分布式跟踪)

模型

这是经过优化的架构,当然包含我们最爱的 Llama 2:

• BLOOM

• FLAN-T5

• Galactica

• GPT-Neox

• Llama

• OPT

• SantaCoder

• Starcoder

• Falcon 7B

• Falcon 40B

• MPT

• Llama V2

其他的模型你也可以试试:

如果需要使用认证的模型(比如 Llama 2),需要配置 HF 的令牌:

• 前往https://huggingface.co/settings/tokens

• 复制您的 cli READ 令牌

• 配置变量 HUGGING_FACE_HUB_TOKEN=<your cli READ token>

ChatUI

ChatUI 是一个 SvelteKit 应用程序,专门为 HuggingChat 应用程序提供支持。 我们刚刚运行的 text-generation-inference 就可以 很好地和 ChatUI 配合。

项目地址是:

• https://github.com/huggingface/chat-ui

首先克隆项目:

在线部署

Hugging Chat是一个开源接口,使每个人都可以尝试 Falcon、StarCoder 和 BLOOM 等开源大型语言模型。

当然您也可以借助 ChatUI 的官方 Docker 模板, 使用 Hugging Face 的基础设施,选择模型快速部署部署自己的 Hugging Chat。

在下面网址快速创建。

https://huggingface.co/new-space?template=huggingchat/chat-ui-template

 

 

 

登录/注册
客服电话
售前咨询