Skip to content

EcoLogits EcoLogits

EcoLogits tracks the energy consumption and environmental impacts of using generative AI models through APIs. It supports major LLM providers such as OpenAI, Anthropic, Mistral AI and more (see supported providers).

Requirements

Python 3.9+

EcoLogits relies on key libraries to provide essential functionalities:

Installation

To install EcoLogits, use the following command:

pip install ecologits

For integration with specific providers like OpenAI, additional dependencies can be installed using:

pip install ecologits[openai]

EcoLogits currently supports the following providers:

  • anthropic
  • cohere
  • google-generativeai
  • huggingface-hub (Hugging Face Inference Endpoints)
  • mistralai
  • openai

For detailed instructions on each provider, refer to the complete list of supported providers and features.

Installation with multiple providers

If you need to install extra dependencies for multiple providers at once, you can do so by separating them with a comma, like this:

pip install ecologits[openai,anthropic]

Usage Example

Below is a simple example demonstrating how to use the GPT-3.5-Turbo model from OpenAI with EcoLogits to track environmental impacts.

from ecologits import EcoLogits
from openai import OpenAI

# Initialize EcoLogits
EcoLogits.init()

client = OpenAI(api_key="<OPENAI_API_KEY>")

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

# Get estimated environmental impacts of the inference
print(f"Energy consumption: {response.impacts.energy.value} kWh")
print(f"GHG emissions: {response.impacts.gwp.value} kgCO2eq")

Environmental impacts are quantified based on four criteria and across two phases:

Criteria:

  • Energy (energy): Final energy consumption in kWh,
  • Global Warming Potential (gwp): Potential impact on global warming in kgCO2eq (commonly known as GHG/carbon emissions),
  • Abiotic Depletion Potential for Elements (adpe): Impact on the depletion of non-living resources such as minerals or metals in kgSbeq,
  • Primary Energy (pe): Total energy consumed from primary sources in MJ.

Phases:

  • Usage (usage): Represents the phase of energy consumption during model execution,
  • Embodied (embodied): Encompasses resource extraction, manufacturing, and transportation phases associated with the model's lifecycle.

Learn more about environmental impacts assessment in the methodology section.

License

This project is licensed under the terms of the Mozilla Public License Version 2.0 (MPL-2.0) .

Acknowledgements

EcoLogits is actively developed and maintained by GenAI Impact non-profit. We extend our gratitude to Data For Good and Boavizta for supporting the development of this project. Their contributions of tools, best practices, and expertise in environmental impact assessment have been invaluable.