Skip to content

Conversation

mrDzurb
Copy link
Member

@mrDzurb mrDzurb commented Sep 2, 2024

Description

Added the EvaluationServiceConfig class along with supporting structures to manage evaluation service configurations. This includes methods to merge evaluation inference parameters, retrieve model parameters based on framework and version, and filter shapes based on provided criteria. The implementation ensures flexibility and scalability for various frameworks and tasks.

Dependency

This PR has a dependency on the Introduce Global Configuration for LLM Evaluation

Tests

image

…res to manage evaluation service configurations.
@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Sep 2, 2024
Copy link

github-actions bot commented Sep 2, 2024

⚠️ This PR changed pyproject.toml file. ⚠️

  • PR Creator must update 📃 THIRD_PARTY_LICENSES.txt, if any 📚 library added/removed in pyproject.toml.
  • PR Approver must confirm 📃 THIRD_PARTY_LICENSES.txt updated, if any 📚 library added/removed in pyproject.toml.

Copy link

github-actions bot commented Sep 5, 2024

⚠️ This PR changed pyproject.toml file. ⚠️

  • PR Creator must update 📃 THIRD_PARTY_LICENSES.txt, if any 📚 library added/removed in pyproject.toml.
  • PR Approver must confirm 📃 THIRD_PARTY_LICENSES.txt updated, if any 📚 library added/removed in pyproject.toml.

@mrDzurb mrDzurb changed the title Added the EvaluationServiceConfig class along with supporting structures to manage evaluation service configurations. Added the EvaluationServiceConfig class to manage evaluation service configurations. Sep 5, 2024
@mrDzurb mrDzurb changed the title Added the EvaluationServiceConfig class to manage evaluation service configurations. [AQUA][Evaluate] Added the EvaluationServiceConfig class to manage evaluation service configurations. Sep 6, 2024
and evaluation_target not in shape.filter.evaluation_target
):
continue
results.append(shape)
Copy link
Member

Choose a reason for hiding this comment

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

Can this be -

key = evaluation_container or evaluation_target
if key in shape.filter.evaluation_container:
    results.append(shape)

Copy link
Member Author

Choose a reason for hiding this comment

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

Done. Having one key would not work, however i simplified a logic a bit.

class InferenceParams(Serializable):
"""Contains inference-related parameters with defaults."""

inference_rps: Optional[int] = INFERENCE_RPS
Copy link
Member

Choose a reason for hiding this comment

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

Can we move these defaults to the config json? Maybe they are already part of the config json and these initial values get overwritten. Not clear from the code, hence checking.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, let me do this. These defaults are placed in the config as well.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done.

Copy link

github-actions bot commented Sep 6, 2024

⚠️ This PR changed pyproject.toml file. ⚠️

  • PR Creator must update 📃 THIRD_PARTY_LICENSES.txt, if any 📚 library added/removed in pyproject.toml.
  • PR Approver must confirm 📃 THIRD_PARTY_LICENSES.txt updated, if any 📚 library added/removed in pyproject.toml.

Copy link

github-actions bot commented Sep 6, 2024

⚠️ This PR changed pyproject.toml file. ⚠️

  • PR Creator must update 📃 THIRD_PARTY_LICENSES.txt, if any 📚 library added/removed in pyproject.toml.
  • PR Approver must confirm 📃 THIRD_PARTY_LICENSES.txt updated, if any 📚 library added/removed in pyproject.toml.

Copy link

github-actions bot commented Sep 6, 2024

⚠️ This PR changed pyproject.toml file. ⚠️

  • PR Creator must update 📃 THIRD_PARTY_LICENSES.txt, if any 📚 library added/removed in pyproject.toml.
  • PR Approver must confirm 📃 THIRD_PARTY_LICENSES.txt updated, if any 📚 library added/removed in pyproject.toml.

@mrDzurb mrDzurb merged commit 75fb959 into feature/aqua-v1.0.4 Sep 9, 2024
3 checks passed
"scikit-learn>=1.0",
"tabulate>=0.8.9",
"tqdm>=4.59.0",
"pydantic>=2.6.3",
Copy link
Member

Choose a reason for hiding this comment

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

License needs to be added to THIRD_PARTY_LICENSES.txt?

Copy link
Member Author

Choose a reason for hiding this comment

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

Good point, will add.

def to_json(
self,
uri: str = None,
encoder: callable = json.JSONEncoder,
Copy link
Member

Choose a reason for hiding this comment

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

NIT: Seems to me Pydantic suggests using qmodel_dump_json()` with custom serializers.

Copy link
Member Author

Choose a reason for hiding this comment

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

Wasn't aware of this, will take a look. Will play with this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants