From 827b1f5d3a677283e3ad402e5c41d5f33bbad4c4 Mon Sep 17 00:00:00 2001 From: Mayank Aamseek Date: Thu, 7 Mar 2024 18:48:53 +0530 Subject: [PATCH] select 1 contract in interface_3 --- streamlit/interface_1.py | 45 ++++++++++++++++++++++------------------ streamlit/interface_3.py | 32 +++++++++++++++++----------- 2 files changed, 45 insertions(+), 32 deletions(-) diff --git a/streamlit/interface_1.py b/streamlit/interface_1.py index 400adb0..a432951 100644 --- a/streamlit/interface_1.py +++ b/streamlit/interface_1.py @@ -5,6 +5,7 @@ import streamlit as st import pandas as pd from io import StringIO from datetime import datetime +import boto3 st.set_page_config(layout = "wide") @@ -21,27 +22,34 @@ st.set_page_config(layout = "wide") # add_vertical_space(15) # # st.write("Doczy") +s3_client = boto3.client('s3', + region_name="us-east-1", +) +objects = s3_client.list_objects_v2(Bucket='doczy-dev-infra-textract' + , Prefix="batches/batch_1/", Delimiter='/') + +folder_list = [] +for prefix in objects['CommonPrefixes']: + folder_list.append(prefix['Prefix'][:-1].split('/')[-1]) client_row = st.columns([0.1, 0.8]) with client_row[0]: st.write("**Client Name**") with client_row[1]: - client = st.selectbox('Client Name',('Delaware First Health, Inc.', 'Community Health Choice, Inc','CareSource Network Partners LLC', - 'HealthNet of Cali', 'Oklahoma Complete Health, Inc', 'HealthFirst', 'Molina Healthcare of TX', 'AvMed', 'Arizona Care1st', - 'WellCare New Jersey'), label_visibility = "collapsed") + client = st.selectbox('Client Name',(folder_list), index=7, label_visibility = "collapsed") -def file_selector(folder_path='.'): - filenames = os.listdir(folder_path) - selected_filename = st.selectbox('**Path to folder**', filenames, label_visibility = "collapsed") - return os.path.join(folder_path, selected_filename) - # return selected_filename +folder_objects = s3_client.list_objects_v2(Bucket='doczy-dev-infra-textract' + , Prefix="batches/batch_1/"+client+"/", Delimiter='/') + +folder_list_2 = [] +for prefix in folder_objects['CommonPrefixes']: + folder_list_2.append(prefix['Prefix'][:-1].split('/')[-1]) path_row = st.columns([0.1, 0.8]) with path_row[0]: st.write("**Path to folder**") with path_row[1]: - # Directory = st.text_input("**Path to folder**", label_visibility = "collapsed") - Directory = file_selector() + Directory = st.selectbox('**Path to folder**', folder_list_2, label_visibility = "collapsed") checks = st.columns([0.1, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12]) with checks[0]: @@ -66,18 +74,17 @@ add_vertical_space(1) df = pd.DataFrame(columns=['Request ID','Contract ID','Contract Name','Unique Key','Pricing Before Carveouts' , 'Contract Related', 'Provider', 'Timeline', 'Carveout Indicator', 'Carveout Methodology']) file_list = [] +file_objects = s3_client.list_objects_v2(Bucket='doczy-dev-infra-textract' + , Prefix="batches/batch_1/"+client+"/"+Directory+"/", Delimiter='/') if st.button("Read the contracts from Path"): - for filename in os.listdir(Directory): - # with open(os.path.join(Directory, filename), encoding="utf8") as f: - # context = f.read() - file_list.append(filename) + for obj in file_objects.get('Contents',[]): + if not obj['Key'].endswith('/'): + file_list.append(obj['Key'].split('/')[-1]) df['Contract Name'] = file_list df['Request ID'] = range(len(file_list)) df['Contract ID'] = file_list - # df['Folder Name'] = Directory - # df['Updated Group Number'] = updated_group df['Unique Key'] = a df['Pricing Before Carveouts'] = b df['Contract Related'] = c @@ -100,12 +107,10 @@ def convert_df(df): csv = convert_df(edited_df) -buttons = st.columns([0.45, 0.35, 0.2]) +buttons = st.columns([0.8, 0.2]) with buttons[0]: - st.button("Save All Edits") -with buttons[1]: st.download_button("Download Table", csv, "file.csv", "text/csv", key='download-csv') -with buttons[2]: +with buttons[1]: st.button("Run Doczy.AI Pipeline") diff --git a/streamlit/interface_3.py b/streamlit/interface_3.py index 2cb2b06..e5a8763 100644 --- a/streamlit/interface_3.py +++ b/streamlit/interface_3.py @@ -48,13 +48,30 @@ contract_count_row = st.columns([0.15, 0.45, 0.4]) with contract_count_row[0]: st.write("**# of Contracts**") with contract_count_row[1]: - contract_count = st.selectbox('Contract count',('10', '20', '30', '50', 'All'), index=0, label_visibility = "collapsed") + contract_count = st.selectbox('Contract count',('1', '10', '20', '30', '50', 'All'), index=1, label_visibility = "collapsed") seed_row = st.columns([0.15, 0.45, 0.4]) + + +contract_list = sorted(os.listdir(SOURCE_DIRECTORY)) + +# to be deleted later +contract_list = [contract for contract in contract_list if contract.replace(' MU','').replace('_MU','').replace('.txt','') in list(field_values['(internal) Document Name'])] + with seed_row[0]: - st.write("**Seed Value**") + if contract_count in ['10', '20', '30', '50']: + st.write("**Seed Value**") + elif contract_count == '1': + st.write("**Contract Name**") with seed_row[1]: - seed_value = st.text_input("**Seed Value**", value = 20, label_visibility = "collapsed") + if contract_count in ['10', '20', '30', '50']: + seed_value = st.text_input("**Seed Value**", value = 20, label_visibility = "collapsed") + random.seed(seed_value) + contract_list = sorted(random.choices(os.listdir(SOURCE_DIRECTORY), k=int(contract_count))) + elif contract_count == '1': + contract_name = st.selectbox('Contract Name', (contract_list), label_visibility = "collapsed") + contract_list = [contract_name] + llm_row = st.columns([0.15, 0.45, 0.4]) with llm_row[0]: @@ -75,15 +92,6 @@ with prompt_row[1]: with prompt_row[0]: prompt = st.text_area("**Prompt**", sequence_input, height = 150, label_visibility = "collapsed") -random.seed(seed_value) -try: - contract_list = sorted(random.choices(os.listdir(SOURCE_DIRECTORY), k=int(contract_count))) -except: - contract_list = sorted(os.listdir(SOURCE_DIRECTORY)) - -# to be deleted later -contract_list = [contract for contract in contract_list if contract.replace(' MU','').replace('_MU','').replace('.txt','') in list(field_values['(internal) Document Name'])] - page_list_all = [] for contract in contract_list: page_list = []