使用 Google Gemini 为地球日构建碳足迹追踪器

发布: (2026年4月19日 GMT+8 17:28)
5 分钟阅读
原文: Dev.to

Source: Dev.to

请提供您希望翻译的具体文本内容,我将为您翻译成简体中文并保留原有的格式、Markdown 语法以及技术术语。谢谢!

介绍

这是针对 Weekend Challenge: Earth Day Edition 的提交。
本周每次打开新闻标签页,都会看到关于气温上升、冰川融化或创纪录的碳排放的报道。这个地球日,这些信息让我有了不同的感受。我是一名拥有工具的开发者——于是我构建了 EcoTrace,一个由 Google Gemini 驱动的个人碳足迹追踪器。

EcoTrace 是一个网页应用,你可以记录每日活动(通勤、饮食、航班、电力使用),Gemini 负责繁重的计算。它分析你的行为模式,估算以 kg CO₂e 为单位的碳排放,并提供个性化、对话式的分析,告诉你目前的状况以及可以改进的地方。没有电子表格,没有模糊的分数——只有一个像知识渊博的朋友一样与你讨论影响的友好 AI。

目标很简单:让环保意识变得个人化,而不是说教。

操作步骤

  1. 记录一天 – 例如,“开车 12 公里上班,午餐吃鸡肉,空调使用 4 小时”。
  2. Gemini 通过结构化提示处理这些输入,并返回细分结果:交通贡献 X 千克,食物 Y 千克,家庭能源 Z 千克。
  3. 聊天界面 – 提出后续问题,例如“如果我每周改乘公共交通两次会怎样?”Gemini 会即时计算假设的减排量。
  4. 每周汇总图表 – 显示你随时间的趋势。

核心 Gemini API 调用

import google.generativeai as genai

genai.configure(api_key=API_KEY)
model = genai.GenerativeModel('gemini-3.0-flash')

def estimate_footprint(activity_log: dict) -> str:
    prompt = f"""
    You are a climate-aware assistant. Based on the following daily activities,
    calculate the estimated carbon footprint in kg CO2e and provide a brief,
    friendly explanation for each category.

    Activities:
    - Transport: {activity_log['transport']}
    - Diet: {activity_log['diet']}
    - Home Energy: {activity_log['energy']}

    Return a structured breakdown and one actionable tip to reduce emissions.
    """
    response = model.generate_content(prompt)
    return response.text

前端使用纯 HTML + 原生 JavaScript,保持可访问性和快速响应。

架构

  • 前端: HTML, Tailwind CSS, Alpine.js 用于响应式
  • 后端: FastAPI (Python)
  • AI 层: Google Gemini 1.5 Flash
  • 存储: 本地 JSON(适用于周末范围的简易方案)
  • 部署: Google Cloud Run

How Gemini Powers the Experience

与其硬编码排放因子,我为 Gemini 提供了包含标准碳核算方法背景的结构化提示。Gemini 会对活动数据进行推理,使用近似的排放系数,并用通俗的语言解释其思路。随后的一轮对话循环让用户能够交互式地探索“如果…会怎样”的情景。

一个关键的设计决策是避免仅显示一个数字。Gemini 的响应始终会包含一个对比(例如,“这大致相当于给手机充电 800 次”),以使抽象概念变得具体可感。

挑战

  • 冗长: Gemini 可能会生成过于冗长的回复。我花时间优化系统提示,以获得简洁、结构化的输出,前端能够可靠地解析这些内容。
  • 碳核算的复杂性: 排放因子因国家、季节和来源而异。我选择使用全球平均值,并在 UI 中明确展示此限制。

Google Gemini 的最佳使用

Google Gemini 3.0 Flash 是 EcoTrace 的核心。它驱动:

  • 碳排放估算逻辑
  • 对话式后续系统
  • 个性化每周摘要

如果没有 Gemini,应用只会是一个输出数字的简单表单。有了 Gemini,它就成为一个帮助用户理解并改进习惯的对话伙伴。

0 浏览
Back to Blog

相关文章

阅读更多 »

地球日的活力

我构建的 History 按日历天在浏览器中保存;每个部分旁边的照片是真实的捆绑图像。可选的 Gemini API 路由可以添加温暖的教练……