Smolagents
このページに示されているすべてのコードサンプルはPythonで書かれています。
このページでは、SmolagentsをW&B Weaveと統合して、エージェントアプリケーションを追跡および分析する方法について説明します。モデル推論のログ記録、関数呼び出しのモニタリング、Weaveのトレースおよびバージョン管理機能を使用した実験の整理方法を学びます。提供される例に従うことで、貴重な洞察をキャプチャし、アプリケーションを効率的にデバッグし、異なるモデル構成を比較することができます—すべてWeaveウェブインターフェース内で行えます。
Smolagentsは、強力なエージェントアプリケーションを構築するための最小限の抽象化を提供するシンプルなフレームワークです。OpenAI、Hugging Face Transformers、Anthropicなど、複数のLLMプロバイダーをサポートしています。
Weaveは自動的にトレースをキャプチャします Smolagents。追跡を開始するには、weave.init()を呼び出し、通常通りライブラリを使用します。
前提条件
-
SmolagentsをWeaveで使用する前に、必要なライブラリをインストールするか、最新バージョンにアップグレードしてください。次のコマンドは
smolagents、openai、およびweaveをインストールまたはアップグレードし、出力を抑制します:
-
SmolagentsはOpenAI、Hugging Face Transformers、Anthropicなど、複数のLLMプロバイダーをサポートしています。選択したプロバイダーのAPIキーを対応する環境変数を設定して設定します:
基本的なトレース
言語モデルアプリケーションのトレースを中央の場所に保存することは、開発中および本番環境で不可欠です。これらのトレースはデバッグに役立ち、アプリケーションを改善するための貴重なデータセットとして機能します。
Weaveは自動的にトレースをキャプチャします Smolagents。追跡を開始するには、weave.init()を呼び出してWeaveを初期化し、通常通りライブラリを使用します。
次の例は、Weaveでツールを使用するLLMエージェントへの推論呼び出しをログに記録する方法を示しています。このシナリオでは:
- Smolagentsの
gpt-4oを使用して言語モデル(OpenAIのOpenAIServerModel)を定義します。
- エージェントが必要に応じて呼び出せる検索ツール(
DuckDuckGoSearchTool)を設定します。
- ツールとモデルを渡して
ToolCallingAgentを構築します。
- 検索ツールをトリガーするクエリをエージェントを通じて実行します。
- Weaveは各関数とモデルの呼び出しをログに記録し、ウェブインターフェースを通じて検査できるようにします。
コードサンプルを実行したら、Weaveプロジェクトダッシュボードに移動してトレースを表示します。
カスタムツールのトレース
エージェントワークフロー用のカスタムツールを宣言するには、@toolで関数をデコレートするか、smolagentsからsmolagents.Toolクラスを継承します。
Weaveは自動的にSmolagentsワークフロー用のカスタムツール呼び出しを追跡します。次の例は、WeaveでカスタムSmolagentsツール呼び出しをログに記録する方法を示しています:
- カスタム
get_weather関数が定義され、Smolagentsから@toolでデコレートされ、エージェントが推論プロセスの一部としてそれを呼び出せるようにします。
- この関数は場所と摂氏出力用のオプションフラグを受け入れます。
- 言語モデルは
OpenAIServerModelを使用してインスタンス化されます。
- カスタムツールとモデルで
ToolCallingAgentが作成されます。
- エージェントがクエリを実行すると、
get_weatherツールを選択して呼び出します。
- Weaveはモデル推論とカスタムツールの呼び出しの両方を、引数と戻り値を含めてログに記録します。
コードサンプルを実行したら、Weaveプロジェクトダッシュボードに移動してトレースを表示します。
