Il s’agit d’un notebook interactif. Vous pouvez l’exécuter en local ou utiliser les liens ci-dessous :
Prérequis
Créez des prompts et itérez dessus avec Weave
Obtenir le jeu de données
base64, ce qui signifie que le LLM peut utiliser les données sans aucun prétraitement.
Créer le pipeline NER
- Une fonction
encode_imagequi prend une image PIL du jeu de données et renvoie une représentation de l’image encodée enbase64, pouvant être transmise au VLM. - Une fonction
extract_named_entities_from_imagequi prend une image et un prompt système, puis renvoie les entités extraites de cette image, telles que décrites par le prompt système.
named_entity_recognation qui :
- Envoie les données d’image au pipeline NER.
- Renvoie un JSON correctement formaté avec les résultats.
@weave.op() pour suivre et tracer automatiquement l’exécution de la fonction dans l’interface utilisateur de W&B.
Chaque fois que named_entity_recognation s’exécute, les résultats complets de la trace sont visibles dans l’interface Weave. Pour afficher les traces, accédez à l’onglet Traces de votre projet Weave.
processing_results.json. Les résultats sont également consultables dans l’interface Weave.

Évaluer le pipeline avec Weave
- Évaluateur programmatique.
- Scorer LLM-as-a-judge.
Évaluateur programmatique
check_for_missing_fields_programatically, prend la sortie du modèle (la sortie de la fonction named_entity_recognition) et identifie les clés manquantes ou vides dans les résultats.
Cette vérification est utile pour repérer les échantillons pour lesquels le modèle n’a extrait aucun champ.
Évaluateur LLM-as-a-judge
check_for_missing_fields_with_llm, utilise un LLM pour effectuer le scoring (plus précisément le modèle gpt-4o d’OpenAI). Comme l’indique le contenu de eval_prompt, check_for_missing_fields_with_llm produit une valeur Boolean. Si tous les champs correspondent aux informations de l’image et que le formatage est correct, l’évaluateur renvoie true. Si un champ est manquant, vide, incorrect ou ne correspond pas, le résultat est false, et l’évaluateur renvoie également un message expliquant le problème.
Lancer l’évaluation
dataset transmis et enregistre les résultats dans l’interface Weave.
Le code suivant lance l’évaluation et applique les deux évaluateurs à chaque sortie du pipeline NER. Les résultats sont visibles dans l’onglet Evals de l’interface Weave.
