Windows一键安装Text generation webui部署Code Llama大语言模型

前言

本篇文章介绍如何在本地部署Text generation Web UI并搭建Code Llama大模型运行,并且搭建Code Llama大语言模型,结合Cpolar内网穿透实现公网可远程使用Code Llama。

Code Llama是一个可以使用文本提示生成代码的大型语言模型 (LLM)。可以使当前开发人员的工作流程更快、更高效,并降低学习编码人员的进入门槛。 Code Llama 有潜力用作生产力和教育工具,帮助程序员编写更强大、文档更齐全。

Text generation Web UI部署非常简便,不仅在github主页上直接提供了一键部署安装包,同时由于是web UI形式,直接通过浏览器即可操作,不过本地化部署,无法远程访问,这里我们结合cpolar工具实现从安装到最后实现远程访问。

那么接下来先在本地部署一个Text generation Web UI界面。

请添加图片描述

1. 本地部署Text generation Web UI

本篇文章测试环境:Windows10专业版

首先我们需要在本地部署Text generation Web UI,是一个基于Gradio的LLM Web UI开源项目,可以利用其快速搭建部署各种大模型环境。

github地址:https://github.com/facebookresearch/codellama

点击download,一键下载文件到本地

15c36f878d9fc541d8f2a74c822f71f.png

解压文件夹,然后打开文件,双击运行start_windows进行自动下载

image.png

4b1ebf5eadc046af0fcc3dda1d1e91c.png

1c7fa499d29d94af7e202184634ff69.png

安装过程中会有一次确认,根据自己的显卡和系统选择就可以了,这里我选择A(英伟达显卡)

f6ebdd0b4fc4750aab5f5ff01a99cee.png

安装完成后,可以看到本地地址是:http://127.0.0.1:7680,Ctrl+c终止它。

2. 安装CodeLlama大模型

接下来要下载CodeLlama模型,在Hugging face上直接下载转换好的模型

Hugging face格式模型 https://huggingface.co/codellama

选择Base Model

1d9884ebc63ab334ea567f987d44c03.png

然后依次下载下方红框中的文件

在这里插入图片描述

c0d493d7f8c4bdd4aaa1dc69cbe0f64.png

下载好后,然后选中这九个文件剪切,回到 text-generation-webui 目录中,进入 models 目录中,新建要给文件夹,名为 codellama-7b

5ef8e07ef3e8cd67d684fb9c4f06235.png

把刚才9个文件,都粘贴到这个新文件夹中

500b90b3827a9eb26e22699dae6fc89.png

然后回到text-generation-webui 目录中,双击打开 start_windows

72810330989c686b50035e8147f55fc.png

然后打开一个浏览器,输入localhost:7680,可以看到进入到了Text generation Web UI中

514e0b39a94c435f3d6da819829fa72.png

点击上方model切换到模型配置页面,在模型下拉列表这里选择 codellama-7b

3e39c2884398d5b3645093be2b16263.png

然后点击Load加载模型,接下来可以测试提出问题

在这里插入图片描述

然后把右侧上方的代码使用vscode测试一下,是否能得出结果

28fd64bca6241db98a220c4e1377532.png

可以看到,显示出了正确结果,目前我们在本机部署了 Text generation Web UI,并且还添加了code llama大模型,如果想团队协作多人使用,或者在异地其他设备使用的话就需要结合Cpolar内网穿透实现公网访问,免去了复杂得本地部署过程,只需要一个公网地址直接就可以进入到Text generation Web UI中。

接下来教大家如何安装Cpolar并且将 Text generation Web UI实现公网访问。

3. 实现公网远程使用Code Llama

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

点击进入cpolar官网,点击免费使用注册一个账号,并下载最新版本的Cpolar

在这里插入图片描述

登录成功后,点击下载Cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

Cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到Cpolar web 配置界面,结下来在web 管理界面配置即可。

在这里插入图片描述

接下来配置一下 text-generation-webui 的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,

首先创建一个 LobeChat 的公网http地址隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复

  • 协议:选择http

  • 本地地址:7860 (本地访问的地址)

  • 域名类型:免费随机域名

  • 地区:选择China Top

