import asyncio
from langsmith import Client, aevaluate
client = Client()
# 克隆一个包含有害内容标签的文本数据集。
# 每个示例输入都有一个 "text" 键,每个输出都有一个 "label" 键。
dataset = client.clone_public_dataset(
"https://smith.langchain.com/public/3d6831e6-1680-4c88-94df-618c8e01fc55/d"
)
def correct(outputs: dict, reference_outputs: dict) -> bool:
# 由于我们的链输出的是字符串而不是字典,因此该字符串
# 会以默认的 "output" 键存储在 outputs 字典中:
actual = outputs["output"]
expected = reference_outputs["label"]
return actual == expected
async def main():
results = await aevaluate(
chain,
data=dataset,
evaluators=[correct],
experiment_prefix="gpt-5.5, baseline",
metadata={"models": "openai:gpt-5.5"}, # 可选,用于在 UI 中填充模型/提示词/工具列
)
print(results)
asyncio.run(main())