Update LLM_automation_GPT35.py
Browse files- LLM_automation_GPT35.py +5 -9
LLM_automation_GPT35.py
CHANGED
@@ -24,7 +24,7 @@ def create_data(description):
|
|
24 |
)
|
25 |
df2=description
|
26 |
#### Create OpenAI llm:
|
27 |
-
llm=ChatOpenAI(model="gpt-3.5-turbo
|
28 |
|
29 |
### Create an output parser:
|
30 |
output_parser=StrOutputParser()
|
@@ -33,16 +33,9 @@ def create_data(description):
|
|
33 |
#### Here we have created three actions: The prompt, llm and output parser:
|
34 |
chain=prompt|llm|output_parser
|
35 |
|
36 |
-
### A function to invoke the llm. For some reason phi3 doesn't give accurate result sometimes if used directly in dj.append()
|
37 |
-
def res(i):
|
38 |
-
response=chain.invoke({"question" : df2['Description'][i]+" Is the news referring to a specific accident incident or accident in general? Answer only in a word: 'specific' or 'general'. No other words are allowed in your answer"})
|
39 |
-
return response
|
40 |
-
|
41 |
-
#### dj list contains type of report 'General' or 'Specific'
|
42 |
dj=[]
|
43 |
-
|
44 |
for i in range(len(df2)):
|
45 |
-
dj.append(
|
46 |
|
47 |
df2['Report Type']=dj
|
48 |
|
@@ -72,11 +65,14 @@ def create_data(description):
|
|
72 |
Date.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: What is the date of accident occurrence in Day-Month-Year format. Keep in mind that news publish date and accident occurrence date may be different. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
73 |
Time.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: What is the time of accident occurrence in 24-hour format. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
74 |
Killed.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: How many people were killed in the accident?. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
|
|
75 |
Injured.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: How many people were injured in the accident?. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
76 |
Location.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: What is the name of the location where accident took place?. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
77 |
Road_Characteristic.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: What is the type of road where accident took place?. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
|
|
78 |
Pedestrian_Involved.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: Was there any pedestrian involved in the accident?. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
79 |
vehicles.append(chain.invoke({"question" : "Only name the type of vehicles involved in the accident. If multiple vehicles are involved, seperate them by hyphens(-). Example answers: Bus, Truck-Bus etc. If no vehicles are mentioned, your answer will be: Not Available. Your answer should only contain the vehicle name, do not include any extra sentences" + df2['Description'][i]}))
|
|
|
80 |
|
81 |
#### Probable type of final dataframe:
|
82 |
df2["Date"]=Date
|
|
|
24 |
)
|
25 |
df2=description
|
26 |
#### Create OpenAI llm:
|
27 |
+
llm=ChatOpenAI(model="gpt-3.5-turbo")
|
28 |
|
29 |
### Create an output parser:
|
30 |
output_parser=StrOutputParser()
|
|
|
33 |
#### Here we have created three actions: The prompt, llm and output parser:
|
34 |
chain=prompt|llm|output_parser
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
dj=[]
|
|
|
37 |
for i in range(len(df2)):
|
38 |
+
dj.append(chain.invoke({"question" : df2['Description'][i]+" Is the news about road accident? If no, then reply 'General'. Else if the news is about road accident then check if the news is referring to a specific accident incident or accident in general? Answer only in a word: Either specific or general."}))
|
39 |
|
40 |
df2['Report Type']=dj
|
41 |
|
|
|
65 |
Date.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: What is the date of accident occurrence in Day-Month-Year format. Keep in mind that news publish date and accident occurrence date may be different. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
66 |
Time.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: What is the time of accident occurrence in 24-hour format. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
67 |
Killed.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: How many people were killed in the accident?. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
68 |
+
time.sleep(30)
|
69 |
Injured.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: How many people were injured in the accident?. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
70 |
Location.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: What is the name of the location where accident took place?. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
71 |
Road_Characteristic.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: What is the type of road where accident took place?. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
72 |
+
time.sleep(30)
|
73 |
Pedestrian_Involved.append(chain.invoke({"question" : "Read the accident report carefully and provide only the answer of the question asked. Do not add any extra sentences or words except the answer: Was there any pedestrian involved in the accident?. If you cannot find or deduce the answer, simply reply Not Available" + df2['Description'][i]}))
|
74 |
vehicles.append(chain.invoke({"question" : "Only name the type of vehicles involved in the accident. If multiple vehicles are involved, seperate them by hyphens(-). Example answers: Bus, Truck-Bus etc. If no vehicles are mentioned, your answer will be: Not Available. Your answer should only contain the vehicle name, do not include any extra sentences" + df2['Description'][i]}))
|
75 |
+
time.sleep(30)
|
76 |
|
77 |
#### Probable type of final dataframe:
|
78 |
df2["Date"]=Date
|