CodeFinetuner:在您自己的代码库上微调本地代码自动补全模型
摘要
CodeFinetuner 是一个完整的流程,用于使用 LoRA 在个人代码库上微调像 Qwen2.5-Coder-3B 这样的小型代码自动补全模型,支持通过 llama.vim 和 llama.vscode 等工具进行本地推理,并提供评估指标。
大家好,我对学习 LoRA 微调感兴趣,最终在过去的几个月里构建了 CodeFinetuner,这是一个完整的流程,用于微调特定于代码库的小型代码自动补全模型(例如 Qwen2.5-Coder-3B)。然后,您可以通过 llama.vim/llama.vscode 使用生成的 GGUF 模型,并完全本地运行。支持在 Mac(MPS)和 NVIDIA GPU(CUDA)上进行微调,可选 Unsloth 支持以实现更快的训练和更低的显存使用。流程:原始代码 -> tree-sitter 解析为结构感知的 FIM 示例 -> LoRA 微调 -> 评估(CodeBLEU、编辑相似度、精确匹配、困惑度等)-> GGUF 转换用于本地推理。要尝试它:uv tool install codefinetuner 创建一个 data 文件夹并将您的代码库(或代码文件)放入其中。对于自动分割,只需直接放入文件;对于手动分割,创建 data/train/、data/eval/、data/test/ 子文件夹并设置 split_mode: "manual"。获取默认配置:curl -L -O https://raw.githubusercontent.com/cuolm/codefinetuner/master/config/codefinetuner_config.yaml 根据您的需求和硬件可用性进行调整,然后运行:codefinetuner --config="codefinetuner_config.yaml" 仓库中的示例运行显示在这些评估指标上相比基础模型有明显改进,但使用模型对正在编写的代码进行自动补全与在测试集上得分良好是不同的,而且自动补全工具本身(llama.vim/llama.vscode)的采样方式与评估中使用的贪心解码不同。因此,真正的有用性仍需在编辑器本身中验证。作为一个完整的工作 LoRA 微调流程端到端,它可能仅作为参考也很有用。希望有人觉得这个项目有趣或有帮助。https://github.com/cuolm/codefinetuner
相似文章
在单个16GB GPU + 64GB RAM上的本地LLM自动补全与代理式编码
使用 llama.cpp 在单块 16GB GPU 及 64GB+ 内存上设置本地 LLM 自动完成(Qwen2.5-Coder-7B)与代理编码(Qwen3.6-35B-A3B)的技术指南,包含命令与性能基准。
本地VibeCoding非常有趣..
一位程序员分享了使用本地LLM进行编码(VibeCoding)的个人实用规则清单,强调实验、任务分解、安全测试以及理解模型能力。技术栈包括llama.cpp和Qwen模型。
@cjzafir:在 Claude Fable 5 被禁之前,我把我所有的微调研究和实验变成了一个产品:http://Finetuner…
开发者 @cjzafir 宣布推出 Finetuner.dev,一个 CLI 工具,利用 Codex 5.5 等编排模型以及中国模型生成高质量、手工精制的数据集,用于微调小语言模型(1B-30B),声称成本降低 10 倍,质量提升 5 倍。
是否有人优先考虑通过小型本地模型进行代码质量检查?
本文讨论了使用小型本地语言模型持续检查代码质量并强制执行编码标准的想法,旨在保持代码库的清洁和安全,而无需依赖云LLM。
我做了我的第一次微调!
RustEAI 是一个为 Apple Silicon Mac 设计的本地 AI 驱动的 Rust 编码器,基于 Qwen2.5-Coder-0.5B 的 LoRA 微调,提供无需云依赖的一次性代码生成。