Cacinie commited on
Commit
2495e37
·
1 Parent(s): e7057ce

chore: switch default model to MiniCPM5-1B and update README for STEM user

Browse files
Files changed (2) hide show
  1. README.md +11 -11
  2. app.py +9 -7
README.md CHANGED
@@ -16,19 +16,19 @@ license: mit
16
 
17
  **参赛赛道**:Backyard AI @ Build Small Hackathon
18
  **提交三件套**:Space 链接 · Demo 视频 · 社交媒体 Post(见底部链接区)
19
- **总参数规模**:≤ 32B(默认 `Qwen/Qwen2.5-1.5B-Instruct`,1.5B)
20
 
21
  ---
22
 
23
  ## 🧑‍🎓 真实用户与真实痛点
24
 
25
- **目标用户**:本科生 / 研究生 / 高中理科生在写论文、作业、笔记时要把公式敲成 LaTeX。
26
 
27
  **真实痛点一句话**:
28
- > “我同学写物理实验报告时,明明草稿上已经写好了公式,却要花十几分钟去查 `amsmath` 宏包语法、调括号层级、修 KaTeX 报错。”
29
 
30
- **对方真的用过**(待补充):
31
- - 使用者:___(请填写真实用户姓名/身份,例如:大三物理专业同学)
32
  - 使用场景:把草稿里的公式描述复制进 TeXada,直接拿到可粘贴到 Overleaf / Markdown 的 LaTeX。
33
  - 反馈:
34
  1. “___”
@@ -44,10 +44,10 @@ LaTeX 生成是一个**结构化、语法严格**的任务,不需要大模型
44
 
45
  | 约束优势 | 说明 |
46
  |---|---|
47
- | **速度** | 1.5B 模型在 CPU Space 上 5–15s 可出结果,适合“边写边查”的交互。 |
48
  | **隐私** | 作业/论文草稿不上传给闭源大模型,全部在 Space 容器内推理。 |
49
- | **低成本** | 小模型可在免费 CPU Space 上稳定运行,零 API 调用费用。 |
50
- | **诚实匹配** | 任务边界清晰(NL → LaTeX + 校验 + 修复),小模型足够覆盖。 |
51
 
52
  ---
53
 
@@ -100,10 +100,10 @@ pip install -r requirements.txt
100
  python app.py
101
  ```
102
 
103
- 默认模型可在环境变量中替换为任意 ≤32B 的 Hugging Face 模型:
104
 
105
  ```bash
106
- MODEL_NAME="openbmb/MiniCPM5-1B" python app.py
107
  ```
108
 
109
  ---
@@ -112,7 +112,7 @@ MODEL_NAME="openbmb/MiniCPM5-1B" python app.py
112
 
113
  - **UI**: Gradio 4.x
114
  - **推理**: Hugging Face `transformers`
115
- - **默认模型**: `Qwen/Qwen2.5-1.5B-Instruct`(1.5B 参数)
116
  - **校验**: 括号/环境平衡、命令白名单
117
  - **修复**: 自动补全缺失的 `}` 和 `\end{...}`
118
 
 
16
 
17
  **参赛赛道**:Backyard AI @ Build Small Hackathon
18
  **提交三件套**:Space 链接 · Demo 视频 · 社交媒体 Post(见底部链接区)
19
+ **总参数规模**:≤ 32B(默认 `openbmb/MiniCPM5-1B`,约 1.08B)
20
 
21
  ---
22
 
23
  ## 🧑‍🎓 真实用户与真实痛点
24
 
25
+ **目标用户**:本科 STEM 同学(物理 / 数学 / 工程 / 计算机专业),在写实验报告、作业、论文、笔记时需要把公式转成 LaTeX。
26
 
27
  **真实痛点一句话**:
28
+ > “我室友写物理实验报告时,草稿上已经写好了公式,却要花十几分钟去查 `amsmath` 宏包语法、调括号层级、修 KaTeX 报错——明明只是把纸上的公式敲进电脑。”
29
 
30
+ **对方真的用过**(待补充真实姓名与截图):
31
+ - 使用者:___(例如:某大学大三物理专业同学)
32
  - 使用场景:把草稿里的公式描述复制进 TeXada,直接拿到可粘贴到 Overleaf / Markdown 的 LaTeX。
33
  - 反馈:
34
  1. “___”
 
44
 
45
  | 约束优势 | 说明 |
46
  |---|---|
47
+ | **速度** | MiniCPM5-1B 仅约 1.08B 参数,CPU Space 上 5–15s 可出结果,适合“边写边查”。 |
48
  | **隐私** | 作业/论文草稿不上传给闭源大模型,全部在 Space 容器内推理。 |
49
+ | **低成本** | 1B 级模型可在免费 CPU Space 上稳定运行,零 API 调用费用。 |
50
+ | **诚实匹配** | 任务边界清晰(NL → LaTeX + 校验 + 修复),1B 端侧模型足够覆盖。 |
51
 
52
  ---
53
 
 
100
  python app.py
101
  ```
