引言
在当今数据驱动的世界中,能够从丰富的文本信息中提取结构化数据是具有高度价值的能力。无论是为了将数据插入数据库,还是与其他下游系统进行集成,从模型中获得符合特定模式的输出都非常实用。这篇文章将为您介绍如何利用模型返回结构化数据的方法,我们将涵盖一些策略以及具体的编码示例。
主要内容
1. 使用with_structured_output()
方法
这是获取结构化输出的最简单和最可靠的方式。该方法已经在提供结构化输出原生API的模型中实现。它接收一个模式输入,该模式指定了所需输出属性的名称、类型和描述。可以使用TypedDict
类、JSON模式或Pydantic类来定义模式。
Pydantic类
Pydantic类的优势在于生成的输出将被验证。如果缺少任何必需字段或者字段的类型错误,将会抛出错误。
from langchain_core.pydantic_v1 import BaseModel, Field
from typing import Optional
class Joke(BaseModel):
setup: str = Field(description="The setup of the joke")
punchline: str = Field(description="The punchline to the joke")
rating: Optional[int] = Field(
default=None, de