texada / README.md
Cacinie's picture
chore: prepare Build Small submission
c1c2a3c
|
Raw
History Blame Contribute Delete
6.43 kB

A newer version of the Gradio SDK is available: 6.20.0

Upgrade
metadata
title: TeXada  Math Formula Agent
emoji: 🧮
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 6.16.0
python_version: '3.11'
app_file: app.py
pinned: false
license: mit
short_description: Tiny MiniCPM formula agent for NL/OCR to LaTeX.
startup_duration_timeout: 1h
tags:
  - gradio
  - build-small-hackathon
  - small-models
  - agent
  - latex
  - ocr
  - track:backyard
  - sponsor:openbmb
  - sponsor:openai
  - achievement:offgrid
  - achievement:offbrand
  - achievement:fieldnotes
  - tiny-titan
  - best-agent
models:
  - openbmb/MiniCPM5-1B
  - openbmb/MiniCPM-V-4.6

TeXada — Math Formula Agent

一句话:把自然语言、手写截图里的数学公式 instantly 变成可渲染、可复制的 LaTeX,让写论文和做作业的人少敲 80% 的公式代码。

参赛赛道:Backyard AI @ Build Small Hackathon
提交三件套:Space 链接 · Demo 视频 · 社交媒体 Post(见底部链接区)
总参数规模:≤ 32B;并且每个模型都 ≤4B(文本 openbmb/MiniCPM5-1B 约 1.08B + 视觉 openbmb/MiniCPM-V-4.6 约 1B)


🧑‍🎓 真实用户与真实痛点

目标用户:本科 STEM 同学(物理 / 数学 / 工程 / 计算机专业),在写实验报告、作业、论文、笔记时需要把公式转成 LaTeX。

真实痛点一句话

“我室友写物理实验报告时,草稿上已经写好了公式,却要花十几分钟去查 amsmath 宏包语法、调括号层级、修 KaTeX 报错——明明只是把纸上的公式敲进电脑。”

对方真的用过

  • 使用者:某 985 高校物理系大三同学(我的室友),经常需要把实验报告里的手写公式转成 LaTeX。
  • 使用场景:把草稿里的公式描述复制进 TeXada,直接拿到可粘贴到 Overleaf / Markdown 的 LaTeX。
  • 反馈:
    1. “以前一个公式要查半天符号,现在直接描述就能得到代码,省了很多时间。”
    2. “自动补全括号这个功能救了我,模型生成的公式基本不用再手动修。”
    3. “界面很简单,复制到 Overleaf 就能用,写作业的效率高了不少。”

🤏 为什么小模型就够?

LaTeX 生成是一个结构化、语法严格的任务,不需要大模型的世界知识:

约束优势 说明
速度 文本 + 视觉模型均约 1B 级参数,CPU Space 上适合“边写边查”。
隐私 作业/论文草稿与截图不上传给闭源大模型,全部在 Space 容器内推理。
低成本 1B 级模型可在免费 CPU Space 上运行,零 API 调用费用。
诚实匹配 任务边界清晰(NL/图片 → LaTeX + 校验 + 修复),小模型足够覆盖。

🏁 Hackathon Submission Evidence

TeXada primarily targets Backyard AI: it solves a concrete, recurring workflow for a real STEM student who writes lab reports and homework in LaTeX.

Targeted tags in the README YAML:

Tag Evidence
track:backyard Built for a physics undergraduate who repeatedly converts handwritten/math-description formulas into LaTeX for reports.
sponsor:openbmb Core text generation uses openbmb/MiniCPM5-1B; OCR uses openbmb/MiniCPM-V-4.6.
sponsor:openai Codex was used to implement, debug, document, and prepare the Space submission; the Space history includes Codex-prepared commits.
achievement:offgrid Runtime inference happens inside the Space process with open-weight Hugging Face models; no proprietary cloud inference API is called.
achievement:offbrand The app uses a custom VSCode-inspired Gradio UI with editor, preview, status, and history panels rather than stock component styling.
achievement:fieldnotes Build notes are included in FIELD_NOTES.md.
tiny-titan Both declared models are in the tiny-model range and each is under 4B parameters.
best-agent The app runs a multi-step formula workflow: intent routing → generation/OCR → LaTeX extraction → validation → auto-fix → rendering/history.

🚀 使用方法(2 步)

  1. 打开 Space 链接(见底部)。
  2. 选择模式:
    • 自然语言 → LaTeX:输入公式描述,例如 二重积分 f(x,y) 在区域 D 上
    • 图片 OCR:上传手写/截图公式,自动识别为 LaTeX
    • LaTeX 补全:输入不完整的 LaTeX 片段自动补全
  3. 点击生成/识别,复制右侧代码到 Overleaf / Notion / Markdown。

支持功能

  • ✅ 自然语言 → LaTeX
  • ✅ 图片 OCR → LaTeX(MiniCPM-V-4.6)
  • ✅ LaTeX 片段补全
  • ✅ 实时语法校验(括号、环境、命令)
  • 🔧 自动修复常见错误(补全 }\end{} 等)
  • 🎨 Display / Inline / Equation 三种输出格式一键切换
  • 🕘 历史记录侧边栏

🛰️ 部署到 Hugging Face Space

本仓库已部署至:https://huggingface.co/spaces/build-small-hackathon/texada

如需重新推送更新:

cd /Users/caciniep/Desktop/TeXada-BackyardAI-Space
hf auth login
git remote add space https://huggingface.co/spaces/build-small-hackathon/texada  # 若未添加
git push space main

首次 Build 会下载模型权重(约 2–3 GB),可能需要 5–15 分钟。

🏗️ 本地运行 / 二次开发

git clone <this-repo>
cd TeXada-BackyardAI-Space
pip install -r requirements.txt
python app.py

默认模型为 openbmb/MiniCPM5-1B,也可替换为任意 ≤32B 的 Hugging Face 模型:

MODEL_NAME="Qwen/Qwen2.5-1.5B-Instruct" python app.py

⚙️ 技术栈

  • UI: Gradio 6.x,VSCode 深色科技风
  • 推理: Hugging Face transformers
  • 文本模型: openbmb/MiniCPM5-1B(约 1.08B 参数)
  • 视觉模型: openbmb/MiniCPM-V-4.6(约 1B 参数,用于图片 OCR)
  • 校验: 括号/环境平衡、命令白名单
  • 修复: 自动补全缺失的 }\end{...}

👥 队员

  • @Cacinie(需已加入 build-small-hackathon org)

🔗 链接区


📜 License

本项目基于 MIT License 开源。