Langfuse and Zilliz Cloud Integration

Langfuse and Zilliz Cloud integrate to provide observability and analytics for RAG applications, combining Langfuse's open-source LLM engineering platform for tracing, quality monitoring, and user analysis with Zilliz Cloud's high-performance vector database for efficient retrieval in production LLM systems.

Utilisez cette intégration gratuitement
  • Qu’est-ce que Langfuse

    Langfuse est une plateforme open source d’ingénierie LLM qui aide les équipes à déboguer, analyser et itérer collaborativement sur leurs applications LLM. Elle offre une observabilité complète et des analyses produit, notamment le traçage de contextes complexes d’applications LLM (appels chaînés/agentiques), le suivi de la qualité avec des évaluations basées sur des modèles et les retours des utilisateurs, ainsi qu’une analyse des utilisateurs qui classe les entrées variées et révèle les schémas d’utilisation réels. Toutes les fonctionnalités de la plateforme sont intégrées nativement afin d’accélérer le flux de travail de développement.

    En s’intégrant à Zilliz Cloud (Milvus entièrement géré), Langfuse fournit une observabilité approfondie des pipelines RAG construits sur des bases de données vectorielles évolutives, permettant aux équipes de surveiller la qualité et la pertinence des embeddings, d’optimiser les performances de recherche vectorielle grâce à des analyses détaillées, et d’affiner les processus de récupération afin de les aligner sur les besoins des utilisateurs.

  • Avantages de l’intégration Langfuse + Zilliz Cloud

    • Traçage RAG de bout en bout : Langfuse capture l’intégralité du cycle de vie de la requête — de la génération d’embeddings à la récupération vectorielle avec Zilliz Cloud, jusqu’à la réponse du LLM — offrant une visibilité complète sur les performances du pipeline RAG.
    • Surveillance de la qualité avec scoring : Langfuse attache des scores aux traces de production pour l’évaluation des sorties, en prenant en charge les évaluations basées sur des modèles, les retours utilisateurs et l’étiquetage manuel afin de surveiller les tendances de qualité dans les applications RAG adossées à Zilliz Cloud.
    • Analytique des embeddings et de la récupération : L’intégration permet de surveiller la qualité et la pertinence des embeddings, aidant les équipes à optimiser les performances et la précision de la recherche vectorielle dans Zilliz Cloud grâce à des analyses détaillées.
    • Indépendant du framework avec prise en charge de LlamaIndex : Langfuse fournit des SDK indépendants du framework avec instrumentation LlamaIndex automatisée, ce qui facilite l’ajout d’observabilité aux pipelines RAG utilisant MilvusVectorStore de Zilliz Cloud.
  • Fonctionnement de l’intégration

    Langfuse sert de couche d’observabilité et d’analytique, capturant les traces de toutes les interactions des applications LLM, y compris l’inférence, la récupération d’embeddings, l’utilisation des API et les interactions système. Il fournit un gestionnaire de callbacks qui s’intègre à LlamaIndex pour tracer automatiquement les requêtes, les opérations d’indexation et les interactions de chat.

    Zilliz Cloud sert de couche de base de données vectorielle via le MilvusVectorStore de LlamaIndex, stockant et indexant les embeddings de documents pour une recherche de similarité rapide. Il gère l’étape de récupération dans le pipeline RAG, que Langfuse trace et surveille ensuite pour en évaluer la qualité.

    Ensemble, Langfuse et Zilliz Cloud créent un système RAG observable : les documents sont indexés et stockés dans Zilliz Cloud via LlamaIndex, le gestionnaire de callbacks de Langfuse capture les traces de chaque requête et opération de récupération, et les équipes peuvent consulter des traces détaillées dans le tableau de bord Langfuse — en surveillant la qualité de la récupération, la précision des réponses LLM et les schémas d’interaction des utilisateurs afin d’améliorer de manière itérative leurs applications RAG.

  • Guide étape par étape

    1. Installer les dépendances

    $ pip install llama-index langfuse llama-index-vector-stores-milvus --upgrade
    

    2. Initialiser Langfuse et OpenAI

    Obtenez vos clés API depuis les paramètres du projet Langfuse et configurez les variables d’environnement :

    import os
    
    os.environ["LANGFUSE_PUBLIC_KEY"] = ""
    os.environ["LANGFUSE_SECRET_KEY"] = ""
    os.environ["LANGFUSE_HOST"] = "https://cloud.langfuse.com"  # 🇪🇺 EU region
    # os.environ["LANGFUSE_HOST"] = "https://us.cloud.langfuse.com"  # 🇺🇸 US region
    
    os.environ["OPENAI_API_KEY"] = ""
    

    Configurez le gestionnaire de callbacks Langfuse avec LlamaIndex :

    from llama_index.core import Settings
    from llama_index.core.callbacks import CallbackManager
    from langfuse.llama_index import LlamaIndexCallbackHandler
    
    langfuse_callback_handler = LlamaIndexCallbackHandler()
    Settings.callback_manager = CallbackManager([langfuse_callback_handler])
    

    3. Créer des documents et un index avec Milvus

    Créez des documents d’exemple et construisez un index de magasin vectoriel à l’aide de Milvus :

    from llama_index.core import Document, VectorStoreIndex, StorageContext
    from llama_index.vector_stores.milvus import MilvusVectorStore
    
    doc1 = Document(text="""
    Maxwell "Max" Silverstein, a lauded movie director, screenwriter, and producer, was born on October 25, 1978, in Boston, Massachusetts...
    """)
    doc2 = Document(text="""
    Throughout his career, Silverstein has been celebrated for his diverse range of filmography and unique narrative technique...
    """)
    
    vector_store = MilvusVectorStore(
        uri="tmp/milvus_demo.db", dim=1536, overwrite=False
    )
    storage_context = StorageContext.from_defaults(vector_store=vector_store)
    
    index = VectorStoreIndex.from_documents(
        [doc1, doc2], storage_context=storage_context
    )
    

    4. Interroger et discuter avec le traçage

    Exécutez des requêtes et des interactions de chat — toutes automatiquement tracées par Langfuse :

    # Query
    response = index.as_query_engine().query("What did he do growing up?")
    print(response)
    
    # Chat
    response = index.as_chat_engine().chat("What did he do growing up?")
    print(response)
    

    5. Explorer les traces dans Langfuse

    Videz le gestionnaire de callbacks pour voir immédiatement les résultats dans Langfuse :

    langfuse_callback_handler.flush()
    

    Vous pouvez maintenant consulter les traces de vos opérations d’indexation et de requête dans le tableau de bord de votre projet Langfuse, y compris des décompositions détaillées de la génération d’embeddings, de la récupération vectorielle et de la génération de réponses par le LLM.

  • En savoir plus