pydantic定义llm response数据模型
pydantic基于BaseModel定义的数据模型,能通过model_json_schema输出json解读。
示例如下
from pydantic import BaseModelclass semantic_group(BaseModel):semantic_unit:strentities:list[str]relationships:list[str]class text_decomposition(BaseModel):Output:list[semantic_group]class relationship_reconstraction(BaseModel):source:strrelationship:strtarget:strclass elements(BaseModel):title:strdescription:strtext_decomposition.model_json_schema()
输出如下
{'$defs': {'semantic_group': {'properties': {'semantic_unit': {'title': 'Semantic Unit',
'type': 'string'},
'entities': {'items': {'type': 'string'},
'title': 'Entities',
'type': 'array'},
'relationships': {'items': {'type': 'string'},
'title': 'Relationships',
'type': 'array'}},
'required': ['semantic_unit', 'entities', 'relationships'],
'title': 'semantic_group',
'type': 'object'}},
'properties': {'Output': {'items': {'$ref': '#/$defs/semantic_group'},
'title': 'Output',
'type': 'array'}},
'required': ['Output'],
'title': 'text_decomposition',
'type': 'object'}
reference
---
Pydantic 模型上的配置
https://docs.pydantic.org.cn/latest/concepts/config/