メインコンテンツへスキップ
W&B Weave で Call を作成した後は、入力、出力、メタデータを確認するために、個々の Call を開きたくなることがよくあります。このページでは、UI または SDK で Call を表示する方法と、weave.Markdown を使用して UI でのトレースデータのレンダリング方法を Weave でカスタマイズする方法を説明します。次のタブから、ワークフローに合ったインターフェースを選択してください。
UI で Call を表示するには、次の手順を実行します。
  1. wandb.ai にアクセスし、project を選択します。
  2. Weave のプロジェクトのサイドバーで Traces をクリックします。
  3. 表で表示したい Call を検索します。
  4. Call をクリックして詳細ページを開きます。
Trace view の詳細については、Weave Trace view を操作するを参照してください。

weave.Markdown を使ってレンダリングされたトレースをカスタマイズする

Call を表示できるようになったら、次はその入力と出力を UI でどのように表示するかを調整したくなる場合があります。weave.Markdown を使用すると、元のデータを失うことなく、Weave でのトレース情報の表示方法をカスタマイズできます。これにより、基になるデータ構造を保持したまま、入力と出力を整形された読みやすいコンテンツブロックとして表示できます。
トレースデータを整形するには、@weave.op デコレータで postprocess_inputs 関数と postprocess_output 関数を使用します。次のコードサンプルでは、postprocessor を使って、より読みやすい形式で Weave に Call を表示します。
import weave

def postprocess_inputs(query) -> weave.Markdown:
    search_box = f"""
**Search Query:**
``+`
{query}
``+`
"""
    return {"search_box": weave.Markdown(search_box),
            "query": query}

def postprocess_output(docs) -> weave.Markdown:
    formatted_docs = f"""
# {docs[0]["title"]}

{docs[0]["content"]}

[Read more]({docs[0]["url"]})

---

# {docs[1]["title"]}

{docs[1]["content"]}

[Read more]({docs[1]["url"]})
"""
    return weave.Markdown(formatted_docs)

@weave.op(
    postprocess_inputs=postprocess_inputs,
    postprocess_output=postprocess_output,
)
def rag_step(query):
    # S&P 500 企業に関する新聞記事の例
    docs = [
        {
            "title": "OpenAI",
            "content": "OpenAI is a company that makes AI models.",
            "url": "https://www.openai.com",
        },
        {
            "title": "Google",
            "content": "Google is a company that makes search engines.",
            "url": "https://www.google.com",
        },
    ]
    return docs

if __name__ == "__main__":
    weave.init('markdown_renderers')
    rag_step("Tell me about OpenAI")
op を実行すると、Weave は整形された Markdown を Call の詳細ページで元のデータと並べて表示します。次のスクリーンショットは、未整形の出力と整形済みの出力が横に並んで表示されている様子を示しています。 コードサンプルを使用して Weave UI でレンダリングされた Call。