Skip to content

Latest commit

 

History

History
322 lines (237 loc) · 31.9 KB

File metadata and controls

322 lines (237 loc) · 31.9 KB

Remarque : Ce fichier a été traduit automatiquement. Les améliorations de la traduction sont bienvenues !

Logo Comet Opik
Opik

Observabilité, évaluation et optimisation de l'IA open source

Opik vous aide à créer, tester et optimiser des applications d'IA générative qui fonctionnent mieux, du prototype à la production. Des chatbots RAG aux assistants de code en passant par les systèmes agentiques complexes, Opik fournit un traçage complet, une évaluation ainsi qu'une optimisation automatique des invites et des outils pour éliminer les incertitudes liées au développement de l'IA.

SDK Python Licence Build

Site WebCommunauté SlackTwitterJournal des modificationsDocumentation


Capture d'écran de la plateforme Opik (vignette)

🚀 Qu'est-ce qu'Opik ?

Opik (construit par Comet) est une plate-forme open source conçue pour rationaliser l'ensemble du cycle de vie des applications LLM. Il permet aux développeurs d'évaluer, de tester, de surveiller et d'optimiser leurs modèles et systèmes agents. Les offres clés incluent :

  • Observabilité complète : traçage approfondi des appels LLM, journalisation des conversations et activité des agents.
  • Évaluation avancée : évaluation rapide et robuste, LLM en tant que juge et gestion des expériences.
  • Production-Ready : tableaux de bord de surveillance évolutifs et règles d'évaluation en ligne pour la production.
  • Opik Agent Optimizer : SDK dédié et ensemble d'optimiseurs pour améliorer les invites et les agents.
  • Opik Guardrails : fonctionnalités pour vous aider à mettre en œuvre des pratiques d'IA sûres et responsables.

Les fonctionnalités clés incluent :

  • Développement et traçage :

  • Suivez tous les appels et traces LLM avec un contexte détaillé pendant le développement et en production (Quickstart).

  • Intégrations tierces étendues pour une observabilité facile : intégration transparente à une liste croissante de frameworks, prenant en charge nativement bon nombre des frameworks les plus importants et les plus populaires (y compris les ajouts récents tels que Google ADK, Autogen et Flowise AI). (Intégrations)

  • Annotez les traces et les étendues avec les scores de feedback via le SDK Python ou le UI.

  • Expérimentez avec des invites et des modèles dans Prompt Playground.

  • Évaluation et tests :

  • Automatisez l'évaluation de votre candidature LLM avec Datasets et Expériences.

  • Tirez parti de puissantes métriques LLM-as-a-judge pour des tâches complexes telles que la détection d'hallucinations, modération et évaluation RAG (Réponse Pertinence, Contexte Précision).

  • Intégrez des évaluations dans votre pipeline CI/CD avec notre intégration PyTest.

  • Suivi et optimisation de la production :

  • Enregistrez des volumes élevés de traces de production : Opik est conçu pour une échelle (plus de 40 millions de traces/jour).

  • Surveillez les scores de commentaires, le nombre de traces et l'utilisation des jetons au fil du temps dans le Opik Dashboard.

  • Utiliser les règles d'évaluation en ligne avec les métriques LLM-as-a-Judge pour identifier les problèmes de production.

  • Tirez parti de Opik Agent Optimizer et Opik Guardrails pour améliorer et sécuriser continuellement vos applications LLM en production.

Tip

Si vous recherchez des fonctionnalités qu'Opik n'a pas aujourd'hui, veuillez créer une nouvelle Demande de fonctionnalité 🚀


🛠️ Installation du serveur Opik

Faites fonctionner votre serveur Opik en quelques minutes. Choisissez l'option qui correspond le mieux à vos besoins :

Option 1 : Comet.com Cloud (le plus simple et recommandé)

Accédez à Opik instantanément sans aucune configuration. Idéal pour des démarrages rapides et un entretien sans tracas.

👉 Créez votre compte Comet gratuit

Option 2 : Opik auto-hébergé pour un contrôle total

Déployez Opik dans votre propre environnement. Choisissez entre Docker pour les configurations locales ou Kubernetes pour l'évolutivité.

Auto-hébergement avec Docker Compose (pour le développement et les tests locaux)

C'est le moyen le plus simple de faire fonctionner une instance Opik locale. Notez le nouveau script d'installation ./opik.sh :

Sous environnement Linux ou Mac :

# Clone the Opik repository
git clone https://github.com/comet-ml/opik.git

# Navigate to the repository
cd opik

# Start the Opik platform
./opik.sh

Sur l'environnement Windows :

# Clone the Opik repository
git clone https://github.com/comet-ml/opik.git

# Navigate to the repository
cd opik

# Start the Opik platform
powershell -ExecutionPolicy ByPass -c ".\\opik.ps1"

Profils de services pour le développement

Les scripts d'installation Opik prennent désormais en charge les profils de service pour différents scénarios de développement :

