
whisperfile 怎么构建并嵌入模型权重做成单文件可执行【免费下载链接】llamafileDistribute and run LLMs with a single file.项目地址: https://gitcode.com/GitHub_Trending/ll/llamafile如果你的目标是把语音转文字工具 whisperfile 连同 Whisper 模型权重打包成一个可以直接分发的文件而不是每次运行都携带一个几百 MB 到几 GB 的独立权重文件那么 llamafile 仓库提供的打包流程可以完成这件事先编译出whisperfile可执行文件和zipalign嵌入工具把模型权重整合进二进制内最后再烧入一份默认参数文件。完成后你只需要向接收方发一个文件对方运行./whisper-tiny -f 音频.wav就能得到转写结果无需传-m指定模型也不需要额外下载权重。这套机制依赖 Cosmopolitan Libc 的 ZipOS 只读文件系统打包后的 whisperfile 可执行文件同时是一个合法的 ZIP 文件嵌入进去的模型权重会在运行时以/zip/...路径前缀暴露出来例如/zip/ggml-tiny.en-q5_1.bin。项目还约定用一个.args文件把默认参数烧进二进制省去每次手动传参。准备克隆仓库并初始化构建环境从源码构建的前提是把仓库克隆到本地并运行make setup。这一步会拉取 whisper.cpp、stable-diffusion.cpp、llama.cpp、transcribe.cpp 和 third_party/zipalign 等子模块、打上项目补丁并配置.cosmocc/4.0.2工具链是后续所有编译命令的前置条件git clone https://github.com/mozilla-ai/llamafile.git cd llamafile make setup仓库自带的 Makefile 中已把.cosmocc/4.0.2设为默认工具链路径见 build/config.mk所以后续文档里的构建命令都直接使用该路径。构建 zipalign 和 whisperfile 可执行文件先构建用于把文件嵌入可执行文件、且不破坏其 ZIP 结构的zipalign工具.cosmocc/4.0.2/bin/make -j8 o//third_party/zipalign再构建 whisperfile 本体并把产物复制一份起一个更具体的名字作为后续打包的基底.cosmocc/4.0.2/bin/make -j8 o//whisperfile # copy it with a more specific name cp o//whisperfile/whisperfile whisper-tiny也可以不编译直接从项目发布页拿一个预构建的whisperfile可执行文件作为基底流程后半段不变。下载要嵌入的模型权重以最小的 tiny q5_1 量化权重为例curl -LO https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en-q5_1.bintiny 模型适合先跑通流程它体积最小约 31 MB、速度最快。如果想要更高的转写精度文档中给出了 medium约 1.5 GB和 large-v3约 3.1 GB模型同样下载后走下面相同的嵌入步骤即可只是文件更大、转写更慢curl -LO https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium.en.bin curl -L -o models/whisper-large-v3.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.bin嵌入权重并验证用zipalign把权重文件嵌进whisper-tiny。-0标志会关闭 PKZIP DEFLATE 压缩因为对二进制权重文件压缩没有收益o//third_party/zipalign/zipalign -0 whisper-tiny ggml-tiny.en-q5_1.bin嵌入是否成功可以用unzip -vl whisper-tiny检查——由于产物本身是合法 ZIP 文件嵌入的权重会出现在 ZIP 条目列表中。接着做一次带模型路径的试跑确认嵌入的权重能被/zip/路径访问并正常转写。jfk.wav是仓库里自带的示例音频片段./whisper-tiny -m /zip/ggml-tiny.en-q5_1.bin -f whisper.cpp/samples/jfk.wav如果不想依赖 whisper.cpp 子模块里的示例音频仓库根目录下的 whisperfile/jfk.wav 是同一个 JFK 语音片段替换-f后面的路径即可。删除原始权重烧入 .args 默认参数确认嵌入可用后本地那份原始权重文件就可以删掉了副作用说明此命令删除的是刚下载、已嵌入二进制的本地副本仓库其他内容不受影响rm -f ggml-tiny.en-q5_1.bin为了避免每次运行都传-m /zip/ggml-tiny.en-q5_1.bin创建一个.args文件写入默认参数。每行一个参数不需要 shell 引号-m /zip/ggml-tiny.en-q5_1.bin ...末尾的...是特殊记号会在运行时被替换成用户额外传入的参数。然后把.args也嵌进二进制并删掉本地文件o//third_party/zipalign/zipalign whisper-tiny .args rm -f .args验证最终单文件可执行现在whisper-tiny是一个自包含的可执行文件只传音频文件即可运行./whisper-tiny -f whisper.cpp/samples/jfk.wav能输出 JFK 语音片段的转写文本即说明权重嵌入和默认参数烧入都成功。之后把这一个文件发给别人对方不需要任何额外文件即可完成语音转文字。输入音频方面whisperfile 偏好 16kHz、16-bit 的 .wav单声道或立体声MP3、FLAC、Ogg Vorbis 格式跨平台受支持不符合偏好的格式会由内置库自动转换。可选安装为系统命令或使用 GPU如果不做单文件打包只想在本机把 whisperfile 装成系统级命令可以构建全部目标后安装sudo会写入系统目录注意权限.cosmocc/4.0.2/bin/make -j8 sudo make install使用 medium 或 large 这类大模型时GPU 加速收益明显tiny 模型在 CPU 上已经很快提速有限运行时加--gpu auto让它自动检测可用的 GPU检测不到支持的 GPU 时会静默回退到 CPU也可以用--gpu apple、--gpu nvidia、--gpu amd指定具体后端NVIDIA 需安装 CUDA ToolkitAMD 需要 Linux 上的 ROCm。进一步的操作细节可参考仓库中的 docs/whisperfile/packaging.md、docs/whisperfile/getting-started.md 和 docs/whisperfile/gpu.md。【免费下载链接】llamafileDistribute and run LLMs with a single file.项目地址: https://gitcode.com/GitHub_Trending/ll/llamafile创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考