幽狐阁 - 编程
type: channel
link: https://youhuge.site/category/programming
items: 最近关于大模型的探索历程
items: 做了个统计代码的小工具

最近关于大模型的探索历程
type: item
date: 2025-08-24T02:53:19+08:00
description: 假期就快到头了，24号开学，大部分时间都在研究大模型相关的东西：LoRA微调。持续预训练。模型量化。模型本地部署。在VLLM里部署模型。Function Calling用Trae写了个LLM-CLI工具（Python）。发现这些东西都好有意思捏，特别是微调大模型。自己做数据（使用我用AI写的数据集转化工具），租GPU服务器训练（使用LLaMA-Factory框架的webui进行训练），然后格式转换（HF->GGUF | llama.cpp）、模型量化（llama.cpp）、下载到本地塞进LM Studio里运行。之后就是探索VLLM部署（本地WSL2 Ubuntu24系统）模型了，按照网上的教程走，我发现网上的教程有不对。首先是时间太久了，我用的RTX50系显卡，现在的VLLM已经支持12.8的CUDA了，但是网上的教程却没有跟进。教程里标注着需要编译VLLM来支持12.8的CUDA，但是现在只需要执行简单的pip install vllm就行了。研究完VLLM之后就是Function Calling了，核心就是让大模型能够调用工具，我使用的基座模型是Qwen3系列的，要VLLM支持Function Calling的话就要在启动命令中加入--enable-auto-tool-choice和--tool-call-parser hermes，前者是支持模型输出tool_call的内容，后者是指定解析模板，我查阅了Qwen3的官方文档，找到了支持的模板信息，就是命令中的hermes。加入这两行命令之后VLLM就能接收客户端的tools列表的信息了。在研究VLLM时CLI工具就已经开始写了。编程工具是Trae（一个AI编辑器），环境是UV的虚拟Python环境。UV还支持构建Python包，我的CLI工具已经能够支持在命令行中直接调用了。我的CLI工具支持：模型对话。Function Calling权限管理。模型对话故名思意，Function Calling则是内置了两个工具（目前）：Time：查询时间。Web\_scraper：网页内容获取。模型调用时需要经过权限验证，可以在控制台批准调用。批准有两种方式（如果此工具未授权给模型）：单次批准：只准许这一次的调用，下次调用依旧需要手动确认。永久批准：将工具加入白名单中，往后模型调用时不需要手动的批准；支持取消永久批准，即移除白名单。除此之外我还写了一个私有的包管理器，可以用来安装/升级/卸载我的私有包，这些包托管在我的私有Onedev仓库中。管理器有权限验证，只有在Onedev里有账号并且有权限才能安装/升级我的包。我觉得AI编辑器真是太好用了，可以用来很轻松的实现我的想法，也能让我在使用和探索时学到很多和编程相关的知识。现在我正在进行一个Next.js网站的开发，模仿的是OpenwebUI和ChatGPT。

做了个统计代码的小工具
type: item
date: 2025-01-24T15:08:00+08:00
description: 介绍工具是使用Python开发的，运行时会检查依赖，所以不需要提前安装依赖（需要你已经安装Python了）。这个工具是在控制台里操作，并没有做GUI。以下是工具功能：统计代码行数统计代码文件数统计一共有多少个词（不是很准确的）生成对比导出历史记录为PNG生成对比图为PNG历史记录查看Git记录（每次扫描）具体命令可以运行后查看，工具使用了rich库来美化输出，所以不会很难看代码下载代码文件注：之前是直接展示，现已改为文件下载链接。