2025-03-27
Azure環境の広聴AIに大きなデータを入れたらしばらく実行された後でエラーになってしまった
どういう原因で失敗したのかを調べるためにAzure Container Appの中の中間データを取り出したい
注:
:
az containerapp exec \
--name <コンテナアプリ名> \
--resource-group <リソースグループ名> \
--container <コンテナ名> \
--command "/bin/bash"
$ apt update
$ apt install zip
$ cd broadlistening/pipeline
$ zip -r outputs.zip outputs
$ python -mhttp.server 8001
APIサーバは普通にHTTPSでアクセスすると{"status":"ok"}と返してくる
これはAzureがリクエストを8000番で動いているHTTPサーバに転送している
この設定を一時的に8001番に変える
これでAPIサーバにアクセスした時に先ほど作ったresults.zipが見えて、ダウンロードできるようになる。
ダウンロードし終わったら忘れずに元に戻しておく
通常の成功したレポートは左のようになるが、今回のは右
args.csvにextractionの結果の25000~件5.2MBのデータが出力されている
nasukaさんの推測ではOut of Memoryじゃないかということだったが、多分そうなのだろうという感じ
embeddingでtext-embedding-3-smallを使ってて、1件あたり1536次元のfloat32になる。
それをPythonのlist[float]で扱ってる
Pythonのfloatは倍精度float64で8バイトなので合計 = 1536 × 8 = 12,288バイト(約12KB)
25000件ならざっくり300MB
メモリ1GBのコンテナだとアプリケーションが使える余裕がそんなにはないってことなんだろうな
2GBなら余裕なはず