Skip to main content

Agent Spy Monitor

An operational monitoring library for AI agent applications that tracks token usage, costs, performance metrics, and environmental impact.

Features

  1. Token Counting

    • Total tokens
    • Input tokens
    • Output tokens
  2. Cost Calculation

    • Based on the token usage and model pricing
  3. Performance Metrics

    • Time taken for each call
    • CPU and memory consumption
  4. Environmental Impact

    • Estimated CO₂ emissions
  5. Logging

    • Comprehensive logs of all operations
  6. Visualization

    • CLI summaries
    • Streamlit dashboard for detailed insights

Installation

You can install Agent Spy Monitor via PyPI using pip:

pip install agent-spy-monitor

Quick Start

from agent_spy import AgentSpy

# Initialize the monitor
spy = AgentSpy(model="gpt-4o")

# Start monitoring
spy.start()

# Your AI agent code here
input_text = "Hello, how are you?"
output_text = "I'm doing well, thank you!"

# Set token counts
spy.set_token_counts(input_text, output_text)

# End monitoring
spy.end()

# View results
print(f"Total cost: ${spy.cost:.6f}")
print(f"Total tokens: {spy.total_tokens}")
print(f"Carbon emissions: {spy.carbon_emissions:.6f} kg CO2")

Advanced Usage

Using with CrewAI

from agent_spy import AgentSpy

spy = AgentSpy(model="gpt-4o")
spy.start()

# Run your CrewAI workflow
crew_output = your_crew.kickoff()

# Extract token usage from CrewAI output
spy.set_token_usage_from_crew_output(crew_output)
spy.end()

Extended Monitoring with Visualization

from agent_spy import AgentSpyExtended

spy = AgentSpyExtended(model="gpt-4o")
spy.start()

# Your AI operations here

spy.end()

# Show CLI summary
spy.visualize(method='cli')

# Or launch Streamlit dashboard
spy.visualize(method='streamlit')

Supported Models

The library supports cost calculation for various AI models:

  • OpenAI: GPT-4o, GPT-4o-mini, GPT-4, GPT-3.5-turbo, and more
  • Anthropic: Claude-3 variants, Claude-2, Claude Instant
  • Google: Gemini Pro, Gemini Flash

Configuration Options

# Disable resource monitoring for better performance
spy = AgentSpy(model="gpt-4o", enable_monitoring=False)

# Custom encoding for token counting
spy = AgentSpy(model="custom-model", encoding_name="cl100k_base")

API Reference

AgentSpy Class

Methods:

  • start(): Begin monitoring
  • end(): Stop monitoring and calculate metrics
  • set_token_counts(input_text, output_text): Manually set token counts
  • set_token_usage_from_crew_output(crew_output): Extract from CrewAI output
  • count_tokens(text): Count tokens in text

Properties:

  • cost: Total cost in USD
  • total_tokens: Total token count
  • input_tokens: Input token count
  • output_tokens: Output token count
  • total_time: Execution time in seconds
  • carbon_emissions: Estimated CO₂ emissions in kg

AgentSpyExtended Class

Extends AgentSpy with visualization capabilities:

Additional Methods:

  • visualize(method='cli'): Show CLI summary
  • visualize(method='streamlit'): Launch Streamlit dashboard

License

MIT License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Author

Nidhish Wakodikar

Changelog

v0.1.0

  • Initial release
  • Token counting and cost calculation
  • Performance monitoring
  • Carbon emissions estimation
  • CLI and Streamlit visualization

Release files for agent-spy-nidhish 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agent-spy-nidhish 0.1.0
File Size Uploaded
agent_spy_nidhish-0.1.0.tar.gz 9.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agent-spy-nidhish 0.1.0
File Interpreter ABI Platform
agent_spy_nidhish-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 18.7 kB

Release files / agent_spy_nidhish-0.1.0.tar.gz

Download URL agent_spy_nidhish-0.1.0.tar.gz
Size 9.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8746e3dce1eaa08226a451d9caca493d239be35dc24e39461e34c08fdfa16dc4
BLAKE2b-256 checksum
How to use checksums
3e03d8d88093804d2c1ec77cde6757cd76275f771b246dbc9c43ef76335667f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.5

Release files / agent_spy_nidhish-0.1.0-py3-none-any.whl

Download URL agent_spy_nidhish-0.1.0-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
afd533cbdb07298de8440cb7ed3813c79b09707b8b81db377e1febd7f86fabdb
BLAKE2b-256 checksum
How to use checksums
97f276e3cffd39ef7b68e26f265301255ef2306a825d6e8fd08a1efd3b97c0b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.5

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page