# Start full Opik suite (default behavior)
./opik.sh

# Start only infrastructure services (databases, caches etc.)
./opik.sh --infra

# Start infrastructure + backend services
./opik.sh --backend

# Enable guardrails with any profile
./opik.sh --guardrails # Guardrails with full Opik suite
./opik.sh --backend --guardrails # Guardrails with infrastructure + backend

Utilisez les options --help ou --info pour résoudre les problèmes. Les Dockerfiles garantissent désormais que les conteneurs s'exécutent en tant qu'utilisateurs non root pour une sécurité renforcée. Une fois que tout est opérationnel, vous pouvez maintenant visiter localhost:5173 sur votre navigateur ! Pour des instructions détaillées, consultez le Guide de déploiement local.

Auto-hébergement avec Kubernetes et Helm (pour des déploiements évolutifs)

Pour la production ou les déploiements auto-hébergés à plus grande échelle, Opik peut être installé sur un cluster Kubernetes à l'aide de notre charte Helm. Cliquez sur le badge pour accéder au Guide d'installation de Kubernetes à l'aide de Helm complet.

Kubernetes

Important

Modifications de la version 1.7.0 : veuillez consulter le changelog pour les mises à jour importantes et les modifications importantes.

💻 SDK client Opik

Opik fournit une suite de bibliothèques clientes et une API REST pour interagir avec le serveur Opik. Cela inclut des SDK pour Python, TypeScript et Ruby (via OpenTelemetry), permettant une intégration transparente dans vos flux de travail. Pour des références détaillées sur l'API et le SDK, consultez la Documentation de référence du client Opik.

Démarrage rapide du SDK Python

Pour démarrer avec le SDK Python :

Installez le paquet :

# install using pip
pip install opik

# or install with uv
uv pip install opik

Configurez le SDK python en exécutant la commande « opik configure », qui vous demandera l'adresse de votre serveur Opik (pour les instances auto-hébergées) ou votre clé API et votre espace de travail (pour Comet.com) :

opik configure

Tip

Vous pouvez également appeler « opik.configure(use_local=True) » à partir de votre code Python pour configurer le SDK afin qu'il s'exécute sur une installation locale auto-hébergée, ou fournir la clé API et les détails de l'espace de travail directement pour Comet.com. Reportez-vous à la documentation du SDK Python pour plus d'options de configuration.

Vous êtes maintenant prêt à commencer à enregistrer des traces à l'aide du SDK Python.

📝 Journalisation des traces avec intégrations

Le moyen le plus simple d’enregistrer des traces est d’utiliser l’une de nos intégrations directes. Opik prend en charge un large éventail de frameworks, y compris des ajouts récents tels que Google ADK, Autogen, AG2 et Flowise AI :

