Mise en route
Instana utilise l' OpenLLMetry e pour observer les applications basées sur des modèles de langage de grande envergure (LLM) et les applications agentiques.
Pour commencer, rien de plus simple : ajoutez deux lignes de code pour intégrer l'instrumentation à votre application à l'aide d' OpenLLMetry (bibliothèque d'instrumentation), puis configurez les variables d'environnement pour que les données de télémétrie soient transmises à Instana. C'est tout ce dont vous avez besoin pour commencer à surveiller vos applications d'IA.
En intégrant OpenLLMetry, à vos applications, Instana recueille des données détaillées sur les interactions avec les modèles de langage de grande envergure (LLM), les appels à l'API API et les indicateurs de performance. Ce guide vous accompagne tout au long du processus de mise en place de l'observabilité pour vos applications d'IA générative, depuis la compréhension de l'architecture jusqu'à la visualisation de vos premières traces dans l' Instana.
Architecture
Le schéma illustre la manière dont l' Instana e surveille les applications d'IA générative.

Instana prend en charge deux modes d'envoi des traces, des journaux et des métriques depuis vos applications d'IA.
Mode de l'agent
En mode agent, OpenLLMetry envoie d'abord les traces, les journaux et les métriques à l'agent Instana, qui les transmet ensuite au backend Instana via l'acceptateur d'agent. Ce mode est idéal lorsque vous avez déployé l'agent « Instana » et que vous souhaitez corréler les données de télémétrie de l'IA avec les métriques de l'infrastructure.
Mode sans agent
En mode sans agent, OpenLLMetry envoie les traces, les journaux et les métriques directement au backend Instana, sans passer par l'agent Instana. Les données de télémétrie sont importées via le module d'acceptation « OTLP » dans le backend « Instana ». Ce mode est idéal pour les déploiements natifs du cloud, les environnements sans serveur ou lorsque vous souhaitez une configuration plus simple sans avoir à déployer d'agents.
Prérequis
Avant de configurer vos applications d'IA pour la surveillance, assurez-vous que les conditions préalables suivantes sont remplies.
- Python 3.10 ou une version ultérieure
- Un compte Instana disposant des droits d'accès appropriés
- En mode agent, l'agent d' Instana est installé et en cours d'exécution
- Pour le mode sans agent, le backend Instana, le point de terminaison OTLP et la clé API
- API clé pour votre fournisseur de LLM ( OpenAI,, Anthropic, etc.)
Configuration d' Instana pour l'observabilité de l'IA
Pour configurer l'observabilité de l'IA dans l' Instana, procédez comme suit :
- Configurez votre environnement Python.
- Vérifiez que la version Python 3.10 ou une version ultérieure est installée :
python3 -V - Facultatif : créez un environnement virtuel pour isoler vos dépendances.
pip3 install virtualenv virtualenv genai-env source genai-env/bin/activate
- Vérifiez que la version Python 3.10 ou une version ultérieure est installée :
Installez et configurez OpenLLMetry dans le code ou le service qui effectue des appels vers les modèles de langage grand format (LLM). Il peut s'agir de l'un des éléments suivants :
- Le point d'entrée principal de votre application d'IA, par exemple, app.py,main.py.
- Le serveur ou service backend d' API s qui traite les requêtes d'IA
- Tout module d' Python s qui interagit directement avec des fournisseurs de modèles de langage de grande envergure (LLM) (tels que OpenAI,, Anthropic, watsonx, etc.
Installez le SDK d' OpenLLMetry :pip3 install traceloop-sdkRemarque : ajouteztraceloop-sdkà votre requirements.txt fichier pour faciliter la gestion des dépendances dans votre projet.- Définissez les variables d'environnement suivantes, qui sont requises pour tous les modes de surveillance.
OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai" TRACELOOP_LOGGING_ENABLED=true TRACELOOP_METRICS_ENABLED=trueConfigurez les variables spécifiques au mode en fonction de votre déploiement.
- Effectuez l'une des étapes suivantes :
- Mode agent : définissez ces variables d'environnement pour envoyer des données de télémétrie via l'agent Instana :
TRACELOOP_BASE_URL=<instana-agent-host>:4317 OTEL_EXPORTER_OTLP_INSECURE=trueL'agent « Instana » enrichit automatiquement les données de télémétrie avec le contexte de l'infrastructure. Pour plus d'informations sur la configuration de l'agent « Instana », consultez la page Instana agent.
- Mode sans agent : définissez ces variables d'environnement pour envoyer les données de télémétrie directement au backend Instana :
TRACELOOP_BASE_URL=<instana-otlp-endpoint>:4317 TRACELOOP_HEADERS="x-instana-key=<agent-key>,x-instana-host=<instana-host>" OTEL_EXPORTER_OTLP_INSECURE=falseRecherchez les valeurs de configuration de votre fichier « Instana ». Pour déterminer les <instana-otlp-endpoint> valeurs de <agent-key> et.
- Connectez-vous à votre instance d' Instana.
- Dans le menu de navigation, cliquez sur « Agents et collecteurs ».
- Cliquez sur l'onglet « Collectors » de l' OpenTelemetry.
- Cliquez sur « Installer un collecteur ».
- Sélectionnez « Linux » - Installation automatique (commande en une ligne).
- À l'étape 2, vous verrez une commande similaire à celle de l'exemple suivant :
curl -Lo setup.sh https://github.com/instana/instana-otel-collector/releases/latest/download/instana-collector-installer-latest.sh && chmod +x setup.sh && sudo ./setup.sh -a <agent-key> -e <instana-otlp-endpoint>:4317 -H <instana-otlp-endpoint>:4318 <instana-otlp-endpoint>s'agit des points de terminaison indiqués précédemment:4317(port gRPC ) et:4318(port HTTP )<agent-key>est la clé qui apparaît après-a<instana-host>peut être n'importe quelle chaîne de caractères de votre choix
Pour plus d'informations sur les points de terminaison du backend Instana OTLP pour différents environnements SaaS, consultez la page « Points de terminaison de l'acceptateur du backend Instana OTLP ».
- Mode agent : définissez ces variables d'environnement pour envoyer des données de télémétrie via l'agent Instana :
- Intégrez des outils à votre application. Ajoutez l'instrumentation d' OpenLLMetry s à votre application Python. Placez ce code au début du fichier principal de votre application (par exemple,
app.py,main.py) ou dans le module qui initialise votre service d'IA :from traceloop.sdk import Traceloop # Initialize OpenLLMetry Traceloop.init(app_name="my_ai_app", disable_batch=True)Facultatif : pour les flux de travail complexes, vous pouvez les annoter afin d'en améliorer la visibilité :from traceloop.sdk.decorators import workflow @workflow(name="my_workflow") def my_ai_workflow(): # Your AI logic here passRemarque : si vous utilisez des frameworks tels que LangChain,, LangGraph, ou CrewAI,, aucune annotation supplémentaire n'est nécessaire. Pour plus d'informations sur les décorateurs, consultez la section « Annotations ». - Exécutez un exemple simple. L'exemple suivant utilise Claude d'Anthropic :
Installez le SDK Anthropic :
pip3 install anthropicDéfinissez votre clé « API » d'Anthropic en tant que variable d'environnement :
ANTHROPIC_API_KEY=<your-anthropic-api-key>Pour créer une clé API, consultez la page Clés API Anthropic.
Créez un fichier nommé
hello_genai.pycontenant le code suivant :import os import anthropic from traceloop.sdk import Traceloop from traceloop.sdk.decorators import workflow # Initialize OpenLLMetry Traceloop.init(app_name="hello_genai", disable_batch=True) # Create Anthropic client client = anthropic.Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY")) @workflow(name="simple_chat") def ask_question(): message = client.messages.create( model="claude-3-sonnet-20240229", max_tokens=1024, messages=[ {"role": "user", "content": "What is observability?"} ] ) print(message.content[0].text) # Run the workflow ask_question()Lancez l'application :
python3 hello_genai.py
Vérifiez votre configuration
Une fois votre application lancée, vérifiez que les données sont bien transmises à Instana :
- Dans l'interface utilisateur d' Instana, cliquez sur « Gen AI Observability ».
- Les données de l'application s'affichent et comprennent les éléments suivants :
- Appels et traces dans l' API LLM
- Indicateurs d'utilisation des jetons
- Temps d'attente des demandes
- Coût
- Taux d'erreur
app_name paramètre que vous définissez dans Traceloop.init() (par exemple, hello_genai) devient le nom du service dans Instana.Si vous rencontrez des difficultés lors de la configuration d' Instana pour l'observabilité de l'IA, consultez la section Dépannage pour résoudre des problèmes tels que les erreurs de connexion, les données manquantes et les problèmes de configuration.
Facultatif : Configurer la tarification LLM
Pour afficher les indicateurs de coût dans votre tableau de bord, configurez la tarification de vos modèles LLM :
- Go vers le tableau de bord d'observabilité de l'IA générative.
- Go dans l'onglet Configuration.
- Configurez la tarification de vos modèles LLM.
Pour plus d'informations, consultez la section « Calcul du coût du LLM ».
Etapes suivantes
Maintenant que vous avez configuré la surveillance de base, consultez les guides spécifiques au framework et aux fournisseurs :
Cadres d'agents IA : pour plus d'informations sur LangChain,, LangGraph,, CrewAI,, OpenAI, etc., consultez la section « Cadres d'agents IA pris en charge ».
- Fournisseurs de modèles de langage (LLM) : pour plus d'informations sur OpenAI, Anthropic, Amazon Bedrock, IBM watsonx.ai, etc., consultez la section « Surveillance des modèles de langage (LLM) proposés par les fournisseurs de modèles ».
- Bases de données sur les vecteurs, voir Surveillance des bases de données sur les vecteurs
- Infrastructure et hébergement : pour plus d'informations sur la surveillance des GPU et de l' vLLM, consultez la section « Surveillance de l' et de l'hébergement ».
- Si vous effectuez une mise à niveau à partir d'une configuration antérieure, consultez la section « Migration à partir d'un collecteur de données d' OTel ».