duan-translator小模型是专门为了段言这门中文编程语言而微调训练的可以帮助我们写段言的程序确切来说是可以把python代码转为段言代码启动ollama并绑定到0.0.0.0export OLLAMA_HOST0.0.0.0:11434 ollama serve启动模型skywalkfb98:~ $ ollama run duan-translator hello Hello! How can I assist you today? Send a message (/? for help)成功了skywalkfb98:~ $ ollama run duan-translator 将Python代码转为段言代码\n\nPython 代码\ndef hello(): print(hi)段落 hello:打印(hi) Send a message (/? for help)Dumate测试结果全部测试通过Q80 量化完美保留了微调知识推理速度 28 tok/s全部翻译正确。来看一下结果对比Python 代码段言翻译正确def add(a, b): return a b段落 加法 接收 a, b/返回 a 加 b✓递归阶乘段落 超乘 接收 n/如果 n 小于等于 1/返回 n 乘 超乘(n 减 1)✓for i in range(10): print(i)遍历 i 于 0至9/打印(i)✓条件分支设 x 为 10/如果 x 大于 5/否则✓关键结论Q8_0 量化531MB是 0.5B 小模型的最佳选择——精度足够保留 LoRA 微调知识且能在 Quadro K42004GB VRAM上流畅运行之前 Q4KM398MB量化太狠把微调学到的段言语法知识全丢了推理速度~28 tok/s首次加载稍慢35s后续 1-3 秒/次模型已部署在http://192.168.0.88:11434模型名duan-translator现在可以通过 ollama API 随时调用了。比如import requests resp requests.post(http://192.168.0.88:11434/api/chat, json{ model: duan-translator, messages: \[ {role: system, content: SYSTEM_PROMPT}, {role: user, content: 将Python代码转为段言代码\n\nPython 代码\ndef hello(): print(hi)} ], stream: False }) print(resp.json()[message]\[content])大段测试结果很清晰了。以下是 4 个复杂测试的分析Test 1 - 冒泡排序完美✓嵌套循环、swap 临时变量、函数调用、数组字面量全部正确range(n)→遍历 i 于 0至n减1range(0, n-i-1)→遍历 j 于 0至n减i减2都精确翻译Test 2 - 二分查找部分正确⚠️模型输出了两个版本第一版有错误后自行重试说明 0.5B 模型在长代码上会出现重复生成while left right→当 左大于等于右条件方向搞反了return -1→返回 减 1丢了变量名Test 3 - 类与继承失败✗训练数据中 OOP 样本不足模型开始幻觉重复定义、混用己/自己、继承语法混乱Test 4 - 字典列表推导部分正确⚠️列表推导\[s for s in students if ...]正确拆解为遍历 如果 追加但 f-string 翻译不正确出现了跳过(遍历...)等无意义输出总结0.5B 模型 881 条训练数据的能力边界——代码模式翻译效果函数定义、参数、返回值✅ 精准for/while 循环、嵌套循环✅ 良好条件分支 if/elif/else✅ 良好变量赋值、运算✅ 精准数组操作、swap✅ 良好异常处理 try/except⚠️ 部分f-string 格式化❌ 不支持类/继承/OOP❌ 训练数据不足列表推导式⚠️ 能拆解但有噪声如果要提升 OOP 和高级语法的翻译质量下一步可以扩充训练数据集补充类定义、继承、列表推导、f-string、异常处理等模式的 Python→段言 对照样本。需要我来做吗碰到的问题虚拟机卡的要命是因为原来双cpu 24内核64G内存分配给虚拟机24G内存和16内核现在是单cpu 12内核32G,把虚拟机改回10内核和 20G内存
用ollama启动duan-translator 小模型
duan-translator小模型是专门为了段言这门中文编程语言而微调训练的可以帮助我们写段言的程序确切来说是可以把python代码转为段言代码启动ollama并绑定到0.0.0.0export OLLAMA_HOST0.0.0.0:11434 ollama serve启动模型skywalkfb98:~ $ ollama run duan-translator hello Hello! How can I assist you today? Send a message (/? for help)成功了skywalkfb98:~ $ ollama run duan-translator 将Python代码转为段言代码\n\nPython 代码\ndef hello(): print(hi)段落 hello:打印(hi) Send a message (/? for help)Dumate测试结果全部测试通过Q80 量化完美保留了微调知识推理速度 28 tok/s全部翻译正确。来看一下结果对比Python 代码段言翻译正确def add(a, b): return a b段落 加法 接收 a, b/返回 a 加 b✓递归阶乘段落 超乘 接收 n/如果 n 小于等于 1/返回 n 乘 超乘(n 减 1)✓for i in range(10): print(i)遍历 i 于 0至9/打印(i)✓条件分支设 x 为 10/如果 x 大于 5/否则✓关键结论Q8_0 量化531MB是 0.5B 小模型的最佳选择——精度足够保留 LoRA 微调知识且能在 Quadro K42004GB VRAM上流畅运行之前 Q4KM398MB量化太狠把微调学到的段言语法知识全丢了推理速度~28 tok/s首次加载稍慢35s后续 1-3 秒/次模型已部署在http://192.168.0.88:11434模型名duan-translator现在可以通过 ollama API 随时调用了。比如import requests resp requests.post(http://192.168.0.88:11434/api/chat, json{ model: duan-translator, messages: \[ {role: system, content: SYSTEM_PROMPT}, {role: user, content: 将Python代码转为段言代码\n\nPython 代码\ndef hello(): print(hi)} ], stream: False }) print(resp.json()[message]\[content])大段测试结果很清晰了。以下是 4 个复杂测试的分析Test 1 - 冒泡排序完美✓嵌套循环、swap 临时变量、函数调用、数组字面量全部正确range(n)→遍历 i 于 0至n减1range(0, n-i-1)→遍历 j 于 0至n减i减2都精确翻译Test 2 - 二分查找部分正确⚠️模型输出了两个版本第一版有错误后自行重试说明 0.5B 模型在长代码上会出现重复生成while left right→当 左大于等于右条件方向搞反了return -1→返回 减 1丢了变量名Test 3 - 类与继承失败✗训练数据中 OOP 样本不足模型开始幻觉重复定义、混用己/自己、继承语法混乱Test 4 - 字典列表推导部分正确⚠️列表推导\[s for s in students if ...]正确拆解为遍历 如果 追加但 f-string 翻译不正确出现了跳过(遍历...)等无意义输出总结0.5B 模型 881 条训练数据的能力边界——代码模式翻译效果函数定义、参数、返回值✅ 精准for/while 循环、嵌套循环✅ 良好条件分支 if/elif/else✅ 良好变量赋值、运算✅ 精准数组操作、swap✅ 良好异常处理 try/except⚠️ 部分f-string 格式化❌ 不支持类/继承/OOP❌ 训练数据不足列表推导式⚠️ 能拆解但有噪声如果要提升 OOP 和高级语法的翻译质量下一步可以扩充训练数据集补充类定义、继承、列表推导、f-string、异常处理等模式的 Python→段言 对照样本。需要我来做吗碰到的问题虚拟机卡的要命是因为原来双cpu 24内核64G内存分配给虚拟机24G内存和16内核现在是单cpu 12内核32G,把虚拟机改回10内核和 20G内存