点击上方👆蓝字关注我们!
Langchain 是一个基于大语言模型进行应用开发的框架,它提供了方便的组件库,方便开发者将 LLM 模型与各种外部数据源连接起来。本文介绍了在火山引擎上部署 Langchain-ChatGLM 的方法。
什么是 Langchain-ChatGLM
步骤一:准备 VKE 集群环境
登录火山引擎控制台,创建 VKE 集群,集群版本选择 1.24,容器网络模型选择 VPC-CNI,开启公网访问。 选择立刻创建节点,节点规格选择 GPU 计算型,ecs.gni2.3xlarge NVIDIA A10,组件勾选安装 nvidia-device-plugin 组件。
步骤二:下载代码、模型并构建镜像
相关代码和模型均已开源,可以在 GitHub 和 HuggingFace 下载:
- 代码:github.com/imClumsyPanda/langchain-ChatGLM
- 默认 ChatGLM-6B 模型:huggingface.co/THUDM/chatglm-6b
- 默认 Embedding 模型:huggingface.co/GanymedeNil/text2vec-large-chinese
为了方便大家体验,我们把代码和相关模型打包到了一个容器镜像中,使用 cr-demo-cn-beijing.cr.volces.com/vke-ai/langchain-chatglm:v0.0.1 镜像可以直接拉起一个 langchain-ChatGLM 服务。
含有模型的镜像约 24GB,为了加速在 VKE 中的启动速度,用户可以创建自己的火山引擎镜像仓库(Container Registry,CR)标准版实例,将该镜像转存到自己的仓库中。具体请见:www.volcengine.com/docs/6420/106367。
同时,针对 AI 镜像都比较大的特点,火山引擎镜像仓库 CR 提供了多种镜像下载加速的能力,我们将在后续系列文章中详细介绍。
步骤三:创建 Langchain-GLM 服务
通过 VKE 控制台创建
登录容器服务 VKE 控制台,在“工作负载”-“无状态负载”页面创建 Deployment。需要填写 GPU 算力为 1 卡:
在“服务与路由”-“服务”页面创建负载均衡类型的服务,并关联 Langchain-ChatGLM deployment,容器服务端口为 7860:
等 Service 创建完毕,显示入口地址之后,我们直接访问 IP 就可以体验 Langchain-ChatGLM 服务了。
服务入口也可以选择 7 层 Ingress ALB 或 API 网关,具体操作可参考《如何在火山引擎云上部署Stable Diffusion》。
通过 YAML 文件创建
部署服务:
apiVersion: apps/v1
kind: Deployment
metadata:
name: langchain-new
spec:
replicas: 1
selector:
matchLabels:
app: langchain-new
template:
metadata:
labels:
app: langchain-new
spec:
containers:
- image: cr-demo-cn-beijing.cr.volces.com/vke-ai/langchain-chatglm:v0.0.1
name: langchain
resources:
limits:
nvidia.com/gpu: "1"
暴露服务:
apiVersion: v1
kind: Service
metadata:
name: langchain-new
spec:
ports:
- name: langchain
port: 80
protocol: TCP
targetPort: 7860
selector:
app: langchain-new
type: LoadBalancer
步骤四:增加本地知识库
在部署好的服务中选择“知识库问答”模式,并新建知识库(注:知识库名称暂不支持中文)。
点击上传文件/上传文件夹并加载知识库,Langchain 模型会自动进行知识库分析。这里我们给 Langchain-ChatGLM 添加了火山引擎产品的相关知识。
最终演示
以上就是在火山引擎 VKE 中部署 Langchain-ChatGLM 服务的实践,欢迎大家登录火山引擎控制台尝试!
相关链接
[1] 火山引擎: www.volcengine.com
[2] 容器服务: www.volcengine.com/product/vke
[3] 镜像仓库:www.volcengine.com/product/cr
[4] 模型镜像:cr-demo-cn-beijing.cr.volces.com/vke-ai/langchain-chatglm:v0.0.1
点击
“阅读原文”
申请体验!
火山引擎云原生团队
火山引擎云原生团队主要负责火山引擎公有云及私有化场景中 PaaS 类产品体系的构建,结合字节跳动多年的云原生技术栈经验和最佳实践沉淀,帮助企业加速数字化转型和创新。产品包括容器服务、镜像仓库、分布式云原生平台、函数服务、服务网格、持续交付、可观测服务等。