Passer au contenu principal

Aperçu de l’API


classe CrossProjectRefError

Levée lorsque le calcul de digest côté client rencontre une référence à un autre projet qui ne peut pas être résolue en ID interne.

classe FlushStatus

Informations sur le statut de l’opération de vidage en cours.

classe NoInternalProjectIDError

Levée lorsque le calcul du digest côté client ne peut pas se poursuivre, car aucun ID de projet interne n’a encore été résolu.

classe PendingJobCounts

Nombre de jobs en attente par type.

classe WeaveClient

méthode __init__


propriété num_outstanding_jobs

Renvoie le nombre total de jobs en attente sur l’ensemble des exécuteurs et le serveur. Cette propriété permet de suivre l’avancement des tâches en arrière-plan sans bloquer le thread principal. Retourne :
  • int: Le nombre total de jobs en attente

méthode add_cost

Ajoutez un coût au projet en cours. Exemples :
Arguments :
  • llm_id : L’ID du LLM. p. ex. “gpt-4o-mini-2024-07-18”
  • prompt_token_cost : Le coût par token du prompt. p. ex. .0005
  • completion_token_cost : Le coût par token de complétion. p. ex. .0015
  • effective_date : Valeur par défaut : la date du jour. Objet datetime.datetime.
  • provider_id : Le fournisseur du LLM. Valeur par défaut : “default”. p. ex. “openai”
  • prompt_token_cost_unit : L’unité du coût des tokens du prompt. Valeur par défaut : “USD”. (Actuellement inutilisé, sera utilisé à l’avenir pour spécifier le type d’unité du coût, p. ex. “tokens” ou “time”)
  • completion_token_cost_unit : L’unité du coût des tokens de complétion. Valeur par défaut : “USD”. (Actuellement inutilisé, sera utilisé à l’avenir pour spécifier le type d’unité du coût, p. ex. “tokens” ou “time”) Retourne : Un objet CostCreateRes. Il comporte un champ nommé ids, qui est une liste de tuples. Chaque tuple contient le llm_id et l’ID de l’objet de coût créé.

méthode add_tags

Ajoutez des tags à une version d’objet. Arguments :

méthode clear_wandb_run_context

Efface la surcharge du contexte de run de wandb. Après cet appel, les appels reviendront à utiliser le wandb.run global (s’il est disponible) pour les informations de run_id et d’étape.
  • obj_ref: Référence à la version de l’objet, soit un ObjectRef, soit une chaîne d’URI Weave.
  • tags: Liste des chaînes de tag à ajouter. Exemples :

méthode create_call

Créer, journaliser et empiler un appel sur la pile d’exécution. Arguments :
  • op : L’opération qui produit l’appel, ou le nom d’une opération anonyme.
  • inputs : Les entrées de l’opération.
  • parent : L’appel parent. Si parent n’est pas fourni, le run actuel est utilisé comme parent.
  • display_name : Le nom d’affichage de l’appel. La valeur par défaut est None.
  • attributes : Les attributs de l’appel. La valeur par défaut est None.
  • use_stack : Indique s’il faut empiler l’appel sur la pile d’exécution. La valeur par défaut est True.
  • started_at : Redéfinit l’heure de début de l’appel. Si None, utilise l’heure actuelle. Retourne : L’objet Appel créé.

méthode delete_all_object_versions

Supprime toutes les versions d’un objet. Arguments :
  • object_name : Le nom de l’objet dont toutes les versions doivent être supprimées. Retourne : Le nombre de versions supprimées.

méthode delete_all_op_versions

Supprime toutes les versions d’une op. Arguments :
  • op_name : Le nom de l’op dont les versions doivent être supprimées. Retourne : Le nombre de versions supprimées.

méthode delete_call


méthode delete_calls

Supprimez les appels à l’aide de leurs IDs. La suppression d’un appel supprime également tous ses appels enfants. Arguments :

méthode delete_object_version


méthode delete_object_versions

Supprime des versions spécifiques d’un objet.
  • call_ids : Une liste d’ID d’appel à supprimer. Ex. : [“2F0193e107-8fcf-7630-b576-977cc3062e2e”] Arguments :
  • object_name : Le nom de l’objet dont les versions doivent être supprimées.
  • digests : Liste des digests à supprimer. Peut inclure des alias comme “latest” ou “v0”. Retourne : Le nombre de versions supprimées.

méthode delete_op_version


méthode fail_call

Signale l’échec d’un appel avec une exception. Il s’agit d’une méthode utilitaire pour finish_call.

méthode finish

