Closed4

LlamaIndexの新しいトレーシングサービス「LlamaTrace」を試す

kun432kun432

ドキュメント

https://docs.llamaindex.ai/en/stable/module_guides/observability/

  • これまでもArize Phoenixとのトレーシングはできていたが、今後は2つのやり方になる。
    • これまで使用できていたもの。これは今後は「ローカルモード」になる。
      • グローバルなコールバックハンドラを設定するだけで、ローカルでArize Phonexが起動し、トレーシングが行われる。
    • 新しく追加されたLlamaTrace (Arize Phoenixのホスティングサービス)
      • グローバルなコールバックハンドラを設定するだけで、LlamaTraceにデータが送信され、トレーシングが行われる。
      • LlamaTraceのアカウント(≒Arize Platformのアカウント?)登録を行い、APIキーを取得する必要がある。

Arize Platformの料金は以下にあるのけど、LlamaTraceがどういう風になってるのかはちょっとわからない。というかLlamaTraceの運営主体はどっちなんだろうか?

https://arize.com/pricing/

kun432kun432

インストール

ローカルモード、LlamaTrace、どちらの場合も同じインテグレーションパッケージをインストールする。これ以外に必要なものは適宜。

!pip install -U llama-index-callbacks-arize-phoenix
!pip freeze | egrep -i "llama-|arize"
arize-phoenix==4.12.0
arize-phoenix-evals==0.14.1
llama-index-callbacks-arize-phoenix==0.1.6
llama-index-core==0.10.55
openinference-instrumentation-llama-index==2.1.0

ローカルモード

過去の記事でもよく使用していた。Colaboratoryでもお手軽に使える。

Arize Phoenixを起動

import phoenix as px

px.launch_app()

以下のようにURLが表示されるので別タブなんかで開く。

🌍 To view the Phoenix app in your browser, visit https://XXXXXXXXXXX-colab.googleusercontent.com/
📖 For more information on how to use Phoenix, check out https://docs.arize.com/phoenix

LlamaIndexでグローバルハンドラを設定。

import llama_index.core

llama_index.core.set_global_handler("arize_phoenix")

以後の実行でトレーシングが表示されるようになる。Colaboratoryの場合はランタイムを削除すると消えるので、お試ししながら使うのにとても便利。

LlamaTrace

以下にアクセスして、まずアカウント作成

https://phoenix.arize.com/llamatrace/

ログインできたらAPIキーを取得

LLamaIndexでグローバルハンドラを設定

import llama_index.core
import os

PHOENIX_API_KEY = "XXXXXXXXXXXXXXXX"
os.environ["OTEL_EXPORTER_OTLP_HEADERS"] = f"api_key={PHOENIX_API_KEY}"
llama_index.core.set_global_handler(
    "arize_phoenix", endpoint="https://llamatrace.com/v1/traces"
)

以後の実行でトレーシングが表示されるようになる。こちらはすぐには消えないようで、Arize Platformの料金ページから推測すると、無料でも3ヶ月間ぐらいは保持されるのではないかと思う。

トレーシング

RAGを作ってためしてみると、以下のような感じで記録・表示される。以前よりもだいぶ細かくなっているのがわかる。

kun432kun432

なお、Arize Phoenix自体はOSSなので、セルフホストもできると思う。Pythonパッケージで実行する方法と、Dockerコンテナを使う方法があるみたい。

GitHubレポジトリ
https://github.com/Arize-ai/phoenix

ドキュメント

https://docs.arize.com/phoenix

また、トレーシングだけじゃなく、評価やEmbeddingsの可視化・解析なんかもできるので、結構機能豊富に思える。

このスクラップは4ヶ月前にクローズされました