
如何按 MODEL_SPEC 构建本地模型目录并用 --model 参数加载到 Tabby【免费下载链接】tabbySelf-hosted AI coding assistant项目地址: https://gitcode.com/GitHub_Trending/tab/tabby你手里有一个 GGUF 格式的大模型文件想让它跑在自己的 TabbySelf-hosted AI coding assistant里提供代码补全而不是用官方内置模型注册表里的模型名。FAQ 中明确说明按照 MODEL_SPEC.md 创建一个包含指定文件的目录然后把目录路径传给--model或--chat-model启动参数即可。这篇文章给出从建目录到验证服务可用的完整路径。模型目录需要包含什么MODEL_SPEC.md 规定一个最小的 Tabby 模型目录至少包含两部分tabby.json ggml/model-00001-of-00001.ggufggml/ 目录放置 GGUF 模型文件ggml/目录存放 llama.cpp 推理引擎使用的二进制文件。Tabby 在cpu、cuda和metal设备上利用 GGML 进行推理。模型文件名遵循 llama.cpp 的命名约定model-{index}-of-{count}.ggufindex 从 1 开始单文件模型默认命名为model-00001-of-00001.gguf分片模型按model-00001-of-000NN.gguf、model-00002-of-000NN.gguf依次编号。如果你的 GGUF 文件不叫这个名字把它重命名或按分片规则重命名放进ggml/目录。tabby.json模型元信息tabby.json提供模型的元信息其中两个字段都是可选的optional{ prompt_template: PRE{prefix}SUF{suffix}MID }prompt_template存在该字段时Tabby 假设模型支持 FIMfill-in-the-middle推理。模板中的{prefix}和{suffix}会被替换为对应的实际值整个 prompt 再送入模型。上面的PRE{prefix}SUF{suffix}MID是 MODEL_SPEC.md 给出的官方示例格式。chat_template存在该字段时Tabby 假设模型支持 instruct/chat 风格交互该模板可以配合--chat-model使用。MODEL_SPEC.md 中给出了一个基于s、[INST]标记的 Jinja 模板示例可参考该文件获取完整写法。对于本文的目标——用--model加载一个补全模型——最少只要把 GGUF 文件按规则放进ggml/并准备好tabby.json哪怕只含prompt_template一行。用 --model 加载本地目录models 文档 中明确区分了两类启动参数--model加载Completion models代码补全模型--chat-model加载Chat models对话模型建议至少 1B 参数以保证响应质量。FAQ 的回答是按 MODEL_SPEC 建好目录后You can then pass the directory path to--modelor--chat-modelto start Tabby。也就是说参数的值不是模型注册表里的名字如StarCoder-1B而是你本地目录的路径。前提条件以 Linux 独立可执行文件方式运行为例其他平台同理把可执行文件名换成对应平台的即可已从 Tabby release 页面获取对应的发行包CPU 版或 CUDA/Vulkan 版解压后tabby可执行文件位于dist子目录中已赋予执行权限chmod x tabby llama-serverGPU 环境CUDA 版需要已安装 CUDA 11 及以上可用nvcc --version检查详细下载与安装步骤见 Linux 安装文档。启动命令在包含tabby可执行文件的目录下运行./your-model-dir请替换为你按上文建好的模型目录的实际路径# CPU 环境 ./tabby serve --model ./your-model-dir # GPU 环境DEVICE 为 cuda 或 vulkan ./tabby serve --model ./your-model-dir --device $DEVICE如果你还需要对话能力把 chat 模型目录传给--chat-model即可与--model同时使用--chat-model的参数值同样是本地目录路径前提是模型目录中包含chat_template./tabby serve --model ./your-model-dir --chat-model ./your-chat-model-dirDocker 方式同理把--model后的值换成挂载进容器的本地模型目录路径例如 README 中演示的serve --model StarCoder-1B --device cuda --chat-model Qwen2-1.5B-Instruct其中StarCoder-1B属于内置注册表模型名换成你的目录路径即为加载本地模型。验证模型加载成功Linux 安装文档 给出的成功判断标准服务启动后会输出一条成功信息文档中配了成功截图实际以你终端输出的消息为准不要把截图内容当成逐字匹配的目标之后访问http://localhost:8080可以打开你的 Tabby 实例。如果启动时怀疑模型目录没被正确识别文件名不对、tabby.json缺失等可以用 FAQ 中给出的方式打开调试日志观察服务端的报错RUST_LOGdebug ./tabby serve --model ./your-model-dirDocker 下则通过-e RUST_LOGdebug传入该环境变量。限制与注意--model对应补全模型、--chat-model对应对话模型两者不要混用见 models 文档 的两张模型表。tabby.json的prompt_template与chat_template均为可选字段但存在时分别触发 FIM 与 chat 行为的假设按你的模型实际能力填写。GGUF 文件命名必须从 1 开始编号model-00001-of-00001.gguf0 起始的命名不符合约定。资源参考FAQ 提到 Tabby 在 CUDA 上默认以 int8 模式运行CodeLlama-7B 大约需要 8GB 显存文档示例大模型加载前可先对照自己的设备显存。不同 GPU 的精度支持有要求int8 需要 Compute Capability 7.0 或 6.1float16 需要 7.0bfloat16 需要 8.0同样来自 FAQ选型时注意与你的卡对应。【免费下载链接】tabbySelf-hosted AI coding assistant项目地址: https://gitcode.com/GitHub_Trending/tab/tabby创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考