Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-john-wbdocs-2044-rename-serverless-products.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
これはインタラクティブなノートブックです。ローカルで実行することも、以下のリンクから利用することもできます。
Weave でトレースを開始する前に、以下の前提条件を満たしてください。
- W&B Weave SDK をインストールし、APIキーを使用してログインします。
- OpenAI SDK をインストールし、APIキーを使用してログインします。
- W&B のプロジェクトを初期化します。
# 依存関係のインストールとインポート
!pip install wandb weave openai -q
import json
import os
from getpass import getpass
from openai import OpenAI
import weave
# 🔑 APIキーの設定
# このセルを実行すると、`getpass` でAPIキーの入力を求められます。入力内容はターミナルに表示されません。
#####
print("---")
print(
"W&B APIキーの作成はこちら: https://wandb.ai/settings#apikeys"
)
os.environ["WANDB_API_KEY"] = getpass("W&B APIキーを入力してください: ")
print("---")
print("OpenAI APIキーの生成はこちら: https://platform.openai.com/api-keys")
os.environ["OPENAI_API_KEY"] = getpass("OpenAI APIキーを入力してください: ")
print("---")
#####
# 🏠 W&Bのプロジェクト名を入力してください
weave_client = weave.init("MY_PROJECT_NAME") # 🐝 W&Bのプロジェクト名
次のコードサンプルでは、@weave.op デコレータを使って、Weave でトレースをキャプチャして可視化する方法を示します。ここでは extract_fruit という関数を定義し、OpenAI の GPT-4o にプロンプトを送信して、文から構造化データ (果物、色、風味) を抽出します。関数を @weave.op でデコレートすると、Weave は入力、出力、および中間 step を含む関数の実行を自動的にトラッキングします。サンプルの文でこの関数を呼び出すと、完全なトレースが保存され、Weave UI で確認できます。
@weave.op() # 🐝 リクエストをトラッキングするデコレーター
def extract_fruit(sentence: str) -> dict:
client = OpenAI()
system_prompt = (
"Parse sentences into a JSON dict with keys: fruit, color and flavor."
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": sentence},
],
temperature=0.7,
response_format={"type": "json_object"},
)
extracted = response.choices[0].message.content
return json.loads(extracted)
sentence = "There are many fruits that were found on the recently discovered planet Goocrux. There are neoskizzles that grow there, which are purple and taste like candy."
extract_fruit(sentence)