102
 
103
+ 默认模型为 `openbmb/MiniCPM5-1B`,也可替换为任意 ≤32B 的 Hugging Face 模型:
104
 
105
  ```bash
106
+ MODEL_NAME="Qwen/Qwen2.5-1.5B-Instruct" python app.py
107
  ```
108
 
109
  ---
 
112
 
113
  - **UI**: Gradio 4.x
114
  - **推理**: Hugging Face `transformers`
115
+ - **默认模型**: `openbmb/MiniCPM5-1B`(约 1.08B 参数,≤ 32B)
116
  - **校验**: 括号/环境平衡、命令白名单
117
  - **修复**: 自动补全缺失的 `}` 和 `\end{...}`
118
 
app.py CHANGED
@@ -22,13 +22,15 @@ import torch
22
  from transformers import AutoModelForCausalLM, AutoTokenizer
23
 
24
  # ── Config ──────────────────────────────────────────────────────────────
25
- MODEL_NAME = os.getenv("MODEL_NAME", "Qwen/Qwen2.5-1.5B-Instruct")
26
- MAX_TOKENS = int(os.getenv("MAX_TOKENS", "512"))
27
- TEMPERATURE = float(os.getenv("TEMPERATURE", "0.1"))
28
 
29
  PARAM_COUNTS_GB = {
 
 
 
30
  "Qwen/Qwen2.5-1.5B-Instruct": 1.5,
31
- "openbmb/MiniCPM5-1B": 1.0,
32
  "openbmb/MiniCPM3-4B": 4.0,
33
  }
34
 
@@ -472,7 +474,7 @@ with gr.Blocks(css=CSS, title="TeXada — Math Formula Agent") as demo:
472
  """
473
  # TeXada — Math Formula Agent
474
  ### Backyard AI Build Small Hackathon Entry
475
- 把自然语言或 LaTeX 片段变成可渲染、可复制的 LaTeX。模型 ≤ 32B,默认 **Qwen2.5-1.5B-Instruct**。
476
  """
477
  )
478
 
@@ -480,8 +482,8 @@ with gr.Blocks(css=CSS, title="TeXada — Math Formula Agent") as demo:
480
  model_info = gr.Markdown(
481
  f"""
482
  **当前模型**: `{MODEL_NAME}`
483
- **参数规模**: {PARAM_COUNTS_GB.get(MODEL_NAME, '≤ 32')}B
484
- **状态**: 首次启动需要 1–2 分钟加载模型,请稍候。
485
  """
486
  )
487
 
 
22
  from transformers import AutoModelForCausalLM, AutoTokenizer
23
 
24
  # ── Config ──────────────────────────────────────────────────────────────
25
+ MODEL_NAME = os.getenv("MODEL_NAME", "openbmb/MiniCPM5-1B")
26
+ MAX_TOKENS = int(os.getenv("MAX_TOKENS", "1024"))
27
+ TEMPERATURE = float(os.getenv("TEMPERATURE", "0.7"))
28
 
29
  PARAM_COUNTS_GB = {
30
+ "openbmb/MiniCPM5-1B": 1.08,
31
+ "openbmb/MiniCPM5-1B-SFT": 1.08,
32
+ "openbmb/MiniCPM5-1B-Base": 1.08,
33
  "Qwen/Qwen2.5-1.5B-Instruct": 1.5,
 
34
  "openbmb/MiniCPM3-4B": 4.0,
35
  }
36
 
 
474
  """
475
  # TeXada — Math Formula Agent
476
  ### Backyard AI Build Small Hackathon Entry
477
+ 把自然语言或 LaTeX 片段变成可渲染、可复制的 LaTeX。模型 ≤ 32B,默认 **MiniCPM5-1B**。
478
  """
479
  )
480
 
 
482
  model_info = gr.Markdown(
483
  f"""
484
  **当前模型**: `{MODEL_NAME}`
485
+ **参数规模**: {PARAM_COUNTS_GB.get(MODEL_NAME, '≤ 32')}B(≤ 32B 合规)
486
+ **状态**: 首次启动需要 1–3 分钟加载模型,请稍候。首次推理会下载模型权重(约 2–3 GB)。
487
  """
488
  )
489