LangSmith: Meilleure façon de tester les LLMs et applications AI
Published on
Si vous êtes dans le monde des Language Learning Models (LLMs), vous avez probablement entendu parler de LangSmith. Mais savez-vous comment ça peut transformer vos applications LLM de bonnes à excellentes ? Cet article est votre guide complet pour comprendre LangSmith, une plateforme qui offre une multitude de fonctionnalités pour le débogage, le test, l'évaluation et la surveillance des applications LLM.
Que vous soyez un développeur expérimenté ou un débutant dans le domaine des LLMs, LangSmith a quelque chose pour tout le monde. De son intégration fluide avec LangChain à son Cookbook robuste rempli d'exemples concrets, LangSmith est un changeur de jeu. Plongeons-y !
Qu'est-ce que LangSmith ?
LangSmith est une plateforme de pointe conçue pour élever vos applications LLM à un niveau de qualité de production. Mais que cela signifie-t-il ? En termes simples, LangSmith est votre boîte à outils pour construire, tester et déployer des agents et des chaînes intelligents basés sur n'importe quel framework LLM. Il est développé par LangChain, la même entreprise derrière le framework LangChain open-source, et s'intègre parfaitement avec celui-ci.
Fonctionnalités clés de LangSmith
-
Débogage et test: LangSmith ne concerne pas seulement la construction ; il s'agit de construire correctement. La plateforme offre des tutoriels interactifs et un guide de démarrage rapide pour vous mettre en route. Que vous codiez en Python, TypeScript ou dans n'importe quel autre langage, LangSmith vous couvre.
-
Configuration de l'API et de l'environnement: Avant de commencer à construire, vous devrez configurer votre environnement. LangSmith facilite cela avec son accès à la clé API et ses étapes de configuration d'environnement simples. Par exemple, vous pouvez installer la dernière version de LangChain pour votre environnement cible en utilisant des commandes simples comme
pip install -U langchain
. -
Capacités de traçabilité: Une des fonctionnalités phares de LangSmith est sa capacité de tracer le code. Cela est crucial pour le débogage et l'amélioration de vos applications. Vous pouvez personnaliser les noms d'exécution, tracer les appels imbriqués et bien plus encore.
Pourquoi choisir LangSmith ?
-
Facilité d'utilisation: LangSmith est conçu en pensant à la convivialité de l'utilisateur. La plateforme offre une gamme de tutoriels et de documentation pour vous aider à démarrer.
-
Polyvalence: Que vous travailliez sur un petit projet ou une application à grande échelle, LangSmith est suffisamment polyvalent pour répondre à vos besoins.
-
Support communautaire: LangSmith dispose d'une communauté solide de développeurs et d'experts prêts à vous aider. Vous pouvez rejoindre les forums communautaires ou même contribuer au Cookbook avec vos propres exemples.
À présent, vous devriez avoir une bonne compréhension de ce qu'est LangSmith et pourquoi c'est un atout précieux pour toute personne travaillant avec des LLMs. Dans la prochaine section, nous approfondirons la façon de configurer LangSmith et de tirer le meilleur parti de ses fonctionnalités.
Configuration de LangSmith
La configuration de LangSmith est un jeu d'enfant, grâce à son interface conviviale et à ses étapes bien documentées. Mais avant de plonger, vous aurez besoin d'une clé API pour y accéder. Ne vous inquiétez pas, l'obtenir est aussi facile que de manger une tarte.
Étapes pour obtenir votre clé API
-
Créer un compte LangSmith: Rendez-vous sur le site de LangSmith et créez un compte. Vous pouvez utiliser différentes méthodes de connexion prises en charge.
-
Accéder aux Paramètres: Une fois votre compte configuré, rendez-vous sur la page des paramètres. Ici, vous trouverez l'option pour créer une clé API.
-
Générer une clé API: Cliquez sur le bouton "Générer une clé API", et voilà ! Vous avez votre clé API.
Configuration de votre environnement
Après avoir obtenu votre clé API, l'étape suivante consiste à configurer votre environnement d'exécution. LangSmith vous permet de le faire à l'aide de simples commandes shell. Voici comment :
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT=https://api.smith.langchain.com
export LANGCHAIN_API_KEY=<votre-clé-api>
Remplacez <votre-clé-api>
par la clé API que vous avez générée précédemment. Ces commandes configurent vos variables d'environnement, ce qui facilite l'interaction avec LangSmith.
LangSmith Cookbook : Exemples concrets de Lang Smith
Le Cookbook de LangSmith n'est pas seulement une compilation de morceaux de code ; c'est une mine d'or d'exemples pratiques conçus pour vous inspirer et vous aider dans vos projets. Que vous soyez débutant ou expert dans le domaine des Language Learning Models (LLMs), le Cookbook offre une multitude d'informations pratiques sur les schémas courants et les cas d'utilisation réels. Alors, plongeons plus en profondeur dans ce que le Cookbook de LangSmith a à offrir.
Qu'est-ce que le Cookbook de LangSmith ?
Le Cookbook de LangSmith est un référentiel qui sert de guide pratique pour maîtriser LangSmith. Il va au-delà des bases couvertes dans la documentation standard, en explorant les schémas courants et les scénarios réels. Ces recettes vous permettent de déboguer, d'évaluer, de tester et d'améliorer en continu vos applications LLM.
Votre avis compte
Le Cookbook est une ressource animée par la communauté. Si vous avez des informations à partager ou si vous estimez qu'un cas d'utilisation spécifique a été négligé, vous êtes encouragé à soulever une question sur GitHub ou à contacter l'équipe de développement de LangChain. Votre expertise façonne cette communauté, faisant du Cookbook une ressource dynamique et en constante évolution.
Exemples clés du Cookbook
Traçabilité de votre code
-
Traçabilité sans LangChain (opens in a new tab) : Apprenez à traquer les applications indépendamment de LangChain en utilisant le décorateur
@traceable
du SDK Python. -
API REST (opens in a new tab) : Familiarisez-vous avec les fonctionnalités de l'API REST pour le suivi des exécutions de modèles LLM et de chat, et comprenez les exécutions imbriquées.
-
Personnalisation des noms des exécutions (opens in a new tab): Améliorez la clarté de l'interface utilisateur en attribuant des noms spécifiques aux exécutions de la chaîne LangSmith. Cela inclut des exemples pour les chaînes, les fonctions lambda et les agents.
-
Traçage des appels imbriqués dans les outils (opens in a new tab): Apprenez comment inclure tous les sous-appels imbriqués des outils dans une seule trace.
-
Affichage des liens de trace (opens in a new tab): Accélérez votre développement en ajoutant des liens de trace à votre application. Cela vous permet de voir rapidement son flux d'exécution, d'ajouter des commentaires à une exécution ou d'ajouter l'exécution à un ensemble de données.
Hub LangChain
-
Chaine de Question-Réponse par Récupération (opens in a new tab): Utilisez des prompts du Hub dans un pipeline RAG d'exemple.
-
Versionnement des prompts (opens in a new tab): Assurez la stabilité du déploiement en sélectionnant des versions spécifiques du prompt.
-
Gabarit de prompt exécutable (opens in a new tab): Enregistrez des prompts dans le Hub à partir de l'aire de jeux et intégrez-les dans des chaînes exécutables.
Tests et évaluation
-
Correction du système de Questions-Réponses (opens in a new tab): Évaluez votre pipeline de questions-réponses augmentées par la récupération de bout en bout sur un ensemble de données.
-
Évaluation des systèmes de questions-réponses avec des données dynamiques (opens in a new tab): Utilisez des évaluateurs qui désignent les libellés pour gérer des données qui évoluent avec le temps.
-
Évaluation RAG en utilisant des sources fixes (opens in a new tab): Évaluez le composant de réponse d'un pipeline RAG en fournissant des documents récupérés dans l'ensemble de données.
-
Comparaison des évaluations (opens in a new tab): Utilisez le score de préférence étiqueté pour contraster les versions du système et déterminer les sorties les plus optimales.
-
LangSmith dans Pytest (opens in a new tab): Évaluez les performances de votre chaîne dans pytest et vérifiez que les métriques agrégées répondent aux critères de qualité.
-
Tests unitaires avec Pytest (opens in a new tab): Écrivez des tests unitaires individuels et consignez les assertions comme commentaires.
-
Évaluation des exécutions existantes (opens in a new tab): Ajoutez des commentaires assistés par IA et des métriques d'évaluation aux traces d'exécution existantes.
-
Nommer des projets de tests (opens in a new tab): Nommez manuellement vos tests avec
run_on_dataset(..., project_name='my-project-name')
. -
Comment Télécharger des Commentaires et des Exemples (opens in a new tab): Exportez les prédictions, les résultats d'évaluation et autres informations à ajouter à vos rapports de manière programmatique.
Exemples de tests TypeScript / JavaScript
-
Évaluation des chaînes JS en Python (opens in a new tab): Évaluez les chaînes JS à l'aide d'évaluateurs Python personnalisés.
-
Considérer les assertions comme des retours d'information (opens in a new tab): Transformez les assertions de test CI en retours d'information LangSmith.
Utilisation des retours d'information
-
Application de discussion Streamlit (opens in a new tab): Une application de discussion minimale qui capture les retours d'utilisateur et partage des traces de l'application de discussion.
-
Application de discussion Next.js (opens in a new tab): Une application de discussion mais pour la version Next.js.
-
Retours d'information algorithmiques en temps réel (opens in a new tab): Générez des métriques de rétroaction pour chaque exécution à l'aide d'une fonction de retour d'appel asynchrone.
-
Évaluation de chatbot RAG en temps réel (opens in a new tab): Vérifiez automatiquement les hallucinations dans les réponses de votre chatbot RAG par rapport aux documents récupérés.
Exportation de données pour le réglage fin
-
Réglage fin OpenAI (opens in a new tab): Liste des exécutions LLM et convertit-les au format de réglage fin d'OpenAI.
-
Curateur de jeux de données Lilac (opens in a new tab): Améliorez encore vos ensembles de données LangSmith en utilisant Lilac pour détecter les duplicatas et vérifier les informations personnelles identifiables (PII).
Analyse exploratoire des données
-
Exportation des exécutions LLM et des commentaires (opens in a new tab): Extraire et interpréter les données d'exécution de LangSmith LLM pour diverses plateformes analytiques.
-
Lilac (opens in a new tab): Enrichissez vos ensembles de données en utilisant l'outil d'analyse open source Lilac pour mieux étiqueter et organiser vos données.
En explorant ces exemples, vous obtiendrez une compréhension complète des capacités de LangSmith, ce qui vous permettra de pousser vos applications LLM à un niveau supérieur. Alors qu'attendez-vous ? Plongez dans le LangSmith Cookbook et commencez à créer de la magie avec du code !
Conclusion
LangSmith n'est pas simplement un autre outil ; c'est une plateforme complète qui peut faire passer vos applications LLM à un niveau supérieur. De ses capacités de traçage robustes à son intégration transparente avec le Hub LangChain, LangSmith offre une gamme de fonctionnalités conçues pour faciliter votre vie. Et n'oublions pas le LangSmith Cookbook, un véritable trésor d'exemples du monde réel et de snippets de code pratiques. Que vous débutiez ou que vous cherchiez à optimiser vos applications existantes, LangSmith a tout prévu.
FAQs
Que fait LangSmith ?
LangSmith est une plateforme conçue pour vous aider à construire, tester, évaluer et surveiller des applications LLM. Elle propose toute une gamme de fonctionnalités, notamment le suivi, l'accès à l'API et un Cookbook rempli d'exemples concrets.
Quelle est la différence entre LangSmith et LangChain ?
Tandis que LangSmith se concentre sur la construction et la gestion d'applications LLM, LangChain sert de framework pour le développement de modèles de langage. LangSmith s'intègre parfaitement à LangChain, offrant ainsi une plateforme unifiée pour tous vos besoins LLM.
Comment accéder à LangSmith ?
Pour accéder à LangSmith, vous devrez vous inscrire sur leur site web. Une fois enregistré, vous pourrez générer une clé d'API qui vous permettra d'interagir avec la plateforme.