Skip to main content

An operational monitoring library for AI agent applications

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agent_spy_nidhish-0.1.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agent_spy_nidhish-0.1.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file agent_spy_nidhish-0.1.0.tar.gz.

File metadata

  • Download URL: agent_spy_nidhish-0.1.0.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.5

File hashes

Hashes for agent_spy_nidhish-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8746e3dce1eaa08226a451d9caca493d239be35dc24e39461e34c08fdfa16dc4
MD5 043285195873e23cb8fe559e79db1beb
BLAKE2b-256 3e03d8d88093804d2c1ec77cde6757cd76275f771b246dbc9c43ef76335667f2

See more details on using hashes here.

File details

Details for the file agent_spy_nidhish-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_spy_nidhish-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 afd533cbdb07298de8440cb7ed3813c79b09707b8b81db377e1febd7f86fabdb
MD5 22b85f4d8df144b2f644f187b605a514
BLAKE2b-256 97f276e3cffd39ef7b68e26f265301255ef2306a825d6e8fd08a1efd3b97c0b9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page