LLM Pythonエージェントのインストール
AI Agent Observability Pythonエージェントはpip install whatap-python[llm]コマンドでインストールし、サーバー環境に合わせて実行コマンドの前にwhatap-start-agentを追加して適用します。このドキュメントは、仮想環境のアクティベートからサービス実行確認までのインストール全過程を案内します。
インストール前の確認事項
エージェントをインストールする前に、次の点を確認してください。
仮想環境の有効化
アプリケーションがvirtualenvを使用している場合は、bin/activateファイルを実行して仮想環境を有効化してください。
エージェントダウンロード
アクセスキーを発行した後、エージェントダウンロドセクションに移動してください。次のコマンドを実行してエージェントをインストールしてください。
pip install whatap-python[llm]
pipコマンドでインストールできない場合は、pypi WhaTapページからインストールファイルをダウンロードしてください。ダウンロードしたファイルを解凍してからインストールを進めてください。
tar xzvf whatap_python-2.x.x.tar.gz
cd whatap_python-2.X.Y.Z
python setup.py install
whatap-python[llm]パッケージは、外部ライブラリdatasketches>=5.2.0、genai-pricesを必要とします。依存関係が不足すると、一部のデータ収集が欠落する可能性があります。手動インストール時にも該当の依存関係を含めてください。
エージェント構成ファイル
Pythonエージェントファイルは、アプリケーションモニタリングに必要な情報を抽出してWhaTap収集サーバーに転送するトレーサーと、それを支援する要素で構成されています。エージェントファイルの構成は以下を参照してください。
エージェント設定
WHATAP_HOMEパスの設定
ログと設定ファイルのパスのために$WHATAP_HOMEパスを指定してください。whatapディレクトリを新規作成することを推奨します。
$ export WHATAP_HOME=[PATH]
アクセスキーおよび収集サーバーIPの設定
アク セスキーおよび収集サーバーIPを設定するために、whatap-llm-setting-configコマンドを実行してください。
$ whatap-llm-setting-config \
--host [ COLLECTION_SERVER_IP ] \
--license [ ACCESS_KEY ] \
--app_name [ USER_DEFINED_AGENT_NAME ] \
--app_process_name [ APPLICATION_PROCESS_NAME(uwsgi, gunicorn etc..) ]
設定の確認
$WHATAP_HOMEで指定したパスにwhatap.confファイルが生成・設定されます。次のコマンドを実行してwhatap.confファイルが生成されたか確認してください。
$ cat $WHATAP_HOME/whatap.conf
llm_license=[ACCESS_KEY]
llm.whatap.server.host=[COLLECTION_SERVER_IP]
llm_enabled=true
# application name
app_name=[ USER_DEFINED_AGENT_NAME ]
# middleware process name ex)uwsgi, gunicorn ..
app_process_name=[ APPLICATION_PROCESS_NAME(uwsgi, gunicorn etc..) ]
LLM専用モジュールのインストール
Python AI Agent Observabilityを使用するには、WhaTapがLLM専用に開発したGoモジュールを追加でインストールする必要があります。
cd $WHATAP_HOME
curl -fsSL -O https://repo.whatap.io/python/llm/whatap-python-llm.tar.gz
tar -xzf whatap-python-llm.tar.gz
圧縮を解除すると生成されるwhatap-python-llmフォルダーは、先に設定した$WHATAP_HOMEパス配下に配置する必要があります。
権限の問題が発生した場合
-
WhaTap設定のための*$WHATAP_HOME/whatap.conf*ファイルの読み取りおよび書き込み権限
-
WhaTapログのための*$WHATAP_HOME/logs*パスとサブファイルの読み取りおよび書き込み権限
$WHATAP_HOMEパスに対する権限の問題が発生した場合は、次のコマンドを実行して権限を付与してください。
echo `sudo chmod -R 777 $WHATAP_HOME`
サーバー環境別の適用
サーバー環境に合った方法を選択してください。
- Command
- uWSGI
- Gunicorn
- Supervisor
- WSGI
- Docker
- Code
Command環境では、次のようにwhatap-start-agentコマンドをアプリケーション起動コマンドの前に追加してください。
# $ whatap-start-agent [Application start command]
$ whatap-start-agent python manage.py runserver
uWSGI環境では、次のようにwhatap-start-agentコマンドをuwsgiコマンドの前に追加してください。
$ whatap-start-agent uwsgi --ini myapp.ini
サービスにuWSGIを登録してアプリケーションを実行する場合は、次のサンプルコードを参照してください。
description "uWSGI application server handling myapp"
start on runlevel [2345]
stop on runlevel [!2345]
exec whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
# or if you are using a virtual environment
exec env WHATAP_HOME=[PATH] [ABSOLUTE_PATH]/whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
...
NAME="uwsgi"
PATH=/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/uwsgi
PID=$RUN/$NAME.pid
INI_PATH=/etc/$NAME/$NAME.ini
########## WHATAP_AGENT_CONF ##########
WHATAP_HOME=[PATH]
WHATAP_AGENT=[ABSOLUTE_PATH]/whatap-start-agent
...
do_start(){
env WHATAP_HOME=$WHATAP_HOME $WHATAP_AGENT [YOUR_APPLICATION_START_COMMAND]
}
-
ユーザーを変更する場合は、
WHATAP_HOME環境変数を追加してください。 -
仮想環境を使用する場合は、エージェント起動コマンドを絶対パスで追加してください。
-
サービス実行ファイル(/etc/init/uwsgi.conf)を修正して、エージェント起動コマンドとともにアプリケーションを起動してください。
-
ユーザー環境によって、サービス実行ファイルのパスが異なる場合があります。
Gunicorn環境では、次のようにwhatap-start-agentコマンドをGunicornコマンドの前に追加してください。
$ whatap-start-agent gunicorn myapp.wsgi
サービスにGunicornを登録してアプリケーションを実行する場合は、次のサンプルコードを参照してください。
description "gunicorn application server handling myapp"
start on runlevel [2345]
stop on runlevel [!2345]
exec whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
# or if you are using a virtual environment
exec env WHATAP_HOME=[PATH] [ABSOLUTE_PATH]/whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
...
NAME="gunicorn"
PATH=/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/gunicorn
PID=$RUN/$NAME.pid
INI_PATH=/etc/$NAME/$NAME.ini
########## WHATAP_AGENT_CONF ##########
WHATAP_HOME=[PATH]
WHATAP_AGENT=[ABSOLUTE_PATH]/whatap-start-agent
...
do_start(){
env WHATAP_HOME=$WHATAP_HOME $WHATAP_AGENT [YOUR_APPLICATION_START_COMMAND]
}
-
ユーザーを変更する場合は、
WHATAP_HOME環境変数を追加してください。 -
仮想環境を使用する場合は、エージェント起動コマンドを絶対パスで追加してください。
-
サービス実行ファイル(/etc/init/gunicorn.conf)を修正して、エージェント起動コマンドとともにアプリケーションを起動してください。
-
ユーザー環境によって、サービス実行ファイルのパスが異なる場合があります。
Supervisor環境では、supervisor.confファイルに次の設定を追加してください。
[program:app-uwsgi]
environment = WHATAP_HOME=[PATH]
command = [ABSOLUTE_PATH]/whatap-start-agent /usr/local/bin/uwsgi --ini /home/blog/backend/config/uwsgi.ini
[program:nginx-app]
command = /usr/sbin/nginx
-
ユーザーを変更する場合は、
WHATAP_HOME環境変数を追加してください。 -
仮想環境を使用する場合は、エージェント起動コマンドを絶対パスで追加してください。
-
サービス実行ファイル(/etc/supervisor/conf.d/supervisor.conf)を修正して、エージェント起動コマンドとともにアプリケーションを起動してください。
-
ユーザー環境によって、サービス実行ファイルのパスが異なる場合があります。
WSGIアプリケーションを直接実装する方法を案内します。以下を参照してください。
import whatap
@whatap.register_app
def simple_app(environ, start_response):
"""Simplest possible application object"""
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return ['Hello world!\n']
Dockerコンテナとしてサービスされるアプリケーションの場合、Dockerfileに以下の内容を追加してください。
-
Pythonエージェントをインストールしてください。
DockerfileENV WHATAP_HOME /whatap
RUN mkdir -p /whatap
RUN pip install whatap-python[llm]ノートrequirements.txtを使用する場合 は、該当ファイルにwhatap-python[llm]を追加してください。
-
アクセスキーおよび収集サーバーIPの設定を登録してください。
DockerfileRUN touch /whatap/whatap.conf
RUN echo "llm_license=[ ACCESS_KEY ]" > /whatap/whatap.conf
RUN echo "llm.whatap.server.host=[ COLLECTION_SERVER_IP ]" >> /whatap/whatap.conf
RUN echo "app_name=[ AGENT_NAME ]" >> /whatap/whatap.conf
RUN echo "app_process_name=[ APPLICATION_PROCESS_NAME(uwsgi, gunicorn etc..) ]" >> /whatap/whatap.conf -
既存の実行コマンド
python manage.py runserverの前にwhatap-start-agentを追加してください。DockerfileCMD ["whatap-start-agent", "python", "manage.py", "runserver", "0.0.0.0:8000"]
コードの先頭にAPIを直接呼び出すコードを次のように追加してエージェントを適用できます。
コードを通じてエージェントを実行する場合は、whatap.confに次のオプションを追加してください。
whatap_code_start=true
コードの先頭に次のように追加してください。
import whatap
whatap.agent()
アプリケーショ ンサーバーを起動すると、エージェントがモニタリングデータの収集を開始します。
サービス実行の確認
次のコマンドを実行して、WhaTap Pythonサービスが正常に実行されているか確認してください。
ps -ef | grep whatap_python