Vide toutes les tâches en arrière-plan afin de s’assurer qu’elles sont traitées. Cette méthode bloque jusqu’à ce que tous les jobs actuellement en file d’attente soient traités, en affichant une barre de progression pour indiquer le statut des tâches en attente. Elle permet le traitement en parallèle pendant l’exécution du thread principal et peut améliorer les performances lorsque le code utilisateur se termine avant que les données n’aient été envoyées au serveur. Arguments :

méthode finish_call

Finaliser un appel et enregistrer ses résultats. Toutes les valeurs présentes dans call.summary sont fusionnées de manière récursive avec les statistiques récapitulatives calculées (par ex. les nombres d’utilisations et de statuts) avant d’être écrites dans la base de données.

méthode flush

Vide les tâches asynchrones en arrière-plan ; peut être appelée sans risque plusieurs fois.

méthode get


méthode get_aliases

Obtenir les alias d’une version d’objet.
  • use_progress_bar : Indique s’il faut afficher une barre de progression pendant le vidage. Définissez-la sur False dans les environnements où une barre de progression ne s’afficherait pas correctement (par ex., les environnements CI).
  • callback : Fonction de rappel facultative qui reçoit des mises à jour de statut. Remplace use_progress_bar. Arguments :
  • obj_ref : Référence à la version de l’objet, soit un ObjectRef, soit une chaîne d’URI Weave. Retourne : Liste de chaînes d’alias. Inclut l’alias virtuel “latest” si la version de l’objet est la plus récente.

méthode get_call

Obtenir un appel unique par son ID. Arguments :
  • call_id : L’ID de l’appel à récupérer.
  • include_costs : Si true, les informations de coût sont incluses dans summary.weave
  • include_feedback : Si true, les informations de feedback sont incluses dans summary.weave.feedback
  • columns : Liste des colonnes à inclure dans la réponse. Si None, toutes les colonnes sont incluses. Spécifier moins de colonnes peut améliorer les performances. Certaines colonnes sont toujours incluses id, project_id, trace_id, op_name, started_at Retourne : Un objet appel.

méthode get_calls

Récupère une liste d’appels tracés (opérations) pour ce projet. Cette méthode fournit une interface puissante et flexible pour interroger les données de trace. Elle prend en charge la pagination, le filtrage, le tri, la projection de champs et les métadonnées de scoring, et peut servir à créer des interfaces utilisateur de trace personnalisées ou des outils d’analyse. Conseil de performance : spécifiez columns et utilisez filter ou query pour réduire la taille des résultats. Arguments :
  • filter: Filtre de haut niveau permettant d’affiner les résultats à partir de champs comme op_name, parent_ids, etc.
  • limit: Nombre maximal d’appels à renvoyer.
  • offset: Nombre d’appels à ignorer avant de renvoyer les résultats (utilisé pour la pagination).
  • sort_by: Liste des champs selon lesquels trier les résultats (par exemple, started_at desc).
  • query: Expression de type Mongo pour un filtrage avancé. Tous les opérateurs Mongo ne sont pas pris en charge.
  • include_costs: Si True, inclut les informations de token/coût dans summary.weave.
  • include_feedback: Si True, inclut les retours dans summary.weave.feedback.
  • include_storage_size: Si True, inclut la taille de stockage d’un appel.
  • include_total_storage_size: Si True, inclut la taille de stockage totale d’une trace.
  • columns: Liste des champs à renvoyer pour chaque appel. Réduire cette liste peut considérablement améliorer les performances. (Certains champs comme id, trace_id, op_name et started_at sont toujours inclus.)
  • scored_by: Filtre sur un ou plusieurs évaluateurs (nom ou URI de référence). Plusieurs évaluateurs sont combinés avec un ET.
  • page_size: Nombre d’appels récupérés par page. Ajustez cette valeur pour optimiser les performances dans les requêtes volumineuses.
Retourne :
  • CallsIter: Un itérateur sur des objets Call. Prend en charge le découpage, l’itération et .to_pandas().
Exemple :

méthode get_evaluation

Récupérer un objet Evaluation spécifique à partir de son URI. Les URI d’évaluation suivent généralement le format : weave:///entity/project/object/Evaluation:version Vous pouvez également obtenir l’évaluation par son nom « convivial » : get_evaluation(“Evaluation:v1”) Arguments :
  • uri (str) : L’identifiant de ressource unique de l’évaluation à récupérer.
Retourne :
  • Evaluation : L’objet Evaluation correspondant à l’URI fourni.
