導入必要的套件
從 pydantic 匯入 BaseModel
從 typing 匯入 Optional
從 openai 匯入 OpenAI
從 tika 匯入 parser
初始化 OpenAI 客戶端
client = OpenAI(api_key = “YOUR_OPENAI_KEY”)
定義描述結構化輸出格式的類別
class legal_data(BaseModel):
case_number: str
case_title: str
court_name: str
judge_name: str
jurisdiction: str
claimant_name: str
defendant_name: str
other_involved_parties: Optional[str]
filing_date: str
hearing_date: str
order_date: str
case_type: str
summary_of_legal_issue: str
compensasion_amout: Optional[str]
referenced_documents: Optional[str]
summary_of_ruling: str
final_decision: str
future_obligations: Optional[str]
使用 Apache Tika 解析器從案例研究 PDF 中提取文本
pdf_path = “USCOURTS-azb-3_23-bk-08817-0.pdf”
parsed_pdf = parser.from_file(pdf_path)
text_content = parsed_pdf.get(‘content’, ”).replace(“\n\n”, “”)
調用 `gpt-4o-mini` 模型,並使用提示指令、提取的法律案例數據和預期的輸出格式
completion = client.beta.chat.completions.parse(
model=”gpt-4o-mini”,
messages=[
{“role”: “system”, “content”: “你是一位專家,專門分析法律案例文件中的信息。你已經獲得了法律案例數據,請分析並以提供的結構化格式回應。”},
{“role”: “user”, “content”: f”法律案例研究數據:\n{text_content}”}
],
response_format=legal_data
)
extracted_legal_data = completion.choices[0].message.parsed
顯示輸出
for field, value in extracted_legal_data.__dict__.items():
print(f”{field}: {value}”)
新聞來源
本文由 AI 台灣 使用 AI 編撰,內容僅供參考,請自行進行事實查核。加入 AI TAIWAN Google News,隨時掌握最新 AI 資訊!