点击创建

a4f507a45aa700bb7cae83d74387d54.png

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网地址,有两种访问方式,一种是http 和https

baedada5cedd7ddcf35b51a222fe656.png

我们接下来使用http公网地址访问,可以看到我们访问到了 Text generation Web UI 界面,这样一个公网地址访问就创建好了。

在这里插入图片描述

小结

如果我们需要长期进行团队协作的话,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道来访问Text generation Web UI,我们可以选择创建一个固定的http地址来解决这个问题。

4. 固定Text generation Web UI公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择china vip top,然后设置一个二级子域名名称,填写备注信息,点击保留。

32cb74ca916c4cef376991e7af47215.png

保留成功后复制保留的二级子域名地址:

c777135bed1169843e25cb2415a432f.png
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

798347f47f02fee855343434d72148c.png

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名

  • Sub Domain:填写保留成功的二级子域名

  • 地区: China VIP

点击更新

在这里插入图片描述

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

f6cbf1d131005884e6efe3bd4f03cad.png

最后,我们使用固定的公网地址访问Text generation Web UI界面可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

9637c19466bbfa0379b2d71d6accadb.png

接下来就可以随时随地进行异地公网来使用Code Llama大模型了,把固定的公网地址分享给身边的人,方便团队协作,同时也大大提高了工作效率!自己用的话,无需云服务器,还可以实现异地其他设备登录!以上就是如何在本地安装Code Llama以及在本地部署 Text generation Web UI 可视化界面的全部过程。

