Skip to content

Trainer error handling #513

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 3 commits into from
Aug 16, 2025
Merged

Trainer error handling #513

merged 3 commits into from
Aug 16, 2025

Conversation

Mandolaro
Copy link
Collaborator

πŸ“ Summary

  • 1. Improve Error handling

βœ… Checklist

@Mandolaro Mandolaro changed the base branch from main to staging August 15, 2025 21:50
@Mandolaro Mandolaro closed this Aug 15, 2025
@Mandolaro Mandolaro reopened this Aug 15, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @Mandolaro, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a significant new capability for model training by integrating Reinforcement Learning Fine-Tuning (RFT) with Fireworks AI. It adds a dedicated trainer module to manage the iterative training process, including model deployment, snapshot management, and reward-based learning. Concurrently, the tracing system has been upgraded to seamlessly monitor these new trainable models and extract conversational history for training. The changes also involve a cleanup and simplification of existing evaluation APIs, removing older trace-based evaluation methods, and minor refactorings to the custom scorer upload functionality, improving overall system robustness and clarity.

Highlights

  • Reinforcement Learning Fine-Tuning (RFT) Integration: A comprehensive Reinforcement Learning Fine-Tuning (RFT) framework has been introduced, leveraging Fireworks AI, to enable iterative model training and improvement within the platform.
  • New trainer Module: A new trainer module has been added, comprising JudgmentTrainer for orchestrating the RFT process, TrainableModel for managing model deployments and snapshots, and TrainerConfig/ModelConfig for configuration and state persistence.
  • Enhanced Tracing Capabilities: The Tracer component has been enhanced to support wrapping TrainableModel instances, extract message history from traces for training data, and offers a new show_trace_urls option for controlling the visibility of UI links.
  • Streamlined Evaluation APIs: The older run_trace_evaluation methods have been deprecated and removed from the JudgmentClient and run_evaluation.py, simplifying and streamlining the overall evaluation interface.
  • Custom Scorer Upload Refinements: The CLI command and internal API endpoint for uploading custom scorers have been renamed from 'save' to 'upload', along with updates to the corresponding API path, for clearer terminology.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with πŸ‘ and πŸ‘Ž on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces comprehensive error handling throughout the trainer logic by wrapping method calls in try...except blocks and raising a custom JudgmentAPIError. This is a great improvement for robustness and provides more informative errors to the user. The changes are generally well-implemented. I have one suggestion to refactor an exception handling block to be more robust by relying on exception types instead of string matching on the error message.

Copy link
Collaborator

@JCamyre JCamyre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Sick.

@Mandolaro Mandolaro merged commit 88b6509 into staging Aug 16, 2025
8 of 9 checks passed
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