garbage-classification / knowledge.py
hutiger's picture
Upload folder using huggingface_hub
bf5b4d8 verified
Raw
History Blame Contribute Delete
6.15 kB
"""
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()
}