Spaces:
Sleeping
Sleeping
| """ | |
| AI 垃圾分类助手 - 知识库模块 | |
| 提供各类垃圾的投放指南、注意事项和环保知识 | |
| """ | |
| KNOWLEDGE_BASE = { | |
| "cardboard": { | |
| "name_cn": "纸板/纸箱", | |
| "category": "可回收物", | |
| "description": "纸板属于可回收物,包括快递纸箱、包装纸盒、纸板箱等。", | |
| "disposal": ( | |
| "1. 清空内容物,去除胶带和标签\n" | |
| "2. 压平折叠,减小体积\n" | |
| "3. 保持干燥清洁,避免油污污染\n" | |
| "4. 绑扎整齐后投入可回收物收集容器" | |
| ), | |
| "tips": [ | |
| "沾有油污的纸板属于其他垃圾,不可回收", | |
| "纸板上的塑料胶带需要撕掉", | |
| "淋湿的纸板回收价值降低,尽量保持干燥", | |
| "大型纸板箱应拆开压平后再投放", | |
| ], | |
| "fun_fact": "回收1吨废纸板可造好纸约800公斤,少砍17棵树!", | |
| "degradation_time": "约3-4个月(自然降解)", | |
| }, | |
| "glass": { | |
| "name_cn": "玻璃", | |
| "category": "可回收物", | |
| "description": "玻璃制品属于可回收物,包括玻璃瓶、玻璃杯、玻璃碎片等。", | |
| "disposal": ( | |
| "1. 清空残留物,用清水冲洗干净\n" | |
| "2. 去掉瓶盖和金属环\n" | |
| "3. 建议用纸包好后再投放,防止破碎伤人\n" | |
| "4. 投入可回收物收集容器" | |
| ), | |
| "tips": [ | |
| "碎玻璃应用厚纸包好后再投放,并标注小心玻璃", | |
| "灯泡、镜子属于其他垃圾(部分为有害垃圾)", | |
| "玻璃瓶的金属瓶盖需分离投放", | |
| "耐热玻璃和普通玻璃应分开回收(处理温度不同)", | |
| ], | |
| "fun_fact": "玻璃可以100%无限次循环利用,且质量不会下降!", | |
| "degradation_time": "约100万年(自然降解)", | |
| }, | |
| "plastic": { | |
| "name_cn": "塑料", | |
| "category": "可回收物", | |
| "description": "塑料制品属于可回收物,包括塑料瓶、塑料桶、塑料包装等。", | |
| "disposal": ( | |
| "1. 清空内容物,压扁瓶体\n" | |
| "2. 取下瓶盖(瓶盖和瓶身材质不同,需分类)\n" | |
| "3. 冲洗干净,去除残留\n" | |
| "4. 投入可回收物收集容器" | |
| ), | |
| "tips": [ | |
| "饮料瓶需要把水倒空再投放", | |
| "塑料袋、塑料膜也可以回收", | |
| "一次性塑料餐具如果污染严重属于其他垃圾", | |
| "化妆品瓶需要清洗干净才能回收", | |
| ], | |
| "fun_fact": "一个塑料瓶需要450年才能降解,回收是最好的选择!", | |
| "degradation_time": "约200-500年(自然降解)", | |
| }, | |
| "metal": { | |
| "name_cn": "金属", | |
| "category": "可回收物", | |
| "description": "金属制品属于可回收物,包括易拉罐、金属罐、金属工具等。", | |
| "disposal": ( | |
| "1. 清空内容物,冲洗干净\n" | |
| "2. 易拉罐应压扁以减少体积\n" | |
| "3. 喷雾罐需确认完全排空\n" | |
| "4. 投入可回收物收集容器" | |
| ), | |
| "tips": [ | |
| "易拉罐压扁后投放,节省空间", | |
| "金属瓶盖可单独投放或和金属一起放", | |
| "废弃的小件金属可直接投放", | |
| "大型金属制品应联系废品回收站", | |
| ], | |
| "fun_fact": "回收1个铝罐节省的电量可让电视运行3小时!", | |
| "degradation_time": "约50-200年(自然降解)", | |
| }, | |
| "paper": { | |
| "name_cn": "纸张", | |
| "category": "可回收物", | |
| "description": "纸张属于可回收物,包括报纸、书籍、笔记本、办公用纸等。", | |
| "disposal": ( | |
| "1. 去除订书钉、胶带等非纸附件\n" | |
| "2. 尽量保持平整,不要揉成团\n" | |
| "3. 保持干燥清洁\n" | |
| "4. 投入可回收物收集容器" | |
| ), | |
| "tips": [ | |
| "纸巾、卫生纸属于其他垃圾(水溶性太强)", | |
| "照片纸不属于可回收纸张", | |
| "复写纸、蜡纸属于其他垃圾", | |
| "碎纸机处理后的纸张仍可回收", | |
| ], | |
| "fun_fact": "回收1吨废纸可造好纸约800公斤,节省木材约3立方米!", | |
| "degradation_time": "约2-6个月(自然降解)", | |
| }, | |
| "trash": { | |
| "name_cn": "其他垃圾/厨余", | |
| "category": "其他垃圾", | |
| "description": "包括食品残渣、果皮、纸巾、一次性餐具等不属于以上类别的垃圾。", | |
| "disposal": ( | |
| "1. 沥干水分后投放\n" | |
| "2. 用垃圾袋装好,扎紧袋口\n" | |
| "3. 投入其他垃圾收集容器\n" | |
| "4. 避免混入可回收物和有害垃圾" | |
| ), | |
| "tips": [ | |
| "厨余垃圾应沥干水分后再投放", | |
| "大骨头、贝壳属于其他垃圾(不易粉碎)", | |
| "电池、药品等有害垃圾不可投入此桶", | |
| "尽量减少厨余浪费,按需购买食材", | |
| ], | |
| "fun_fact": "中国每年产生约1.5亿吨厨余垃圾,减少浪费从你我做起!", | |
| "degradation_time": "约2-6周(自然降解)", | |
| }, | |
| } | |
| EN_TO_CN = {k: v["name_cn"] for k, v in KNOWLEDGE_BASE.items()} | |
| def get_class_info(class_name): | |
| """获取指定类别的知识信息""" | |
| return KNOWLEDGE_BASE.get(class_name) | |
| def get_all_classes(): | |
| """获取所有垃圾类别列表""" | |
| return list(KNOWLEDGE_BASE.keys()) | |
| def search_knowledge(keyword): | |
| """搜索相关知识""" | |
| kw = keyword.lower() | |
| return [ | |
| (k, v) for k, v in KNOWLEDGE_BASE.items() | |
| if kw in k or kw in v["name_cn"].lower() | |
| ] | |
| def get_classification_guide(): | |
| """获取简洁的分类指南""" | |
| return { | |
| k: { | |
| "name_cn": v["name_cn"], | |
| "category": v["category"], | |
| "summary": v["description"], | |
| } | |
| for k, v in KNOWLEDGE_BASE.items() | |
| } | |