LangChain アプリケーションの監視

Splunk AppDynamics Python エージェントは、LangChain フレームワークを使用して構築された GenAI アプリケーションをモニターするのに役立ちます。Python エージェントでアプリケーションをインストゥルメント化すると、ベクトルストアの次のメトリックがキャプチャされます。

  • ベクトルデータベース(pgvector および chroma)へのコールを終了します。
  • exit コールでのプロンプトと応答。
  • 取得されたドキュメントの数、類似性検索スコア、ベクトルデータベースのエラー
  • 1分あたりのコール数

LangChain を使用して Ollama などの LLM をモニターするために、Python エージェントは次のメトリックを記録します。

  • トークン
  • プロンプト数
  • 組み込みクエリ数

前提条件

Python エージェントの /path/to/appdynamics.cfg ファイルで enable-langchain フラグを必ず true に設定してください。[instrumentation] を参照してください。

Python エージェントは、Splunk AppDynamics で次のバージョンの LangChain LLM をサポートします。

コンポーネント Version
langchain 0.2.11 以前
langchain-ollama 0.2.0 以前
langchain-chroma 0.1.1!
langchain-postgres 0.0.12
chromadb0.5.20 以前
pgvector0.2.5

LangChain Ollama API のモニタリング

Ollama コールをモニターするために、Python エージェントは次のメトリックをレポートします。

  • 入力トークン = 0.5$
  • 出力トークン
  • 最初のトークンメトリックまでの時間(ミリ秒)
  • 出力トークンあたりの時間(ミリ秒)
  • 平均応答時間(ms)
  • プロンプト数
  • 組み込みクエリ数
  • エラー
注:

トークンメトリックを取得するには、transformers Python ライブラリをインストールしてください。「Transformers」を参照してください。

pip install transformers

メトリックパスの例Agent|Langchain|LLM|llama3.2_latest|Average Response Time (ms))

Ollama API をモニターするためのカスタムダッシュボードの作成

  1. Custom_dashboard_script.zip をダウンロードします。これには次のものが含まれています。
    ディレクトリ(Directory)説明
    テンプレートダッシュボードファイルを作成するための json テンプレートが含まれています。
    ダッシュボードダッシュボード json ファイルがここで作成されます。サンプル json ファイルが含まれています。
    main.pyダッシュボードを作成するための Python スクリプト。
    README.mdソリューションの説明。
  2. 以下のコマンドを実行します:
    cd Custom_dashboard_script
    python3 main.py

    上記のコマンドでは、作成するダッシュボードのタイプ(アプリケーションまたは階層)を指定するように求められます。

  3. 選択したダッシュボードのタイプに基づいて、次のダッシュボードの詳細を指定するように求められます。
  4. コントローラ UI でダッシュボードをインポートします。LangChain ベクトルストアのモニタリング を参照してください
    ヒント: [Tiers & Nodes] > [My Dashboards] の順に移動し、既存のダッシュボードからウィジェットをコピーして貼り付け、選択したアプリケーションのダッシュボードを作成して簡単にナビゲーションできるようにします。
ダッシュボードの例Ollama API をモニターするためのカスタムダッシュボード

LangChain ベクトルストアのモニタリング

Python エージェントでアプリケーションをインストゥルメント化すると、ベクトルストアの次のメトリックがキャプチャされます。

  • langchain_community および langchain_{vendor} ベクトルストアの場合、Python エージェントでは次のメトリックがキャプチャされます。
    • 検索スコア
    • 平均応答時間(ms)
    • エラー
    • コール
    • ベクトル挿入数
    • ベクトル削除数
    注:

    デフォルトでは、Splunk AppDynamics SaaS langchain_{vendor} ベクトルストアの次のメトリックをキャプチャします。

    • langchain_milvus
    • langchain_chroma
    • langchain_postgres

    ただし、 langchain-vectorstores-instrumented-modules フラグを設定して、 /path/to/appdynamics.cfg の特定の LangChain ベンダーからメトリックをキャプチャすることができます。詳細については、「インスツルメンテーション」を参照してください。

  • langchain_community および langchain_{vendor} ベクトルストアの場合、Python エージェントでは次のメトリックがキャプチャされます。
    • 検索スコア
    • 平均応答時間(ms)
    • エラー
    • コール
    • ベクトル挿入数
    • ベクトル削除数
    注:

    デフォルトでは、Splunk AppDynamics SaaS langchain_{vendor} ベクトルストアの次のメトリックをキャプチャします。

    • langchain_milvus
    • langchain_chroma
    • langchain_postgres

    ただし、 langchain-vectorstores-instrumented-modules フラグを設定して、 /path/to/appdynamics.cfg の特定の LangChain ベンダーからメトリックをキャプチャすることができます。詳細については、「50cc15d6-e5c2-49e9-80c8-475efd914b3f:comment:shivansk@cisco.com:1749638927010 [Instrumentation].50cc15d6-e5c2-49e9-80c8-475efd914b3f」を参照してください。

  • ベクトルデータベース(pgvector および chroma)へのコールを終了します。

スナップショット exit コールの詳細で、PGVector およびChroma ベクトルストアの要求と応答をキャプチャするには、Python エージェントの /path/to/appdynamics.cfg ファイルで enable-genai-data-capture フラグを true に設定します。「[instrumentation]」を参照してください。