Exceptions levées :
  • TypeError : Si l’objet situé à l’URI n’est pas une instance de Evaluation.
  • ValueError : Si l’URI n’est pas valide ou si l’objet est introuvable.
Exemples :

méthode get_evaluations

Récupère tous les objets Évaluation du projet actuel. Retourne :
  • list[Evaluation]: Une liste de tous les objets Évaluation du projet actuel. Une liste vide si aucune évaluation n’est trouvée ou si toutes les conversions échouent.
Exemples :

méthode get_feedback

Interroger le projet pour obtenir des retours. Exemples :
Arguments :
  • query: Une expression de requête au format Mongo. Pour plus de simplicité, accepte également une chaîne UUID de feedback.
  • reaction: Pour plus de simplicité, permet de filtrer par un emoji de réaction spécifique.
  • offset: Le décalage à partir duquel commencer à récupérer les objets de feedback.
  • limit: Le nombre maximal d’objets de feedback à récupérer. Retourne : Un objet FeedbackQuery.

méthode get_tags

Obtenir les tags d’une version d’objet. Arguments :
  • obj_ref : Référence à la version d’objet, soit un ObjectRef, soit une chaîne d’URI weave ///. Retourne : Liste de chaînes de caractères de tag. Renvoie une liste vide si la version d’objet n’a aucun tag.

méthode get_tags_and_aliases

Obtenir les tags et les alias d’une version d’objet en un appel unique. Arguments :
  • obj_ref : Référence à la version de l’objet, soit un ObjectRef, soit une chaîne d’URI weave:///. Retourne : Un tuple (tags, alias). Chacun correspond à une liste de chaînes. Renvoie des listes vides si la version de l’objet n’a ni tags ni alias.

méthode list_aliases

Listez tous les alias distincts du projet. Retourne : Liste de tous les alias du projet sous forme de chaînes.

méthode list_tags

Listez tous les tags distincts du projet. Retourne : Liste de toutes les chaînes de caractères des tags du projet.

méthode purge_costs

Supprime les coûts du projet actuel. Exemples :
Arguments :

méthode query_costs

Interroge le projet pour récupérer les coûts.
  • ids : les ID de coûts à purger. Peut s’agir d’un seul ID ou d’une liste d’ID. Exemples :
Arguments :
  • query : Une expression de requête de type Mongo. Pour plus de commodité, accepte également un UUID de coût sous forme de chaîne.
  • llm_ids : Pour plus de commodité, permet de filtrer sur un ensemble de llm_ids.
  • offset : Le décalage à partir duquel commencer à récupérer les objets de coût.
  • limit : Le nombre maximal d’objets de coût à récupérer. Retourne : Un objet CostQuery.

méthode remove_aliases

Supprimez un ou plusieurs alias d’un objet. Arguments :

méthode remove_tags

Supprimez les tags d’une version d’objet.
  • obj_ref : Référence à l’objet, soit un ObjectRef, soit une chaîne d’URI Weave (le digest n’est pas utilisé, car les alias ont une portée limitée à l’objet).
  • alias : Nom d’alias ou liste de noms d’alias à supprimer. Arguments :

méthode save

N’appelez pas directement cette méthode ; utilisez plutôt weave.publish().
  • obj_ref : Référence vers la version de l’objet, soit un ObjectRef, soit une chaîne d’URI weave ///.
  • tags : Liste des chaînes de caractères des tags à supprimer. Arguments :
  • val : L’objet à enregistrer.
  • name : Le nom sous lequel enregistrer l’objet.
  • branch : La branche sous laquelle enregistrer l’objet. La valeur par défaut est “latest”. Retourne : Une version désérialisée de l’objet enregistré.

méthode set_aliases

Définissez un ou plusieurs alias pour une version d’objet. Arguments :

méthode set_wandb_run_context

Surcharge le run_id wandb et l’étape pour les appels créés par ce client. Cela vous permet d’associer des appels Weave à un run wandb spécifique qui n’est pas rattaché au symbole global wandb.run.
  • obj_ref: Référence vers la version de l’objet, soit un ObjectRef, soit une chaîne d’URI weave ///.
  • alias: Un nom d’alias ou une liste de noms d’alias à définir (par exemple, “production”). Arguments :
  • run_id: L’ID du run (sans le préfixe entité/projet). Le client ajoutera automatiquement le préfixe entité/projet.
  • step: Le numéro d’étape à utiliser pour les appels. Si None, l’étape ne sera pas définie. Exemples :

fonction get_obj_name


fonction get_parallelism_settings


fonction map_to_refs



fonction redact_sensitive_keys


fonction sanitize_object_name