one-to-many mode added

This commit is contained in:
Mayank Aamseek
2024-04-29 17:00:34 +05:30
parent 42d5df8fe1
commit d858aba571
+10 -9
View File
@@ -180,7 +180,7 @@ if st.session_state.user_info['mail'] in user_list:
with field_row[0]:
st.write("**Field Name**")
with field_row[1]:
if mode != 'Multiple fields':
if mode == 'Single field - Non Empty values':
field = st.selectbox('Field Name',sorted(set(field_prompt_mapping.keys())), index=0, label_visibility = "collapsed")
else:
field = st.multiselect('Field Name',sorted(set(field_prompt_mapping.keys())), sorted(
@@ -255,7 +255,7 @@ if st.session_state.user_info['mail'] in user_list:
, 'Llama 2 Chat 70B', 'Titan Text Express'), index=3, label_visibility = "collapsed")
st.write("**Prompt**")
if mode == 'Multiple fields':
if mode != 'Single field - Non Empty values':
sequence_input = json.dumps(field_prompt_mapping)
else:
sequence_input = field_prompt_mapping.get(field)
@@ -289,7 +289,7 @@ if st.session_state.user_info['mail'] in user_list:
)
# question = prompt
if mode == 'Multiple fields':
if mode != 'Single field - Non Empty values':
prompt_dict = json.loads(prompt)
prompt_dict_pg = prompt_dict | {str(k)+'_PG': "On which page can I find answer to the question - "+str(
v) for k, v in prompt_dict.items()}
@@ -461,7 +461,7 @@ if st.session_state.user_info['mail'] in user_list:
try:
response_dict = json.loads(response_text)
except:
if mode == 'Multiple fields':
if mode != 'Single field - Non Empty values':
response_dict = {"Test field": "Failed to extract"}
else:
response_dict = {field:response_text.strip("{").strip("}")}
@@ -479,7 +479,7 @@ if st.session_state.user_info['mail'] in user_list:
# answer_l = list(response_dict)[:1]
# except:
# answer_l = [response_dict]
if mode == 'Multiple fields':
if mode != 'Single field - Non Empty values':
field_l = list(response_dict.keys())
answer_l = list(response_dict.values())
field_dict = {k: v for k, v in response_dict.items() if not k.endswith('_PG')}
@@ -613,7 +613,7 @@ if st.session_state.user_info['mail'] in user_list:
# st.write(df)
# st.write(field_values_2)
df = pd.merge(df, field_values_2, how ='right', on =['Contract Name', 'SF_DB_COL_NAME'])
if mode == 'Multiple fields':
if mode != 'Single field - Non Empty values':
df = df[df['SF_DB_COL_NAME'].isin(list(field_prompt_mapping.keys()))]
else:
df = df[df['SF_DB_COL_NAME'].isin([field])]
@@ -667,7 +667,7 @@ if st.session_state.user_info['mail'] in user_list:
except:
accuracy = 'NA'
if mode == 'Multiple fields':
if mode != 'Single field - Non Empty values':
field = field_group
history.loc[len(history.index)] = [field, str(contract_count), st.session_state.user_info['mail'], datetime.now().strftime("%Y-%m-%d %H:%M:%S"), accuracy, attempt]
# df.to_csv("RESULTS\\"+field.replace("?","").replace("/","_")+'-'+llm_selected+'.csv', index=False)
@@ -722,8 +722,9 @@ if st.session_state.user_info['mail'] in user_list:
add_vertical_space(20)
st.write(field)
if mode != 'Multiple fields':
st.write(fields.loc[fields['SF_DB_COL_NAME'] == field, 'Field Name'].iloc[0])
# if mode != 'Multiple fields':
# st.write(fields.loc[fields['SF_DB_COL_NAME'] == field, 'Field Name'].iloc[0])
st.write(len(contract_list))
st.write(raw_response_text)