0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

arize-phoenixの結果確認とエラーログ

0
Posted at

タイトル: [windows環境でarize-phoenixの実行エラー]

はじめに

背景

windows11, python3.12環境でarize-phoenixでトレーシングしようとするとき、エラーが出力され、トレーシング結果を確認できない。

対象読者

  • arize-phoenixでllmのトレーシングに興味のある方

環境

項目 バージョン/詳細
OS Windows 11
言語 Python 3.12
ライブラリ arize-phoenix
その他 -
  • 実施日付:2026.01.27
uv run python app.py

問題

出力されたエラー

NotADirectoryError: [WinError 267] ディレクトリ名が無効です。: 'path\\to\\AppData\\Local\\Temp\\tmpw8sjvllb\\phoenix.db'

困っている点

  • エラーが出力されて気になる。
  • トレーシング結果が確認できない。

解決方法

手順 1: [コードの実行を終了させない]

説明文

末尾に下記のコードを追加し、終了させないことにした。これでブラウザから出力結果を確認できる

try:
    # 無限ループで待機
    while True:
        time.sleep(1)
except KeyboardInterrupt:
    print("\n\nプログラムを終了します...")

関連のあるコード

コードを見る(クリックで展開)
# PhoenixとOllamaの基本的な使い方

# 1. 必要なライブラリのインストール
# pip install arize-phoenix openinference-instrumentation-openai ollama

import phoenix as px
from phoenix.otel import register
from openai import OpenAI
from openinference.instrumentation.openai import OpenAIInstrumentor
import os
import ollama
import time

# 作業ディレクトリに明示的にデータベースを配置
db_path = os.path.join(os.getcwd(), "phoenix_data")
os.makedirs(db_path, exist_ok=True)


# 2. Phoenixセッションを起動
#session = px.launch_app(
#    db_path=os.path.join(db_path, "phoenix.db")
#)
session = px.launch_app(run_in_thread=True)
print(f"Phoenix UI: {session.url}")  # UIのURLが表示されます

# 3. トレーシングの設定
tracer_provider = register(
    project_name="ollama-llm-app",  # プロジェクト名
)

# 4. Ollamaクライアントの設定とインストゥルメンテーション
# OllamaはOpenAI互換のAPIを提供するので、OpenAIInstrumentorを使用できます
from openai import OpenAI

# Ollama用のOpenAI互換クライアント
client = OpenAI(
    base_url="http://localhost:11434/v1",  # Ollamaのエンドポイント
    api_key="ollama"  # ダミーキー(Ollamaは認証不要)
)

OpenAIInstrumentor().instrument(tracer_provider=tracer_provider)

# 5. シンプルなLLM呼び出し
response = client.chat.completions.create(
    model="gemma3:12b",  # 使用するOllamaモデル(事前にpullが必要)
    messages=[
        {"role": "system", "content": "あなたは親切なアシスタントです。"},
        {"role": "user", "content": "Pythonとは何ですか?"}
    ],
    temperature=0.7,
)

print(response.choices[0].message.content)

# 6. 複数回呼び出してトレースを蓄積
questions = [
    "機械学習とは?",
    "ニューラルネットワークの仕組みは?",
    "過学習を防ぐ方法は?"
]

for question in questions:
    response = client.chat.completions.create(
        model="gemma3:12b",
        messages=[{"role": "user", "content": question}],
    )
    print(f"Q: {question}")
    print(f"A: {response.choices[0].message.content}\n")

print("Phoenix UIでトレースを確認できます:", session.url)

結果

期待通りの動作

残問題

  • コードの終了後に相変わらずエラーログが出力される。やはりarize-phoenixの使い方がまだよくわかっていないようだ。継続して調査

この記事が役に立ったら、いいね ❤️ やストック 📚 をお願いします!
質問やコメントもお気軽にどうぞ 💬

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?