🈹

LangSmith の Split を使って Evaluate 時に使うデータを分けよう

2024/05/26に公開

LangSmithで評価を実行していく際にはデータセットとevaluateを実行する関数が必要な訳ですが、必ずしも常に全てのデータに対して実行したい訳ではありません。

「今この観点でテストしていてここら辺のデータだけでいいんだよな〜」ということは度々あるので、そんな時に活用できる、最近サイレントで追加されたSplitという機能を活用してみます。

まずSplit機能についてですが、データセットのExamplesタブに行くと次のようにSplitsというタグのようなものを指定することができます。

次にこれをevaluate実行時にどう利用するかですが、次のようにmetadataの中のdataset_splitというプロパティを見て絞り込み、あとはevaluate関数に渡すだけです。

examples = client.list_examples(dataset_name=dataset_name, splits=["cat"])

results = evaluate(
  your_predict_function,
  data=examples
)

実は今までも次のようにSDK経由でメタデータを入れることはできたのですが、GUIでポチポチ指定できるようになったのが嬉しいですね。

client.create_example(
    dataset_id=dataset_id,
    inputs=example,
    outputs={"output": output},
    metadata={"type": "cat"},
)

正直Splitsという表現にあまり馴染みがないので、本当に正しい使い方をしているのかイマイチ自信がないのですが便利なのでご活用ください!

使い方合ってました。
https://x.com/LangChainAI/status/1795489391047254017

Gaudiy Engineers' Blog

Discussion