Lifeline / 镜世界-禁区-78
分类
标签
AI AiNiee Clash Cloudflare ComicRead Cursor Docker FlClash Fuwari GalTransl Hexo Kaggle KeePass MangaImageTranslator mihomo Netlify Ngrok Obsidian Ocr PS4 Redis Ryujinx SakuraLLM ShadPS4 subconverter Surgio Switch Tachiyomi Telegram Visa Wsl Yuzu 信用卡 内网穿透 分流 博客 图源 密码 推荐 机场 模型 模拟器 漫画 笔记 网站 翻译 脚本 规则 资料 转换工具 软件
742 字
4 分钟
Kaggle 部署 Sakura 模型
前言
技术要点:Kaggle+SakuraLLM+Ngrok
项目地址
1.登录并注册Kaggle
官网 (绑定手机号 2024.6.26可以绑定)
如果绑定不上 (大概率是人机验证的问题)
2.登录并注册Ngrok
Ngrok官网 获取到token
顺便创建个免费域名
3.在Kaggle部署sakuraLLM
先创建一个note
将GPU服务器选项打开,验证手机号
然后复制代码到你的note中↓↓↓
# 改了下tgw-ngrok-api的代码,搞了可以自动下载并选择模型,api那边还使用了ngrok的静态域名(Domains)。
# ngrok得token,需要填写
TOKEN = " <<<<这里填写你的ngroktoken>>>> "
# ngrok的静态域名(Domains)。在ngrok上面可以免费开一个静态域名
DOMAIN = " <<<<这里填写ngroktoken静态域名>>>> "
# 模型名称 一开始会自动下载这个模型,基本上就是huggingface上的项目全名
MODEL = "SakuraLLM/Sakura-14B-Qwen2beta-v0.9.2-GGUF"
# 模型里面的某个文件具体名称,有的话,就只会下载这个模型文件
# SPECIFIC_FILE = "sakura-13b-lnovel-v0.9b-Q8_0.gguf"
SPECIFIC_FILE = "sakura-14b-qwen2beta-v0.9.2-q4km.gguf"
# 启动时默认使用的模型名称 一般时指model名称,或者specific_file名称。
DEFAULT_MODEL = "sakura-14b-qwen2beta-v0.9.2-q4km.gguf"
# 运行tgw的参数,可以自己改动
RUN_CONTENT = "--api --trust-remote-code --model " + DEFAULT_MODEL + " --n-gpu-layers 256 --tensorcores"
%mkdir /kaggle/working
%cd /kaggle/working
!git clone https://github.com/oobabooga/text-generation-webui.git
%cd text-generation-webui
!git checkout e98d1086f53dc9c9baa4d17f08b9660244b67d0f
%cd ..
!conda create -n textgen python=3.11 -y
import os
import shutil
!source /opt/conda/bin/activate textgen && pip install requests
!source /opt/conda/bin/activate textgen && pip install tqdm
!source /opt/conda/bin/activate textgen && python /kaggle/working/text-generation-webui/download-model.py $MODEL --specific-file $SPECIFIC_FILE
def move_files(source_dir, destination_dir):
for root, dirs, files in os.walk(source_dir):
for file in files:
source_path = os.path.join(root, file)
destination_path = os.path.join(destination_dir, os.path.relpath(source_path, source_dir))
shutil.move(source_path, destination_path)
move_files("/kaggle/working/models", "/kaggle/working/text-generation-webui/models")
%ls /kaggle/working/text-generation-webui/models/
# 输出模型文件夹内容 假如默认加载模型失败,看看是不是这里输出的内容和默认模型名称是否不同
print("输出模型文件夹内容")
for filename in os.listdir('/kaggle/working/text-generation-webui/models'):
print(filename)
!source /opt/conda/bin/activate textgen && pip3 install torch==2.1.* torchvision==0.16.* torchaudio==2.1.* --index-url https://download.pytorch.org/whl/cu121
!source /opt/conda/bin/activate textgen && conda install -y -c "nvidia/label/cuda-12.1.1" cuda-runtime
%cd /kaggle/working/
%cd text-generation-webui
!source /opt/conda/bin/activate textgen && pip install -r requirements.txt
!source /opt/conda/bin/activate textgen && pip install -r extensions/openai/requirements.txt
!source /opt/conda/bin/activate textgen && pip install -r extensions/coqui_tts/requirements.txt
!source /opt/conda/bin/activate textgen && pip install -r extensions/whisper_stt/requirements.txt
import os
os.chdir("/kaggle/working/text-generation-webui/")
print("**********RUN_CONTENT:" + RUN_CONTENT)
with open("CMD_FLAGS.txt", "w") as file:
file.write(RUN_CONTENT)
print("文件修改完成。")
port1 = 7860
port2 = 5000
HOME_FOLDER = "/kaggle/working/"
!pip install pyngrok==6.1.0
from pyngrok import ngrok, conf
import gc
gc.collect()
try:
ngrok.set_auth_token(TOKEN)
ngrok.kill()
public_url1 = ngrok.connect(port1).public_url
# domain 是ngrok送的固定域名 给api用了
public_url2 = ngrok.connect(port2, domain=DOMAIN).public_url
print(f"**********************后台访问网址: {public_url1}")
print(f"**********************API访问网址: {public_url2}")
# Replace this line with the command to start the text-generation-webui
!source /opt/conda/bin/activate textgen && python server.py $RUN_CONTENT
print(f"**********************后台访问网址: {public_url1}")
print(f"**********************API访问网址: {public_url2}")
except Exception as e:
print(f"Error starting ngrok tunnel: {e}")
然后选择显卡和打开网络
然后点击启动
然后是10分钟左右的漫长等待…
部署成功!!!
4.测试sakuraLLM模型
测试网站
点击”添加Sakura翻译器”,链接输入之前提到的翻译器链接,然后点击添加。
添加完成后,点击测试。如果一切顺利,将弹窗显示测试样例的翻译结果。
Kaggle 部署 Sakura 模型
https://fuwari.vercel.app/posts/部署教程/sakurallm/kaggle-部署-sakura-模型/