# tmf_v4 **Repository Path**: WorldEating/tmf_v4 ## Basic Information - **Project Name**: tmf_v4 - **Description**: 使用llm api来进行预测 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-28 - **Last Updated**: 2026-06-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TMF v4 — 中文文本分类服务 (LLM Few-shot) 基于 **DeepSeek V4 Pro** 的零训练中文短文本分类项目,Few-shot Prompt 替代本地模型推理。 > 从 v3 的 RoBERTa 微调升级到 LLM API 调用,去掉训练流水线和本地模型依赖。 **10 个分类类别**:财经 `finance` · 房产 `realty` · 股票 `stocks` · 教育 `education` · 科技 `science` · 社会 `society` · 政治 `politics` · 体育 `sports` · 游戏 `game` · 娱乐 `entertainment` --- ## 与 v3 的区别 | 维度 | v3 (RoBERTa) | v4 (LLM API) | |------|-------------|--------------| | 模型架构 | chinese-roberta-wwm-ext (102M) | DeepSeek V4 Pro (API) | | 训练 | 55min GPU, 180k 条 | **不需要** | | 模型文件 | 195MB (FP16) | **无** | | 推理延迟 | p50 5.8ms (GPU) | ~500ms/条 (批量) | | 准确率 | 94.75% | ~80% (Few-shot) | | 冷启动 | GPU + 训练 + 模型下载 | **只需 API Key** | | 成本 | 免费 (本地) | ~¥0.0002/条 | --- ## 项目结构 ``` tmf_v4/ ├── wsgi.py # Flask 服务入口 ├── app/ # Web 应用层 │ ├── __init__.py # Flask 工厂 + CORS + 请求日志 │ ├── config.py # 环境配置 │ └── v4/ │ └── predict.py # /api/v4/predict + /predict_batch ├── src/ # 核心模块 │ ├── config.py # 路径 + LLM 配置 │ ├── logger.py # 日志(控制台 + 文件双通道) │ ├── llm_client.py # DeepSeek API 客户端(单条 + 批量) │ ├── prompt.py # Few-shot Prompt 模板 │ └── eval.py # 评估脚本(采样 / 全量) ├── front/ │ └── tmf_app.py # Streamlit 界面 ├── tests/ │ └── test_api.py # API 测试(mock LLM) ├── data/ │ ├── tmf_class.txt # 类别标签(10 个) │ ├── sample_batch.csv # 批量测试样本 │ └── raw/ # 原始数据(验证集 + 测试集) ├── pytest.ini ├── tmf_v4_history.yml # Conda 环境 └── README.md ``` **去掉**(相比 v3):model_train / model_eval / model_compress / data_pre / Tokenizer / models / 训练流水线 --- ## 快速开始 ### 环境 ```bash conda env create -f tmf_v4_history.yml conda activate tmf_v4 ``` ### 配置 ```bash # 创建 .env,写入 API Key cp .env.example .env # 编辑 .env: DEEPSEEK_API_KEY=sk-your-key ``` ### 评估 ```bash python src/eval.py --sample 100 # 采样评估 100 条 python src/eval.py --sample 500 # 采样评估 500 条 python src/eval.py --full # 全量评估(10k) python src/eval.py --quick # 快速冒烟(10 条内置) ``` ### 启动服务 ```bash # 终端 1:启动 Flask API(端口 5000) python wsgi.py # 终端 2:启动 Streamlit(端口 8501) python -m streamlit run front/tmf_app.py ``` ### 切换模型 ```bash # 编辑 .env 文件 LLM_MODEL=deepseek-v4-flash # 快速模型 LLM_MODEL=deepseek-v4-pro # 推理模型(默认) ``` --- ## API 接口 ### 单条预测 `POST /api/v4/predict` ```bash curl -X POST http://127.0.0.1:5000/api/v4/predict \ -H "Content-Type: application/json" \ -d '{"text": "中超联赛战火重燃 北京国安工体迎战武汉三镇"}' ``` 响应: ```json { "label": "sports", "probability": 0.95, "code": 0, "message": "ok" } ``` ### 批量分类 `POST /api/v4/predict_batch` ```bash curl -F "file=@data/sample_batch.csv" http://127.0.0.1:5000/api/v4/predict_batch ``` ### 健康检查 `GET /` ```bash curl http://127.0.0.1:5000/ # → {"code": 0, "message": "ok"} ``` --- ## 运行测试 ```bash pytest tests/ -v # 全部用例(17 个) ``` --- ## 版本历史 | 版本 | 日期 | 更新内容 | |------|------|----------| | `v4.0.0` | 2026-06-28 | LLM Few-shot 分类,DeepSeek V4 Pro,批量推理,零训练 | | `v3.1.0` | 2026-06-26 | BERT 微调: Acc 94.75%/F1 94.75%, FP16 压缩 | | `v2.1.0` | 2026-06-26 | FastText + autotune: F1 91.18% | | `v1.0.0` | 2026-06-24 | TF-IDF + RandomForest: F1 ~79% | --- ## License 仅供学习交流使用。