
全面掌握 OpenAPI 规范:定义、生成与集成指南
本教程用 3 小时、一张 RTX 4090、不到 0.3 美元 API 调用费,将 7B ChatGLM 微调为“零失败 AI 菜谱生成器”。它能智能:
输入示例
冰箱剩余:鸡胸肉 200 g,西蓝花 100 g,淡奶油 50 ml,柠檬 半个
需求:低脂、高蛋白、无麸质,烹饪时间 < 15 分钟
输出示例(JSON)
{
"title": "柠檬奶油鸡胸一口盅",
"difficulty": "简单",
"time_minutes": 12,
"calories_kcal": 315,
"protein_g": 42,
"ingredients": [
{"item":"鸡胸肉","weight":"200g","note":"切2cm丁"},
{"item":"西蓝花","weight":"100g","note":"焯水30s"}
],
"steps":[
"1. 热锅喷橄榄油,鸡丁双面煎2分钟",
"2. 倒入淡奶油50 ml和柠檬汁,小火1分钟",
"3. 加入西蓝花翻匀,盐胡椒调味"
],
"tiktok_script": "镜头1:鸡胸变色拉丝…(省略200字)",
"confidence": 0.97
}
实测:厨房小白 12 分钟端盘,朋友圈点赞 87 个!
Spoonacular API → 数据清洗 → 指令微调 → LoRA 7B ChatGLM → FastAPI → 微信/小程序
# 创建环境并安装依赖
conda create -n ai-chef python=3.10 -y
conda activate ai-chef
pip install llama-factory==0.7.1 transformers==4.40.0 spoonacular==3.0
数据来源
recipes/random
:随机 50 k 道字段 & 指令格式
{
"instruction":"请根据剩余食材和用户偏好生成菜谱",
"input":"食材:鸡胸200g、柠檬半个;偏好:低脂 < 15min",
"output":"{完整 JSON 菜谱}"
}
数据增强
model_name_or_path: THUDM/chatglm3-6b
stage: sft
finetuning_type: lora
lora_rank: 64
lora_alpha: 128
dataset: chef_10k
template: chatglm3
num_train_epochs: 2
per_device_train_batch_size: 1
gradient_accumulation_steps: 32
learning_rate: 3e-4
bf16: true
output_dir: ./chef-lora
llamafactory-cli train recipe.yaml
from fastapi import FastAPI
from peft import PeftModel
from transformers import AutoTokenizer, AutoModel
app = FastAPI()
tok = AutoTokenizer.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True)
base = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True, torch_dtype="auto", device_map="auto")
model = PeftModel.from_pretrained(base, "./chef-lora")
@app.post("/cook")
def cook(req: dict):
prompt = tok.build_prompt(req['ingredients'], req['preference'])
response, _ = model.chat(tok, prompt, max_length=1024)
return {"recipe": response}
症状 | 原因 | 对策 |
---|---|---|
菜谱重复高 | 意面过多 | 重采样 + 过采样沙拉 |
步骤缺失 | LoRA rank 过低 | rank 64 → 128,步骤完整率↑ 17 % |
热量计算离谱 | 食材单位不统一 | 统一克/毫升,正则清洗 |
微信超时 | max_length 过长 | 限制 max_length,前端加 loading |
🔗 GitHub:github.com/yourname/ai-chef-lora
data/
:10 k 样本train.sh
:一键微调api/
:FastAPI 服务mp-cloud/
:微信云托管模板全面掌握 OpenAPI 规范:定义、生成与集成指南
API 网关集成 SkyWalking 打造全方位日志处理
如何使用 Google News API 获取实时新闻数据
REST API:关键概念、最佳实践和优势
如何使用 OpenAI 的 Sora API:综合使用指南
2025年 GitHub 上热门 AI Agents 开源项目:AutoGen、CrewAI、OpenDevin
深入理解 ASP.NET Core Web API:从哲学到一对多模型(Models & 1:N 关系)
从Talkie到DeepSeek:揭秘AI应用出海的盈利路径
如何通过MCP+魔搭免费API搭建本地数据助手