Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Shipped: vertexai-openeval-adapter — EvalPort import/export for vertexai.evaluation results

Abierto
#7,078 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
10/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
python

Línea de trabajo

Este issue describe el paquete externo vertexai-openeval-adapter, no un cambio en python-aiplatform. Empieza por el README enlazado del adaptador y la ruta del paquete para comprender sus correspondencias de Vertex AI y EvalPort. No existe ningún punto de entrada en el repositorio, objetivo de prueba ni criterio de aceptación que un colaborador pueda completar.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

api: vertex-ai

Built and shipped a standalone adapter that converts vertexai.evaluation metrics and EvalResults to and from EvalPort (Apache 2.0) — an open interchange format for portable LLM evaluation datasets (test cases, graders, suites, and result sets as plain JSON). It's already integrated with UK AISI's Inspect AI (PR merged) and has standalone adapter packages for a dozen+ eval/observability frameworks (Ragas, LangSmith, MLflow, Braintrust, DeepEval-adjacent tools aside — AutoGen, CrewAI, Langfuse, Evidently, TruLens, Opik, Giskard, Argilla), so a Vertex AI Gen AI Evaluation Service adapter puts it in company with the rest of that ecosystem.

vertexai-openeval-adapter

import pandas as pd
from vertexai.evaluation import EvalTask, PointwiseMetric, PointwiseMetricPromptTemplate
from vertexai_openeval_adapter import to_openeval, from_openeval, eval_result_to_openeval

dataset = pd.DataFrame({"prompt": ["What is the capital of France?"], "reference": ["Paris"]})
suite = to_openeval(dataset, input_column="prompt", expected_output_column="reference", suite_id="geo_quiz")

from openeval.validate import validate_suite
assert validate_suite(suite).valid

quality_metric = PointwiseMetric(
    metric="quality",
    metric_prompt_template=PointwiseMetricPromptTemplate(
        criteria="Is the response factually correct?", metric_definition="Factual accuracy"
    ),
)
eval_task = EvalTask(dataset=dataset, metrics=[quality_metric])
result = eval_task.evaluate()

result_set = eval_result_to_openeval(result, suite_id="geo_quiz", run_id="run-1", started_at="2026-08-16T00:00:00Z")
assert validate_result_set(result_set).valid

The metric-mapping is the part I'd flag as genuinely interesting rather than routine: PointwiseMetric maps to EvalPort's llm_judge grader with the actual rendered prompt template preserved verbatim in the grader's params.prompt_template (read directly from PointwiseMetricPromptTemplate's own rendering, not reconstructed or guessed) — so a suite exported from Vertex AI carries the real judge instructions, not a placeholder. CustomMetric and PairwiseMetric are exported as custom-typed graders (execution-only, not reconstructed on import) since both compute client-side per Vertex's own docstrings and have no portable representation. Raw string metric names ("rouge_1", "bleu", etc.) are explicitly rejected with a TypeError rather than silently guessed at, since their scoring logic isn't introspectable from the SDK's own objects. The adapter reads EvalResult.metrics_table using Vertex's own column convention (f"{metric_name}/score"), verified directly against vertexai/evaluation/_evaluation.py source rather than assumed.

Tested against the real google-cloud-aiplatform[evaluation] package (not mocks) and the real openeval.validate.validate_suite()/validate_result_set(). Full README with the complete mapping table and round-trip notes: https://github.com/adhabnr-ux/evalport/tree/main/adapters/vertexai-openeval-adapter#readme

No action needed here — this lives entirely as an external package (pip install vertexai-openeval-adapter), zero footprint on google-cloud-aiplatform itself. Flagging mainly so it's discoverable; happy to adjust the mapping if the evaluation module's public API shifts.

Lenguaje dominante
Python
Estrellas
907
Forks
467
Merge medio
1 d 8 h
PR fusionados (30 d)
40

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de googleapis/python-aiplatform

Todos los issues de googleapis/python-aiplatform

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.