Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Progress Reporting Feature #18

Open
wants to merge 19 commits into
base: main
Choose a base branch
from

Conversation

evalstate
Copy link
Contributor

@evalstate evalstate commented Feb 1, 2025

Draft of Progress Capture.

Intent was to build on existing Logging System and provide a convenient way to produce rich display of progress events. Design should be simple to be able to add/filter scopes, add/easily enrich UX/progress display mechanisms and later use "Progress" log event types for high volume ephemeral comms.

Main changes:

  • File Logger saves in JSONL format
  • Secrets are obscured by the JSON serializer unless environment variable overrides
  • Addition of ProgressLogger which captures the log event stream to convert log events to progress info
  • Addition of contextual data to important log events for progress reporting
  • Rudimentary formatter for progress events (on by default, can be switched off with config option progress_display=False)
  • Offline summarizer, viewer, rich progress stimulator for further development and testing of display.

Future enhancements could include

  • Use of "Progress" log events specifically to capture ephemeral high volume status updates (e.g. token streaming, MCP notifications).
  • Abstractions in the augmented_llm areas etc. to avoid duplication of intent. Better use of constants/common methods to allow identification of important progress events.
  • Console redirection and better use of Rich to make it more visually appealing.
  • Better display of intent (e.g. Agent Call vs. Assistant Call) for Chatting.

- Add FINAL_RESPONSE_LOG_MESSAGE constant in llm_constants.py
- Update event_progress.py to handle final response events
- Update rich_progress.py to display final response events in cyan bold
- Clean up test fixtures with single clean run example
- Add fixture documentation and update methods
- Update event_summary.py to properly display final responses
Makes the output cleaner by just showing the 'Finished' status without additional details
Makes the output cleaner by just showing the 'Finished' status without additional details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant