Skip to content

Progress Reporting Feature #18

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

Merged
merged 104 commits into from
Feb 19, 2025
Merged

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
@evalstate evalstate force-pushed the feat/progress-reporting branch from f8863c5 to e636fd6 Compare February 10, 2025 18:35
@saqadri
Copy link
Collaborator

saqadri commented Feb 19, 2025

@evalstate thank you for this incredible change. It's superb, and I will merge it in and we can fix-forward any minor issues from there!

@saqadri saqadri merged commit 4b6d8c9 into lastmile-ai:main Feb 19, 2025
4 checks passed
@evalstate evalstate deleted the feat/progress-reporting branch April 22, 2025 21:03
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.

2 participants