v1.0 · 13.7M 参数 · 从随机初始化训练,未使用任何预训练权重
一个自己动手训练出来的
小型中文语言模型
Rian-Minichat-X1 是一套完全自研的说小语言模型技术栈:自训练 BPE 分词器、 自行实现的 RMSNorm / RoPE / SwiGLU 架构、预训练 + 监督微调两阶段流程。 它不做通用大模型做不到的事,但把「从零到能对话」的每一层都摊开给你看。
先说清楚能力边界。
这是一个 13.7M 参数、训练量约 1.6 亿 token 的微型模型。它擅长:按固定话术回答常见问题
(你是谁 / 能做什么 / 工作时间)、复述与改写短句、简单的中英对照。
它不擅长:复杂推理、代码生成、数学计算、以及任何需要事实准确性的场景。
涉及重要决策时请勿依赖它的输出。
它能做什么
按「一个内部小助手」的定位来训练,不追求通用性。
💬
固定话术问答
身份介绍、能力范围、使用方式等常见问题,回答风格稳定,不会跑题。
✍️
短句改写与复述
把一句话换个说法、改得更正式或更口语,长度控制在几句话以内。
🌐
简单中英对照
为短句给出基础英文表达,词汇量受词表限制,只做辅助参考。
🧩
多轮上下文
支持携带历史对话,上下文上限 512 token,超出后自动丢弃最老的轮次。
⚡
CPU 即可服务
55MB 的模型文件,一台普通云服务器就能跑起来,不需要 GPU。
🔌
OpenAI 兼容
接口与 OpenAI Chat Completions 一致,改一下 base_url 就能接入现有代码。
技术规格
全部超参都在 config.yaml 里,没有写死在代码中。
| 项目 | 取值 |
|---|---|
| 架构 | decoder-only Transformer(Pre-Norm) |
| 归一化 / 位置编码 / 前馈 | RMSNorm / RoPE / SwiGLU |
| 层数 · 头数 · 隐藏维度 | 6 · 6 · 384 |
| 参数量 | 13,693,824(约 13.7M,词嵌入与输出层共享) |
| 词表 | 8,000(ByteLevel BPE,自训练,永不产生 <unk>) |
| 上下文长度 | 预训练 256 / 微调 512 token |
| 训练方式 | 预训练(下一词预测)+ SFT(只对助手回复计 loss) |
| 模型体积 | 约 55 MB(fp32 权重 + 内嵌分词器) |
三行代码接入
直接复用 OpenAI 官方 SDK,只需要换 base_url 和 key。
python
from openai import OpenAI
client = OpenAI(
base_url="https://api.example.com/v1",
api_key="sk-rian-你的密钥",
)
resp = client.chat.completions.create(
model="rian-minichat-x1",
messages=[{"role": "user", "content": "你是谁?"}],
temperature=0.7,
)
print(resp.choices[0].message.content)
还没有密钥?点这里申请,填写名字即可立即拿到,
每人默认每天 2000 次调用 / 20 万 token。