print(“\nPARTE 5 ── Conjuntos de datos y experimentos ————————————–“) DATASET = “tutorial-ciudades-capitales” langfuse.create_dataset(name=DATASET, descripción=”Parámetro de control de calidad de las ciudades capitales”) _items = [
(“What is the capital of France?”, “Paris”),
(“What is the capital of Germany?”, “Berlin”),
(“What is the capital of Japan?”, “Tokyo”),
(“What is the capital of Italy?”, “Rome”),
]
para i, (q, a) en enumerar(_items): langfuse.create_dataset_item(dataset_name=DATASET, id=f”cap-{i}”, input={“question”: q}, expected_output=a) def capital_task(*, item, **kwargs): pregunta = item.input[“question”] si es instancia (item.input, dict) sino item.input devuelve llm_chat ([{“role”: “user”, “content”: question}]nombre=”respuesta-experimento”) def exactitud(*, entrada, salida, salida_esperada, metadatos=None, **kwargs): hit = bool(salida_esperada) y salida_esperada.lower() en (salida o “”).lower() return Evaluación(nombre=”precisión”, valor=1.0 si el resultado es 0.0, comentario=”coincidencia exacta contiene verificación”) def concisión(*, entrada, salida, **kwargs): return Evaluación(nombre=”char_length”, valor=float(len(salida o “”))) def mean_accuracy(*, item_results, **kwargs): vals = [e.value for r in item_results for e in r.evaluations if e.name == “accuracy”]
promedio = suma(vals) / len(vals) si vals else es 0.0 return Evaluación(nombre=”mean_accuracy”, valor=promedio, comentario=f”{promedio:.0%} correcto”) conjunto de datos = langfuse.get_dataset(DATASET) resultado = dataset.run_experiment( nombre=”capitals-baseline”, descripción=”Ejecución de línea base desde el tutorial de Colab”, tarea=capital_task, evaluadores=[accuracy, conciseness]ejecutar_evaluadores=[mean_accuracy]max_concurrency=4, ) imprimir(resultado.formato())
(“What is the capital of France?”, “Paris”),
(“What is the capital of Germany?”, “Berlin”),
(“What is the capital of Japan?”, “Tokyo”),
(“What is the capital of Italy?”, “Rome”),
]
para i, (q, a) en enumerar(_items): langfuse.create_dataset_item(dataset_name=DATASET, id=f”cap-{i}”, input={“question”: q}, expected_output=a) def capital_task(*, item, **kwargs): pregunta = item.input[“question”] si es instancia (item.input, dict) sino item.input devuelve llm_chat ([{“role”: “user”, “content”: question}]nombre=”respuesta-experimento”) def exactitud(*, entrada, salida, salida_esperada, metadatos=None, **kwargs): hit = bool(salida_esperada) y salida_esperada.lower() en (salida o “”).lower() return Evaluación(nombre=”precisión”, valor=1.0 si el resultado es 0.0, comentario=”coincidencia exacta contiene verificación”) def concisión(*, entrada, salida, **kwargs): return Evaluación(nombre=”char_length”, valor=float(len(salida o “”))) def mean_accuracy(*, item_results, **kwargs): vals = [e.value for r in item_results for e in r.evaluations if e.name == “accuracy”]
promedio = suma(vals) / len(vals) si vals else es 0.0 return Evaluación(nombre=”mean_accuracy”, valor=promedio, comentario=f”{promedio:.0%} correcto”) conjunto de datos = langfuse.get_dataset(DATASET) resultado = dataset.run_experiment( nombre=”capitals-baseline”, descripción=”Ejecución de línea base desde el tutorial de Colab”, tarea=capital_task, evaluadores=[accuracy, conciseness]ejecutar_evaluadores=[mean_accuracy]max_concurrency=4, ) imprimir(resultado.formato())