監視 LangChain

LangChain 大規模言語モデル(LLM)と外部ツールを活用して、知能的で文脈を認識 Python するシステムを構築・管理するためのAI駆動型アプリケーション開発フレームワークです。 あなた LangChain, と共に、タスク、ツール、LLMを連携させてデータを推論し、ドキュメント、要約、洞察などの動的な出力を生成するインテリジェントなワークフローを開発できます。 LangChain’s 複数のタスクやツールを連鎖させる能力により、多様なユースケースに適応できる高度なAIシステムを構築することが可能となる。

Instanaは、ワークフロー、LLMインタラクション、タスク実行のリアルタイム監視を提供 LangChain, する強力な可観測性を実現します。 Instanaの分散トレース、メトリクス収集、エラー検出を統合することで、ワークフローがデータを処理し、外部ツールと連携 LangChain し、タスク実行を最適化する方法を深く理解できます。 InstanaはAI駆動システムにおけるエンドツーエンドのトレーサビリティを保証し、実装の透明性、信頼性、 LangChain スケーラビリティを向上させます。 この統合により、チームはパフォーマンスを監視し、異常を検知することで、. LangChain NETで構築されたAI搭載アプリケーションのシームレスな運用を実現します。

アプリケーションの LangChain 計測

アプリケーション LangChain を計測するには、次の手順を完了してください:

環境がすべての前提条件を満たしていることを確認してください。 詳細については、 「前提条件」 を参照してください。

  1. 依存関係をインストールするには、次のコマンド LangChain, を実行してください:

    pip3 install langchain-core==0.3.34 langchain-community==0.3.17
    
  2. サンプル LangChain アプリケーションで使用されているモデル watsonX にアクセスするための以下の認証情報をエクスポートしてください:

    export WATSONX_URL="<watsonx-url>"
    export WATSONX_PROJECT_ID="<watsonx-project-id>"
    export WATSONX_API_KEY="<watsonx-api-key>"
    
  3. 以下のコードを実行してサンプル LangChain アプリケーションを生成します:

     from langchain_ibm import WatsonxLLM
     from langchain_core.prompts import PromptTemplate
     from traceloop.sdk import Traceloop
     from traceloop.sdk.decorators import task, workflow
     import os
    
     # Initialize Traceloop
     Traceloop.init(app_name="langchain_watsonx_service")
    
     @task(name="initialize_watsonx_model")
     def initialize_model():
     return WatsonxLLM(
             model_id="ibm/granite-13b-instruct-v2",
             url=os.getenv("WATSONX_URL"),
             apikey=os.getenv("WATSONX_API_KEY"),
             project_id=os.getenv("WATSONX_PROJECT_ID"),
             params={
                 "decoding_method": "sample",
                 "max_new_tokens": 512,
                 "min_new_tokens": 1,
                 "temperature": 0.5,
                 "top_k": 50,
                 "top_p": 1,
             }
         )
    
     @task(name="create_prompt_template")
     def create_prompt():
         return PromptTemplate(
             input_variables=["input_text"],
             template="You are a helpful AI assistant. Respond to the following: {input_text}"
         )
    
     @task(name="process_llm_query")
     def process_query(prompt, llm, input_text):
         chain = prompt | llm
         return chain.invoke({"input_text": input_text})
    
     @workflow(name="watsonx_conversation_workflow")
     def run_conversation():
         watsonx_llm = initialize_model()
         prompt_template = create_prompt()
    
         input_text = "Explain the concept of quantum computing in simple terms."
         response = process_query(prompt_template, watsonx_llm, input_text)
         print("Response:", response)
    
     if __name__ == "__main__":
         run_conversation()
    
    
    
  4. 次のコマンドを実行してアプリケーション LangChain を実行します:

    python3 ./<langchain-sample-application>.py
    

サンプルアプリ LangChain は、以下の例に示すような応答を生成します:

Response: Quantum computing is a type of computing that uses quantum-mechanical phenomena such as superposition and quantum entanglement to perform calculations. It is different from classical computing, which uses binary digits (0s and 1s) to represent information. In quantum computing, information is encoded in quantum bits, or "qubits," which can exist in a superposition of both 0 and 1 at the same time. This allows quantum computers to perform certain types of calculations much faster than classical computers.

監視 LangChain を設定すると、Instanaはアプリケーション LangChain から以下のトレースとメトリクスを収集します:

LLMから収集されたメトリクスを表示するには、[ メトリクスの表示 ]を LangChain, 参照してください。

トラブルシューティング

ベースアプリケーション LangChain の監視中に、以下の問題が発生する可能性があります:

create_react_agentを使用する場合、一部のメトリクスは期待値と共にリストされない可能性があります

モデル名を含むいずれかのメトリクスが正しくリストされていない場合、create_react_agent のインポートに使用されているパッケージを確認してください。 パッケージ langchain.agents '' からのインポートはサポートされていません。代わりに '' パッケージ langgraph.prebuilt を使用してください。