Skip to main content
これはインタラクティブなノートブックです。ローカルで実行するか、以下のリンクを使用してください。
LLM が生成した応答を自動で評価するのは難しい場合があります。応答の評価と改善の精度を高めるには、ユーザーから直接フィードバックを収集し、問題点を特定する方法も併用できます。 このノートブックでは、カスタムチャットボットの応答に対するユーザーフィードバックを収集する方法を紹介します。Streamlit でインターフェースを構築し、LLM とのやり取りとフィードバックを W&B Weave で取得します。最終的には、各応答をユーザーによる高評価・低評価のリアクションや自由記述のフィードバックとあわせて Weave にログするチャットボットが完成し、本番環境でのやり取りを確認して改善点を特定できるようになります。

セットアップ

まず、必要なパッケージをインストールし、OpenAI と W&B の APIキーを設定します。これにより、チャットボットが OpenAI API を呼び出し、Call を Weave にログできるようになります。
次に、以下の内容で chatbot.py というファイルを作成します。このファイルでは、Streamlit のチャットインターフェースを定義し、各応答が追跡されるように OpenAI の Call を Weave op でラップします。さらに、リアクションやメモを対応する Weave の Call に紐付けるためのフィードバックコントロールもレンダリングします。
streamlit run chatbot.py で実行できます。 これで、このアプリケーションを操作し、各応答の後にフィードバックボタンをクリックできます。関連付けられたフィードバックは Weights & Biases UI で確認できます。チャットの各やり取りは Weave の Call として記録され、送信したリアクションやメモは、その応答を生成した Call に紐付けられます。

解説

このセクションでは、チャットボットで使用している主要な Weave API について順を追って説明します。同じパターンをご自身のアプリケーションにも適用できます。 次の、デコレーターを付けた予測関数を見てみましょう。
通常どおり使用して、モデルの応答をユーザーに返すことができます。
フィードバックを追加するには call オブジェクトが必要です。このオブジェクトは、関数を通常どおり呼び出すのではなく、.call() メソッドを使用して取得します。
特定の応答にフィードバックを付与するには、この call オブジェクトが必要です。Call を実行すると、オペレーションの出力を result として参照できます。 call オブジェクトを取得したら、その応答に対するユーザーフィードバックを記録できます。

まとめ

このチュートリアルでは、Streamlit を使用して、Weave で入力と出力を取得し、ユーザーのフィードバックを取得するためのサムズアップボタンとサムズダウンボタンを備えたチャット UI を構築しました。
最終更新日 2026年9月30日