Passer au contenu principal
Vous pouvez tracer les appels de Vercel AI SDK dans Weave à l’aide d’OpenTelemetry (OTel). Le Vercel AI SDK est une boîte à outils TypeScript permettant de créer des applications d’IA, avec prise en charge de frameworks comme Next.js, Nuxt, SvelteKit et d’autres. Il inclut une prise en charge native d’OpenTelemetry via son option experimental_telemetry. Ce guide vous montre comment configurer OTel pour envoyer des traces du Vercel AI SDK vers Weave afin que vous puissiez observer et déboguer vos appels de l’AI SDK dans l’interface Weave. Vous pouvez utiliser l’AI SDK avec Next.js ou comme application Node.js autonome. Ce guide s’adresse aux développeurs qui créent des applications d’IA avec le Vercel AI SDK et qui souhaitent ajouter le traçage à une application existante. Pour plus d’informations sur le traçage OTel dans Weave, voir Send OTel traces to Weave.

Prérequis

Avant de commencer, effectuez la configuration suivante. Les exemples Next.js et Node.js de ce guide nécessitent tous deux les mêmes dépendances :
  1. Installez les bibliothèques Vercel et OTel suivantes :
  2. Définissez les variables d’environnement suivantes :
    Vous pouvez obtenir votre clé API W&B dans les Paramètres utilisateur.

Configurer le traçage OTel pour Next.js

Cette section explique comment configurer Weave dans une application Next.js. L’exemple ne contient pas d’application complète, seulement la configuration de l’instrumentation et la façon d’invoquer l’instrumentation sur une fonction du Vercel AI SDK (en l’occurrence, un appel à OpenAI).

Configurer l’instrumentation

Les applications Next.js utilisent un fichier instrumentation.ts pour configurer OTel. Ce fichier s’exécute une seule fois au démarrage du serveur et configure le fournisseur de traceurs utilisé par l’AI SDK. Pour intégrer Weave à la fonctionnalité OTel de Vercel, créez un fichier instrumentation.ts à la racine de votre projet et ajoutez-y le code suivant, puis mettez à jour la fonction resourceFromAttributes() avec le nom de votre équipe et celui de votre projet :
instrumentation.ts
Cela crée un exporter OTLP configuré pour envoyer des données de trace vers le point de terminaison OTel de Weave, avec authentification via votre clé API W&B.

Configurer la télémétrie sur une fonction

Après avoir ajouté l’instrumentation, utilisez l’option experimental_telemetry de Vercel sur n’importe quel appel de fonction de l’AI SDK pour émettre des spans OTel :
route.ts
Tous les appels generateText avec la télémétrie activée génèrent des spans OTel exportés vers Weave. Votre application Next.js est désormais configurée pour envoyer les traces du Vercel AI SDK vers Weave.

Configurer le traçage OTel pour Node.js

Si vous n’utilisez pas Next.js, vous pouvez configurer OTel directement dans une application Node.js autonome. Pour les applications Node.js autonomes, configurez le fournisseur de traceurs au début de votre fichier d’entrée, avant tout appel à l’AI SDK, afin que les appels suivants à l’AI SDK soient capturés. Une fois les prérequis remplis, vous pouvez exécuter l’exemple suivant et générer des spans sans configuration supplémentaire.
test-app.ts
BatchSpanProcessor vide les spans de manière asynchrone. Dans les processus de courte durée, comme les scripts autonomes, les fonctions serverless ou les outils CLI, appelez provider.shutdown() avant la fin du processus afin de vous assurer que tous les spans sont envoyés vers Weave. Pour les serveurs de longue durée d’exécution (comme un serveur de dév Next.js démarré via instrumentation.ts), ce n’est pas nécessaire.