-
Notifications
You must be signed in to change notification settings - Fork 3k
Mar25/evals/aoai integration #40630
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
base: main
Are you sure you want to change the base?
Mar25/evals/aoai integration #40630
Conversation
…d/azure-sdk-for-python into mar25/evals/aoai-integration
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This WIP PR integrates AOAI features into the AI SDK by introducing new grader classes, hydrating EvaluationConfiguration objects into grader configurations, and modifying the evaluation workflow to support both built-in evaluators and AOAI graders. Key changes include:
- Adding new AOAI grader classes and related utilities.
- Extending evaluation result metadata with a name map and new error targets.
- Updating the evaluate method to split and process both callable evaluators and AOAI grader instances.
Reviewed Changes
Copilot reviewed 38 out of 38 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/autogen/raiclient/* | Code-generated client and configuration classes updated for both async and sync pipelines. |
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_exceptions.py | Added AOAI_GRADER as a new error target. |
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_evaluate_aoai.py | Introduces AOAI evaluation helper functions and polling logic. |
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_evaluate.py | Modified evaluation workflow to support AOAI grader instances and split evaluators from graders. |
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_aoai/* | New AOAI grader wrapper classes implemented for different grading strategies. |
Other files | Supporting changes to versioning, patching, constants, and mapping to integrate AOAI features. |
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_evaluate_aoai.py
Outdated
Show resolved
Hide resolved
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_evaluate_aoai.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR integrates AOAI evaluation features into the AI SDK by adding new AOAI grader classes and extending the evaluation pipeline to handle them alongside existing evaluators.
- Introduces new classes and methods for AOAI grader integration (e.g. AoaiGrader, LabelGrader, StringCheckGrader, TextSimilarityGrader).
- Modifies the evaluation flow in _evaluate modules to support splitting evaluators and graders and merging AOAI evaluation results.
- Updates exception handling, constants, and mapping utilities to support AOAI grader identifiers.
Reviewed Changes
Copilot reviewed 38 out of 38 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/autogen/raiclient/* | Adds generated asynchronous and synchronous client configuration and client files for evaluation. |
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_exceptions.py | Adds a new AOAI_GRADER enum value for error targeting. |
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/* | Introduces AOAI evaluation flow via new _evaluate_aoai.py and updates the main _evaluate module to split evaluators vs. graders. |
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_eval_mapping.py | Adds mapping for built-in evaluator identifiers including AOAI grader IDs. |
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_constants.py | Adds NAME_MAP property to support mapping evaluator names. |
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_aoai/* | Adds new AOAI grader wrapper classes (LabelGrader, StringCheckGrader, TextSimilarityGrader, AoaiGrader) for asynchronous evaluation. |
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/init.py | Updates module exports to include AOAI grader classes. |
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_evaluate_aoai.py
Outdated
Show resolved
Hide resolved
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_evaluate_aoai.py
Outdated
Show resolved
Hide resolved
API Change CheckAPIView identified API level changes in this PR and created the following API reviews |
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_aoai/aoai_grader.py
Outdated
Show resolved
Hide resolved
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_aoai/aoai_grader.py
Outdated
Show resolved
Hide resolved
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_evaluate_aoai.py
Outdated
Show resolved
Hide resolved
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_aoai/aoai_grader.py
Outdated
Show resolved
Hide resolved
Add a that maps to pass or fail
…oai_grader.py Co-authored-by: Nagkumar Arkalgud <[email protected]>
…d/azure-sdk-for-python into mar25/evals/aoai-integration
API change check APIView has identified API level changes in this PR and created following API reviews. |
WIP PR to integration AOAI features into the AI SDK:
evaluate
method to accept these new classes as part of theevaluators
dictionary, and handle them separately via OAI SDK API calls. The results are then merged back into normal evaluation resultsRemaining TODO: