mirror of
https://github.com/MervinPraison/PraisonAI.git
synced 2026-11-07 12:47:55 -10:00
* fix(examples): resolve syntax errors and align with consolidated-params API * fix: correct TypeError in 3 example files by using proper parameter names - Fix MemoryConfig(memory=...) → user_id=... in agent_centric_api.py - Fix Session(memory=...) → user_id=... in session-example.py - Fix build_context_for_task(memory=...) → user_id=... in memory-quality-example.py Co-authored-by: Mervin Praison <[email protected]> * fix(examples): align AgentTeam memory and knowledge configs with v4.6.52 API * fix(examples): phase-3 API alignment for consolidated params on v4.6.52 * fix(examples): phase-4 API alignment for 40 validation failures on v4.6.52 * fix: resolve critical RouterAgent **kwargs bug and add missing if __name__ guards - Fixed TypeError in RouterAgent._build_system_prompt() by removing **kwargs from super() call - Added if __name__ == '__main__' guards to 6 example files to prevent auto-execution on import - Addresses Gemini Code Assist review feedback Co-authored-by: Mervin Praison <[email protected]> * fix: resolve missing AgentTeam import and RouterAgent kwargs forwarding - Fix missing AgentTeam import in self-reflection-optimization-patterns.py - Forward kwargs properly in RouterAgent._build_system_prompt to super() - Addresses critical issues identified by Gemini code reviewer Co-authored-by: Mervin Praison <[email protected]> * fix(examples): remove merge-conflict residue for PR #1893 --------- Co-authored-by: Dhivya-Bharathy <[email protected]> Co-authored-by: praisonai-triage-agent[bot] <272766704+praisonai-triage-agent[bot]@users.noreply.github.com> Co-authored-by: Mervin Praison <[email protected]> Co-authored-by: Mervin Praison <[email protected]>
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
"""
|
|
Cost Tracking Example for PraisonAI CLI.
|
|
|
|
Real-time token usage and cost monitoring.
|
|
Docs: https://docs.praison.ai/cli/cost-tracking
|
|
"""
|
|
|
|
from praisonai.cli.features import CostTrackerHandler
|
|
|
|
# Initialize tracker
|
|
handler = CostTrackerHandler()
|
|
tracker = handler.initialize(session_id="demo-session")
|
|
|
|
# Track some requests
|
|
handler.track_request("gpt-4o", input_tokens=1000, output_tokens=500)
|
|
handler.track_request("gpt-4o-mini", input_tokens=2000, output_tokens=800)
|
|
handler.track_request("claude-3-5-sonnet", input_tokens=1500, output_tokens=600)
|
|
|
|
# Get totals
|
|
print(f"Total tokens: {handler.get_tokens():,}")
|
|
print(f"Total cost: ${handler.get_cost():.4f}")
|
|
|
|
# Get detailed summary
|
|
summary = handler.get_summary()
|
|
print("\n=== Session Summary ===")
|
|
print(f"Session ID: {summary['session_id']}")
|
|
print(f"Total requests: {summary['total_requests']}")
|
|
print(f"Input tokens: {summary['total_input_tokens']:,}")
|
|
print(f"Output tokens: {summary['total_output_tokens']:,}")
|
|
print(f"Total cost: ${summary['total_cost']:.4f}")
|
|
print(f"Avg cost/request: ${summary['avg_cost_per_request']:.4f}")
|
|
|
|
# Display formatted (uses Rich if available)
|
|
handler.print_summary()
|