Skip to content

Simplified Tool Call Accuracy V1 #40710

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ghyadav
Copy link
Contributor

@ghyadav ghyadav commented Apr 24, 2025

Description

Please add an informative description that covers that changes made by the pull request and link all relevant issues.

If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.

All SDK Contribution checklist:

  • The pull request does not introduce [breaking changes]
  • CHANGELOG is updated for new features, bug fixes or other significant changes.
  • I have read the contribution guidelines.

General Guidelines and Best Practices

  • Title of the pull request is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

  • Pull request includes test coverage for the included changes.

@Copilot Copilot AI review requested due to automatic review settings April 24, 2025 16:33
@ghyadav ghyadav requested a review from a team as a code owner April 24, 2025 16:33
@github-actions github-actions bot added the Evaluation Issues related to the client library for Azure AI Evaluation label Apr 24, 2025
Copy link
Contributor

@Copilot Copilot AI left a 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 introduces a simplified mechanism for predicting and evaluating tool call accuracy by adding a new tool call predictor module and a corresponding evaluator.

  • Added the predict_tools function in _tool_call_predictor.py to generate ground truth based on a prompt model.
  • Exposed predict_tools via an init.py file for easier consumption.
  • Included a new evaluator in _tool_accuracy_new.py that implements scoring logic for tool calls and tool results.

Reviewed Changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.

File Description
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluators/_tool_call_accuracy/_tool_calls_predictor/_tool_call_predictor.py Implements the tool call predictor using prompt models (contains duplicate imports that could lead to ambiguity).
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluators/_tool_call_accuracy/_tool_calls_predictor/init.py Exposes the predict_tools function for the caller.
sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluators/_tool_call_accuracy/_tool_call_accuracy_new.py Introduces new evaluation logic for tool call accuracy including extraction and match scoring.
Files not reviewed (1)
  • sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluators/_tool_call_accuracy/_tool_calls_predictor/tool_call_predictor.prompty: Language not supported
Comments suppressed due to low confidence (2)

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluators/_tool_call_accuracy/_tool_calls_predictor/_tool_call_predictor.py:29

  • Duplicate import of AsyncPrompty detected (also imported on line 10). Consider consolidating the imports to a single source to avoid ambiguity.
from promptflow.core import AsyncPrompty

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluators/_tool_call_accuracy/_tool_call_accuracy_new.py:151

  • The function 'generate_ground_truth' is referenced but not defined or imported; please add its definition or import it.
ground_truth = generate_ground_truth(query, response, tool_definitions)

@azure-sdk
Copy link
Collaborator

API change check

API changes are not detected in this pull request.

@singankit
Copy link
Contributor

@ghyadav Can you please share context on requirements for a new tool call accuracy evaluator ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Evaluation Issues related to the client library for Azure AI Evaluation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants