Giáo trình tự học miễn phí · Dịch vụ hỗ trợ theo nhu cầu.
4. OpenAI Strict Structured Outputs: Bảo Đảm JSON 100% Khớp Pydantic Không Lỗi Cú Pháp
Ứng dụng tính năng `strict: true` trong Structured Outputs để loại bỏ hoàn toàn hiện tượng JSON bị lỗi hoặc thiếu trường dữ liệu khi tích hợp vào Backend.
🔒 Vì Sao Strict Structured Outputs Là Bước Ngoặt Cho Production?
Trước đây, việc parse JSON từ LLM thường xuyên bị crash do thừa dấu phẩy, sai kiểu chuỗi/số hoặc thiếu key. Với Strict Mode, tỷ lệ lỗi cú pháp bằng 0% tuyệt đối.
from openai import OpenAI
from pydantic import BaseModel, Field
from typing import List, Literal
class ProjectRisk(BaseModel):
risk_title: str
impact_level: Literal["CRITICAL", "HIGH", "MEDIUM", "LOW"]
mitigation_strategy: str
class ProjectEvaluation(BaseModel):
project_name: str
overall_health: Literal["GREEN", "AMBER", "RED"]
budget_spent_usd: float
risks: List[ProjectRisk]
client = OpenAI(api_key="YOUR_OPENAI_API_KEY")
completion = client.beta.chat.completions.parse(
model="gpt-4o-2024-08-06",
messages=[
{"role": "system", "content": "Đánh giá rủi ro dự án số hóa từ báo cáo tuần."},
{"role": "user", "content": "Dự án ERP đã tiêu 25,000$, đang chậm tiến độ 2 tuần do nhà thầu phụ chưa giao module kế toán."}
],
response_format=ProjectEvaluation,
)
eval_data: ProjectEvaluation = completion.choices[0].message.parsed
print(f"Dự án: {eval_data.project_name} | Trạng thái: {eval_data.overall_health}")
for r in eval_data.risks:
print(f"⚠️ Rủi ro ({r.impact_level}): {r.risk_title} -> {r.mitigation_strategy}")
Thực hành và tự đánh giá
Xây dựng Pydantic Schema cho biên bản bàn giao thiết bị CNTT (Tên máy, Serial, Nhân viên nhận, Tình trạng) và chạy thử nghiệm trích xuất.
AI Tinh Gọn hỗ trợ khảo sát hiện trạng, kèm 1-1 on-premise bảo mật dữ liệu, setup hạ tầng riêng và xuất hóa đơn VAT hợp pháp cho doanh nghiệp.
Tiến độ tự học lưu trên trình duyệt này. Chỉ đánh dấu khi đã kiểm tra sản phẩm thực hành.