<think>嗯,用户问的是如何部署本地的免费AI大模型。首先,我需要确定用户的需求到底是什么。可能他们想在自己的电脑或者服务器上运行一个大模型,比如类似ChatGPT那样的,但不想花钱,也不需要联网。这时候,我需要考虑不同的模型选择,比如LLaMA、Alpaca、Vicuna这些,这些模型都是开源的,可以免费使用。 接下来,用户可能对技术细节不太熟悉,所以步骤需要尽量简明易懂。首先应该介绍模型的选择,然后说明需要安装哪些工具,比如Python、PyTorch、Transformers库之类的。可能还需要提到硬件要求,毕竟大模型需要显存,尤其是GPU加速,如果用户只有CPU,可能需要推荐一些适合CPU运行的模型,或者量化版本。 然后,下载模型的部分,用户可能需要指导如何从Hugging Face Hub或者其他镜像站获取模型,特别是考虑到有些模型可能需要申请,比如LLaMA,所以需要提醒用户注意权限问题。另外,如果下载速度慢,推荐国内镜像可能会有帮助。 接着,推理部分的代码示例是必须的,但用户可能不太懂编程,所以需要代码尽量简单,并且解释每一步的作用。比如加载模型和tokenizer,处理输入,生成输出。同时,要提醒调整参数,比如max_length和temperature,这些影响生成结果的效果。 另外,部署为API可能是一个进阶需求,用户可能希望像OpenAI那样通过HTTP请求调用模型,所以介绍FastAPI和Uvicorn的使用方法,给出示例代码,并说明如何测试API。 工具推荐也很重要,比如Ollama、LM Studio这些图形化工具,对非技术用户更友好,可以简化部署过程。需要简要说明每个工具的特点,让用户根据自己的情况选择。 注意事项方面,硬件要求、模型精度(量化)、安全性和应用场景都需要涵盖。特别是安全性,本地部署虽然安全,但如果开放到公网可能会有风险,需要提醒用户。应用场景的例子能帮助用户理解适合的使用情况。 最后,总结一下步骤,确保用户有一个清晰的流程概念。可能用户是开发者,也可能是普通用户,所以需要兼顾不同层次的需求,提供多种方法,既有命令行和代码的方式,也有图形化工具的选择。 还要考虑用户可能的疑问,比如是否需要NVIDIA显卡,模型下载遇到问题怎么办,如何优化推理速度等等。虽然用户没有直接问,但在回答中适当提及这些点会更有帮助。总之,整个思考过程需要围绕如何让用户顺利地在本地部署免费AI大模型,提供详细的步骤和贴心的建议。</think>部署本地免费的 AI 大模型(如开源模型)通常需要以下步骤。这里以常见的 **LLM(Large Language Model)** 为例,例如 Meta 的 LLaMA、Alpaca、Vicuna 或国内的 ChatGLM-6B 等模型: --- ### **1. 选择适合的模型** - **推荐模型**: - **LLaMA** / **Alpaca**:Meta 开源的基础模型,需自行微调。 - **Vicuna**:基于 LLaMA 微调的对话模型,效果接近 ChatGPT。 - **ChatGLM-6B**:清华开源的 62 亿参数中英双语模型,支持 CPU 推理。 - **Falcon** / **BLOOM**:其他开源大模型。 - **Mistral-7B**:性能优异的小规模模型。 - **模型来源**:Hugging Face Hub(需注册)、GitHub 仓库或国内镜像站。 --- ### **2. 准备环境** #### **硬件要求** - **显存**:至少 8GB(如 7B 模型需 8-10GB,13B 模型需 16GB 以上)。 - **CPU**:若无 GPU,需选择支持 CPU 推理的模型(如 ChatGLM-6B 的量化版本),但速度较慢。 #### **软件依赖** - **Python**:安装 3.8 以上版本。 - **深度学习框架**:PyTorch、TensorFlow(推荐 PyTorch)。 - **依赖库**:`transformers`, `accelerate`, `sentencepiece` 等。 ```bash pip install torch transformers accelerate ``` --- ### **3. 下载模型** #### **方式一:Hugging Face Hub** - 通过 `git clone` 或 `snapshot_download` 下载: ```python from huggingface_hub import snapshot_download snapshot_download(repo_id="meta-llama/Llama-2-7b-chat-hf") ``` > **注意**:部分模型(如 LLaMA)需申请权限,需填写 Hugging Face 表格。 #### **方式二:国内镜像** -下载速度慢,可使用国内镜像站(如阿里云、魔搭社区)或网盘资源。 --- ### **4. 运行推理** #### **示例代码(以 ChatGLM-6B 为例)** ```python from transformers import AutoTokenizer, AutoModel # 加载模型和分词器 model_path = "THUDM/chatglm-6b-int4" # 量化版本(显存需求更低) tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True) model = AutoModel.from_pretrained(model_path, trust_remote_code=True).half().cuda() # 输入提示词 prompt = "你好,介绍一下你自己。" response, history = model.chat(tokenizer, prompt, history=[]) print(response) ``` #### **调整参数** - `max_length`:生成文本的最大长度。 - `temperature`:控制生成结果的随机性(值越小输出越确定)。 --- ### **5. 部署为本地 API** 若需通过 HTTP 调用模型,可使用 `FastAPI` 或 `Flask`: ```python from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Request(BaseModel): prompt: str @app.post("/generate") def generate_text(request: Request): response, _ = model.chat(tokenizer, request.prompt) return {"response": response} # 启动服务 if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000) ``` 运行后通过 `http://localhost:8000/generate` 发送 POST 请求即可调用。 --- ### **6. 进阶工具推荐** - **Ollama**:一键部署本地大模型(支持 LLaMA、Mistral 等)。 - **LM Studio**:图形化工具,无需代码直接运行本地模型。 - **Text Generation WebUI**:类似 ChatGPT 的网页界面,支持多模型加载。 --- ### **注意事项** 1. **硬件限制**:大模型对显存要求高,可尝试量化版本(如 4-bit 或 8-bit 量化)。 2. **模型精度**:量化模型会损失部分效果,但显著降低资源占用。 3. **安全性**:本地部署不依赖网络,但需注意模型本身的安全性。 4. **应用场景**:适合私有数据问答、内部知识库等对隐私要求高的场景。 --- 通过以上步骤,你可以基于开源模型在本地搭建一个免费的 AI 大模型服务。如果需要更详细的操作指南,可以提供具体模型名称进一步解答!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值