mlco2/ecologits

🌱 EcoLogits tracks the energy consumption and environmental footprint of using generative AI models through APIs.

EcoLogits – 估算生成式 AI 呼叫的碳足跡

它是什麼 – EcoLogits 是一個 Python 函式庫,測量對流行生成式 AI API(OpenAI、Anthropic、Cohere、Google‑GenAI、HuggingFace、Mistral AI 等)的推論請求所使用的能源與溫室氣體排放。它直接嵌入客戶端程式碼,照常發送請求,並回傳包含估算 kWh 與 CO₂‑當量值的 impacts 物件。

為何重要 – 隨著大型語言模型變得無處不在,其計算足跡也持續增長。EcoLogits 為開發者提供簡單方式揭露這隱藏成本,協助團隊做出更永續的選擇、報告排放或抵銷使用量。

安裝

pip install ecologits                # 核心套件
pip install ecologits[openai]        # 為特定 provider 加入支援(例如 OpenAI)

支援的 provider 列於文件中,包含 anthropiccoheregoogle-genaihuggingface-hubmistralaiopenai

基本用法

from ecologits import EcoLogits
from openai import OpenAI

EcoLogits.init(providers=["openai"])   # 啟用對 OpenAI 呼叫的追蹤
client = OpenAI(api_key="<YOUR_KEY>")

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Tell me a funny joke!"}]
)

print("Energy consumption:", response.impacts.energy.value.mean, "kWh")
print("GHG emissions:",    response.impacts.gwp.value.mean, "kgCO2eq")

response.impacts 物件提供能源(kWh)與全球暖化潛勢(kg CO₂‑eq)的平均(以及可能的分佈)估算。

主要特性

  • Provider‑agnostic:透過可選 extras 支援主要 LLM API。
  • 量化指標:同時回傳電力使用與 CO₂‑當量排放。
  • 輕量整合:只需幾行程式碼即可開始追蹤。
  • 開源與社群驅動:屬於 CodeCarbon 非營利組織,採 MIT‑style MPL‑2.0 授權。
  • 文件與工具:完整文件位於 https://ecologits.ai,提供 Colab notebook 與 Discord 社群支援。

使用者 – 研究人員、產品團隊與永續主管,需要稽核 AI 服務的環境成本。

貢獻 – 文件中提供貢獻指南與開發環境設定(見 Contributing to EcoLogits)。歡迎各界貢獻,且已有多家贊助商支持。


EcoLogits 讓生成式 AI 隱藏的能源成本可見,促進更負責任的開發與報告。