Intégration Descriptif Documents
ADK Traces de journaux pour le kit de développement d'agent Google (ADK) Documentation
AG2 Consigner les traces des appels AG2 LLM Documentation
Suite IA Traces de journaux pour les appels aisuite LLM Documentation
Agno Traces de journaux pour les appels du framework d'orchestration d'agent Agno Documentation
Anthropique Consigner les traces des appels Anthropic LLM Documentation
Autogène Traces de journaux pour les flux de travail agents Autogen Documentation
Substrat rocheux Consigner les traces des appels Amazon Bedrock LLM Documentation
BeeAI (Python) Consigner les traces des appels du framework d'agent BeeAI Python Documentation
BeeAI (TypeScript) Consigner les traces des appels du framework d'agent BeeAI TypeScript Documentation
OctetPlus Traces de journaux pour les appels BytePlus LLM Documentation
IA des travailleurs Cloudflare Consigner les traces des appels Cloudflare Workers AI Documentation
Cohérer Journaliser les traces des appels Cohere LLM Documentation
CrewAI Consigner les traces des appels CrewAI Documentation
Curseur Consigner les traces des conversations avec le curseur Documentation
Recherche profonde Consigner les traces des appels DeepSeek LLM Documentation
Difier Consigner les traces des exécutions de l'agent Dify Documentation
DSPY Traces de journaux pour les exécutions DSPy Documentation
IA de feux d'artifice Consigner les traces des appels Fireworks AI LLM Documentation
Flowise IA Traces de journaux pour le générateur visuel LLM Flowise AI Documentation
Gémeaux (Python) Consigner les traces des appels Google Gemini LLM Documentation
Gémeaux (TypeScript) Consigner les traces des appels du SDK Google Gemini TypeScript Documentation
Groq Consigner les traces des appels Groq LLM Documentation
Garde-corps Traces de journaux pour les validations Guardrails AI Documentation
Botte de foin Consigner les traces des appels Haystack Documentation
Port Traces de journaux pour les essais d'évaluation de référence Harbour Documentation
Instructeur Consigner les traces des appels LLM effectués avec Instructor Documentation
LangChain (Python) Consigner les traces des appels LangChain LLM Documentation
LangChain (JS/TS) Consigner les traces des appels LangChain JavaScript/TypeScript Documentation
LangGraph Traces de journaux pour les exécutions de LangGraph Documentation
Flux de langage Traces de journaux pour le générateur d'IA visuel Langflow Documentation
LiteLLM Traces de journal pour les appels de modèle LiteLLM Documentation
Agents LiveKit Consigner les traces des appels du cadre d'agent IA des agents LiveKit Documentation
LamaIndex Traces de journal pour les appels LlamaIndex LLM Documentation
Mastra Consigner les traces des appels du framework de workflow Mastra AI Documentation
Cadre d'agent Microsoft (Python) Consigner les traces des appels Microsoft Agent Framework Documentation
Cadre d'agent Microsoft (.NET) Consigner les traces des appels Microsoft Agent Framework .NET Documentation
Mistral IA Journaliser les traces des appels Mistral AI LLM Documentation
n8n Consigner les traces pour les exécutions de flux de travail n8n Documentation
Novita IA Consigner les traces des appels Novita AI LLM Documentation
Ollama Consigner les traces des appels Ollama LLM Documentation
OpenAI (Python) Consigner les traces des appels OpenAI LLM Documentation
OpenAI (JS/TS) Consigner les traces pour les appels OpenAI JavaScript/TypeScript Documentation
Agents OpenAI Traces de journaux pour les appels du SDK OpenAI Agents Documentation
OpenClaw Consigner les traces des exécutions d'agents OpenClaw Documentation
OuvrirRouter Consigner les traces des appels OpenRouter LLM Documentation
OpenTélémétrie Consigner les traces des appels pris en charge par OpenTelemetry Documentation
OpenWebUI Consigner les traces des conversations OpenWebUI Documentation
Pipecat Consigner les traces des appels de l'agent vocal en temps réel Pipecat Documentation
Prédibase Consigner les traces des appels Predibase LLM Documentation
IA pydantique Consigner les traces des appels d'agent PydanticAI Documentation
Ragas Traces de journaux pour les évaluations Ragas Documentation
Noyau sémantique Consigner les traces des appels du noyau sémantique Microsoft Documentation
Smolagents Traces de journaux pour les agents Smolagents Documentation
IA du printemps Consigner les traces des appels du framework Spring AI Documentation
Agents de brins Consigner les traces des appels des agents Strands Documentation
Ensemble IA Consigner les traces des appels Together AI LLM Documentation
SDK IA Vercel Traces de journaux pour les appels du SDK Vercel AI Documentation
VoltAgent Traces de journaux pour les appels du framework d'agent VoltAgent Documentation
WatsonX Traces de journaux pour les appels IBM Watsonx LLM Documentation
xAI Grok Consigner les traces des appels xAI Grok LLM Documentation

Tip

Si le framework que vous utilisez n'est pas répertorié ci-dessus, n'hésitez pas à ouvrir un problème ou soumettre un PR avec l'intégration.

Si vous n'utilisez aucun des frameworks ci-dessus, vous pouvez également utiliser le décorateur de fonction « track » pour enregistrer les traces :

import opik

opik.configure(use_local=True) # Run locally

@opik.track
def my_llm_function(user_question: str) -> str:
    # Your LLM code here

    return "Hello"

Tip

Le décorateur de piste peut être utilisé avec n'importe laquelle de nos intégrations et peut également être utilisé pour suivre les appels de fonctions imbriqués.

🧑‍⚖️ LLM en tant que juge métriques

Le SDK Python Opik comprend un certain nombre de LLM comme mesures de jugement pour vous aider à évaluer votre application LLM. Apprenez-en plus dans la documentation sur les métriques.

Pour les utiliser, importez simplement la métrique appropriée et utilisez la fonction score :

from opik.evaluation.metrics import Hallucination

metric = Hallucination()
score = metric.score(
    input="What is the capital of France?",
    output="Paris",
    context=["France is a country in Europe."]
)
print(score)

Opik comprend également un certain nombre de métriques heuristiques prédéfinies ainsi que la possibilité de créer les vôtres. Apprenez-en plus dans la documentation sur les métriques.

🔍 Évaluation de vos candidatures LLM

Opik vous permet d'évaluer votre application LLM pendant le développement via des Datasets et Expériences. Le tableau de bord Opik propose des graphiques améliorés pour les expériences et une meilleure gestion des traces volumineuses. Vous pouvez également exécuter des évaluations dans le cadre de votre pipeline CI/CD à l'aide de notre intégration PyTest.

⭐ Star Us on GitHub

Si vous trouvez Opik utile, pensez à nous attribuer une étoile ! Votre soutien nous aide à développer notre communauté et à continuer d'améliorer le produit.

Graphique de l'historique des étoiles

🤝 Contribuer

Il existe de nombreuses façons de contribuer à Opik :

Pour en savoir plus sur la façon de contribuer à Opik, veuillez consulter nos directives de contribution.