Re:ゼロから始めるML生活

どちらかといえばエミリア派です

Arizeを使ってRAGの性能管理をする

このまえArize Phoenixを使ってトラッキングを試してみました。

www.nogawanogawa.com

PhoenixにはSaaS版のArizeがあるので、今回はそっちを使ってみたいと思います。

Arize

早速本題で、Arizeでトラッキングしてみたいと思います。 アカウントさえ作ってしまえば、基本的には前回のarize_phoenixのようにやっていきます。

arize.com

トラッキングしてみるとこんな感じで表示されます。

このあたりまで来るとphoenixと同じ感じで見えますね。

Phoenixの内容をArizeに転送

Phoenixの内容をArizeに転送する方法もあります。 Phoenixを前回つかっていたので、使い方そのままにArizeに転送するコードを書くだけですね。

from arize.pandas.logger import Client


SPACE_KEY = ARIZE_SPACE_KEY
API_KEY = ARIZE_API_KEY

if SPACE_KEY == "SPACE_KEY" or API_KEY == "API_KEY":
    raise ValueError("❌ NEED TO CHANGE SPACE AND/OR API_KEY")
else:
    print("✅ Import and Setup Arize Client Done! Now we can start using Arize!")

arize_client = Client(space_key=SPACE_KEY, api_key=API_KEY,)
model_id = "arize-llm-tutorial"
model_version = "1.0"


response = arize_client.log_spans(
    dataframe=spans_df,
    evals_dataframe=evals_df,
    model_id=model_id,
    model_version=model_version,
)

# If successful, the server will return a status_code of 200
if response.status_code != 200:
    print(f"❌ logging failed with response code {response.status_code}, {response.text}")
else:
    print(f"✅ You have successfully logged traces set to Arize")

こんな感じで転送することができました。 見てみると、version=1.0というのができていたのでそれを覗いてみます。

phoenixと似たような感じで表示できましたね。

参考文献

こちらの文献を参考にさせていただきました。

感想

ちょっとインストールするもの(opentelemetry系)が多くて大変な気はしましたが、一回動いてしまえば簡単に使えそうでした。 見た目もだいたい同じで良さそうですね。