LangChain 开发环境准备与 AI 大模型私有部署指南
当下在 AI 应用开发领域,LangChain 框架可以说是唯一选择。然而,上手学习的小伙伴们大多被拦在了第一步,没有可供使用的 AI 大模型底座,没有可供实验的环境进行实操。而各大厂商比如 OpenAI 提供的 API 需要付费不说,从注册、开通到使用都有诸多的不便和限制。
因此,如何在本地或者私有网络中部署和使用 AI 大模型,成为了一个亟待解决的挑战。本文将以 Baichuan2-13B-Chat-4bits 为例,介绍如何进行 AI 大模型私有部署,用于 LangChain 开发实验实操。
基础环境
环境配置与安装
1. python 3.8 及以上版本,官网安装即可
地址:https://www.python.org/
2. pytorch 1.12 及以上版本,推荐 2.0 及以上版本,官网安装即可
地址:https://pytorch.org/get-started/locally/
3. 建议使用 CUDA 11.4 及以上,根据显卡匹配英伟达推荐驱动进行安装
地址:https://developer.nvidia.com/cuda-11-4-0-download-archive
4. 建议使用 linux 环境安装,本文示例基于 linux 环境演示
5. 假定以下动作执行的当前目录为/aidev
模型下载
要在 LangChain 开发环境中部署 AI 大模型,首先需要下载模型文件和配置文件。Baichuan2-13B-Chat-4bits 模型已经上传到了 huggingface 这个知名的 AI 模型库中,我们可以通过以下步骤来下载它。
从 huggingface 上下载模型及配置文件
- 模型下载链接如下
https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits
-
在模型页面中,点击右上角的
Download按钮,选择Download files选项。 -
Linux 系统可以直接通过以下脚本下载
apt-get -y install -qq aria2
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits/raw/main/config.json -d /content/baichuan-inc/Baichuan2-13B-Chat-4bits -o config.json
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits/raw/main/configuration_baichuan.py -d /content/baichuan-inc/Baichuan2-13B-Chat-4bits -o configuration_baichuan.py
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits/raw/main/generation_config.json -d /content/baichuan-inc/Baichuan2-13B-Chat-4bits -o generation_config.json
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits/raw/main/generation_utils.py -d /content/baichuan-inc/Baichuan2-13B-Chat-4bits -o generation_utils.py
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits/raw/main/handler.py -d /content/baichuan-inc/Baichuan2-13B-Chat-4bits -o handler.py
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits/raw/main/modeling_baichuan.py -d /content/baichuan-inc/Baichuan2-13B-Chat-4bits -o modeling_baichuan.py
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits/resolve/main/pytorch_model.bin -d /content/baichuan-inc/Baichuan2-13B-Chat-4bits -o pytorch_model.bin
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits/raw/main/quantizer.py -d /content/baichuan-inc/Baichuan2-13B-Chat-4bits -o quantizer.py
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits/raw/main/requirements.txt -d /content/baichuan-inc/Baichuan2-13B-Chat-4bits -o requirements.txt
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits/raw/main/special_tokens_map.json -d /content/baichuan-inc/Baichuan2-13B-Chat-4bits -o special_tokens_map.json
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits/raw/main/tokenization_baichuan.py -d /content/baichuan-inc/Baichuan2-13B-Chat-4bits -o tokenization_baichuan.py
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits/resolve/main/tokenizer.model -d /content/baichuan-inc/Baichuan2-13B-Chat-4bits -o tokenizer.model
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat-4bits/raw/main/tokenizer_config.json -d /content/baichuan-inc/Baichuan2-13B-Chat-4bits -o tokenizer_config.json


