A next-level AgentOps monitoring library for Crew AI applications with enhanced metrics.
Project description
Agent Mont
Advanced Monitoring for AI Agents
Comprehensive metrics, insights, and visualization for Phidata and Crew AI applications
📊 Overview
Agent Mont is an advanced AgentOps monitoring library designed specifically for Phidata and Crew AI applications. It provides real-time insights into your AI agents' performance, resource utilization, and environmental impact.
✨ Key Features
- 📝 Token Tracking - Precise accounting of input, output, and total tokens
- 💰 Cost Analysis - Real-time cost calculation based on model-specific pricing
- ⚡ Performance Metrics - Detailed execution time and resource utilization
- 🔄 Throughput Monitoring - Tokens processed per second and operation latency
- 🌱 Environmental Impact - Carbon emission estimates for responsible AI deployment
- 📋 Comprehensive Logging - Detailed operational logs for debugging and analysis
- 📊 Interactive Visualization - CLI summaries and Streamlit dashboard for visual insights
🚀 Installation
pip install agent-mont
🔍 Usage
Basic Example
from agent_mont import AgentMontExtended
# Initialize Agent Mont monitoring
mont = AgentMontExtended(model="gpt-4o")
# Start monitoring
mont.start()
# Your Crew AI operations go here
# result = your_ai_function()
# Set token counts
input_text = "Your input text here."
output_text = "Your output text here."
mont.set_token_counts(input_text=input_text, output_text=output_text)
# Measure operation latency
# result = mont.measure_operation(your_function, arg1, arg2)
# End monitoring
mont.end()
# Visualize the results
mont.visualize(method='cli')
Integration with Crew AI
from agent_mont import AgentMontExtended
from crewai import Crew, Agent, Task
# Initialize monitoring
mont = AgentMontExtended(model="gpt-4o")
mont.start()
# Define your Crew agents and tasks
agent = Agent(...)
task = Task(...)
crew = Crew(agents=[agent], tasks=[task])
# Run crew process
result = crew.kickoff()
# Extract token usage from crew output
mont.set_token_usage_from_crew_output(result)
# End monitoring and display metrics
mont.end()
mont.visualize(method='cli')
📖 API Reference
AgentMont Initialization
AgentMont(
model: str, # LLM model identifier (e.g., "gpt-4o")
enable_monitoring: bool = True, # Toggle monitoring on/off
encoding_name: str = "cl100k_base" # Token encoding scheme
)
Core Methods
| Method | Description |
|---|---|
start() |
Begin resource and metric monitoring |
end() |
Stop monitoring and compute all metrics |
set_token_counts(input_text, output_text) |
Set token usage based on text |
measure_operation(func, *args, **kwargs) |
Wrap a function call to record its latency |
set_token_usage_from_crew_output(crew_output) |
Extract token usage from a CrewOutput |
visualize(method) |
Visualize metrics using CLI or Streamlit |
📈 Visualization
CLI Summary
mont.visualize(method='cli')
Example output:
========== AGENT MONT METRICS ==========
Model: gpt-4o
Execution Time: 2.34s
Total Tokens: 1,245
Cost: $0.0237
Throughput: 532.1 tokens/sec
CPU Usage: 23.7%
Memory Usage: 145.2 MB
Carbon Emissions: 0.00021 gCO2eq
=======================================
Streamlit Dashboard
Create a visualization script:
# visualize.py
from agent_mont import AgentMontExtended
mont = AgentMontExtended(model="gpt-4o")
# Load metrics from logs or set directly
mont.set_token_counts("Example input", "Example output")
mont.end()
mont.visualize(method='streamlit')
Run the dashboard:
streamlit run visualize.py
📝 Logging
All events and metrics are logged to agent_mont.log with timestamps and event categories:
2025-03-15 14:32:17 [INFO] Agent Mont initialized with model: gpt-4o
2025-03-15 14:32:18 [INFO] Monitoring started
2025-03-15 14:32:20 [INFO] Token counts set: 145 input, 267 output
2025-03-15 14:32:21 [INFO] Monitoring ended
2025-03-15 14:32:21 [INFO] Metrics calculated: 412 tokens, $0.0082 cost, 1.73s execution time
🤝 Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
📧 Contact
Faisal Azeez - faisalazeeii786@gmail.com
Made with ❤️ for the AI agent community
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_mont-0.1.1.tar.gz.
File metadata
- Download URL: agent_mont-0.1.1.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f99278d374b650884e60a9cdcb832a59aa87d4fb589180c2950e03575623253
|
|
| MD5 |
e813e45834223ae49f4b2aa17a77f0ac
|
|
| BLAKE2b-256 |
33c0bda8d8fd29db9bb366347d0a3987cf3815650c77f2cb7f5cd67d58a2dc50
|
File details
Details for the file agent_mont-0.1.1-py3-none-any.whl.
File metadata
- Download URL: agent_mont-0.1.1-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f50b7e96ca0321ec460cff3277e8ca59733ec7c893ea9e85f8b6fe8c7beb39ef
|
|
| MD5 |
349fd7cba07ef93063bcbc71142f1006
|
|
| BLAKE2b-256 |
46c888708418a7f7e7038fe146f9691135a743213747fc8d338e2b82aef48fb6
|