1- from datetime import datetime , date
1+ from datetime import date , datetime
22from langchain_core .prompts import ChatPromptTemplate
33from langchain_openai import ChatOpenAI
4- from pydantic import BaseModel , Field , computed_field
4+ from pydantic import BaseModel , computed_field , Field
55
66
77class NoticeEmailExtract (BaseModel ):
@@ -64,7 +64,9 @@ class NoticeEmailExtract(BaseModel):
6464 @property
6565 def date_of_notice (self ) -> date | None :
6666 try :
67- return datetime .strptime (self .date_of_notice_str , "%Y-%m-%d" ).date ()
67+ return datetime .strptime (
68+ self .date_of_notice_str , "%Y-%m-%d"
69+ ).date ()
6870 except Exception as e :
6971 print (e )
7072 return None
@@ -73,7 +75,9 @@ def date_of_notice(self) -> date | None:
7375 @property
7476 def compliance_deadline (self ) -> date | None :
7577 try :
76- return datetime .strptime (self .compliance_deadline_str , "%Y-%m-%d" ).date ()
78+ return datetime .strptime (
79+ self .compliance_deadline_str , "%Y-%m-%d"
80+ ).date ()
7781 except Exception as e :
7882 print (e )
7983 return None
@@ -99,6 +103,7 @@ def compliance_deadline(self) -> date | None:
99103
100104notice_parser_model = ChatOpenAI (model = "gpt-4o-mini" , temperature = 0 )
101105
102- NOTICE_PARSER_CHAIN = info_parse_prompt | notice_parser_model .with_structured_output (
103- NoticeEmailExtract
106+ NOTICE_PARSER_CHAIN = (
107+ info_parse_prompt
108+ | notice_parser_model .with_structured_output (NoticeEmailExtract )
104109)
0 commit comments