Closed4
LlamaIndexの新しいトレーシングサービス「LlamaTrace」を試す
Arize Phoenixとインテグレーションしている様子。
ドキュメント
- これまでもArize Phoenixとのトレーシングはできていたが、今後は2つのやり方になる。
- これまで使用できていたもの。これは今後は「ローカルモード」になる。
- グローバルなコールバックハンドラを設定するだけで、ローカルでArize Phonexが起動し、トレーシングが行われる。
- 新しく追加されたLlamaTrace (Arize Phoenixのホスティングサービス)
- グローバルなコールバックハンドラを設定するだけで、LlamaTraceにデータが送信され、トレーシングが行われる。
- LlamaTraceのアカウント(≒Arize Platformのアカウント?)登録を行い、APIキーを取得する必要がある。
- これまで使用できていたもの。これは今後は「ローカルモード」になる。
Arize Platformの料金は以下にあるのけど、LlamaTraceがどういう風になってるのかはちょっとわからない。というかLlamaTraceの運営主体はどっちなんだろうか?
インストール
ローカルモード、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
以下にアクセスして、まずアカウント作成
ログインできたら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を作ってためしてみると、以下のような感じで記録・表示される。以前よりもだいぶ細かくなっているのがわかる。
なお、Arize Phoenix自体はOSSなので、セルフホストもできると思う。Pythonパッケージで実行する方法と、Dockerコンテナを使う方法があるみたい。
GitHubレポジトリ
ドキュメント
また、トレーシングだけじゃなく、評価やEmbeddingsの可視化・解析なんかもできるので、結構機能豊富に思える。
このスクラップは4ヶ月前にクローズされました