Pydantic + Instructor

用:Pydantic + Instructor(强烈推荐)
这是目前最稳、最简单的方式。
✅ 示例(直接能用)
import instructor
from pydantic import BaseModel
from openai import OpenAI

client = instructor.from_openai(OpenAI())

class Elbow(BaseModel):
DN: int
D: float
T: float
angle: int
material: str
weight: float | None = None

result = client.chat.completions.create(
model="gpt-4.1",
response_model=Elbow,
messages=[
{"role": "user", "content": "DN200, D=219, T=5, 90度, 材料254SMO"}
],
)

print(result)
✅ 它帮你做了什么
你不用操心:
❌ JSON格式写错
❌ 字段缺失
❌ 类型错误
❌ 模型多说废话
它自动帮你:
✔ 强制输出符合 Pydantic
✔ 自动 retry(模型输出错就重问)
✔ 自动解析 JSON → 对象
✔ 类型校验

posted @ 2026-03-24 15:12  Python喵  阅读(2)  评论(0)    收藏  举报