Team Ai
Apppublic

huggingface/Model_Cards_Writing_Tool

sourceHugging Facemitupdated 2y agoView on Hugging Face
125likes
middleMan.py136 linesDownload Raw Back to root
1import streamlit as st2from persist import persist, load_widget_state3#from pages.viewCardProgress import get_card4from modelcards import CardData, ModelCard5from markdownTagExtract import tag_checker,listToString,to_markdown6#from specific_extraction import extract_it7from modelcards import CardData, ModelCard8from jinja2 import Environment, FileSystemLoader9 10 11def is_float(value):12    try:13        float(value)14        return True15    except:16        return False17 18## Handles parsing jinja variable templates19def parse_into_jinja_markdown():20    env = Environment(loader=FileSystemLoader('.'), autoescape=True)21    temp = env.get_template(st.session_state.markdown_upload)22    # to add: 23    # - parent model24    # to fix:25        # citation on form: check box for bibtex or apa: then parse 26    return (temp.render(model_id = st.session_state["model_name"],27        language = st.session_state["languages"],28        the_model_description = st.session_state["model_description"],developers=st.session_state["Model_developers"],shared_by = st.session_state["Shared_by"],model_license = st.session_state['license'],29        parent_model_link = st.session_state['Parent_Model_url'],30            direct_use = st.session_state["Direct_Use"], downstream_use = st.session_state["Downstream_Use"],out_of_scope_use = st.session_state["Out-of-Scope_Use"],31            bias_risks_limitations = st.session_state["Model_Limits_n_Risks"], bias_recommendations = st.session_state['Recommendations'],32            model_examination = st.session_state['Model_examin'],33            speeds_sizes_times = st.session_state['Speeds_Sizes_Times'],34            hardware= st.session_state['Model_hardware'], hours_used = st.session_state['hours_used'], cloud_provider = st.session_state['Model_cloud_provider'], cloud_region = st.session_state['Model_cloud_region'], co2_emitted = st.session_state['Model_c02_emitted'],35            citation_bibtex= st.session_state["APA_citation"], citation_apa = st.session_state['bibtex_citation'],36            training_data = st.session_state['training_Data'], preprocessing =st.session_state['model_preprocessing'],37            model_specs = st.session_state['Model_specs'], compute_infrastructure = st.session_state['compute_infrastructure'],software = st.session_state['technical_specs_software'],38            glossary = st.session_state['Glossary'], 39            more_information = st.session_state['More_info'], 40            model_card_authors = st.session_state['the_authors'],41            model_card_contact = st.session_state['Model_card_contact'],42            get_started_code =st.session_state["Model_how_to"],43            repo_link = st.session_state["github_url"],44            paper_link = st.session_state["paper_url"],45            blog_link = st.session_state["blog_url"],46            testing_data = st.session_state["Testing_Data"],47            testing_factors = st.session_state["Factors"],48            results = st.session_state['Model_Results'],49            testing_metrics = st.session_state["Metrics"]50            ))51 52 53 54################################################################55################################################################56################################################################57################## Below CURRENTLY Deprecated ##################58################################################################59################################################################60################################################################61 62 63 64def apply_view(page_state, not_code_pull,text_passed):65    not_important_section = True66    if st.session_state.legal_view == True:67        #user_view = 'legal_view'68        user_view_collapse={'Model_details_text','Model_uses','Model_Eval','Model_carbon','Model_cite', 'Glossary','Model_card_authors'}69        70    elif st.session_state.researcher_view == True:71        #user_view = 'researcher_view'72        user_view_collapse={'Model_details_text','Model_how_to','Model_training','Model_Limits_n_Risks', 'Glossary', 'Model_card_contact', 'Citation'}73        74    else:75        #user_view = 'beginner_technical_view'76        user_view_collapse={'Model_details_text','Model_how_to','Model_Eval','Model_uses', 'Glossary'} # Add Techical Spec77    78 79    for value in user_view_collapse:80        if value == page_state:81            not_important_section = False82            83    if not_important_section == True: #and st.session_state[user_view]:84        #st.markdown("here")85        text_return = out_text_out(not_code_pull,page_state,text_passed)86        out_text = "<details> <summary> Click to expand </summary>" +text_return + "</details>"87        return (out_text)88        89        #out_text = "<details>" + out_text + "</details>"90    else:91        text_return = out_text_out(not_code_pull,page_state,text_passed)92        out_text = text_return93        return (out_text)94 95def out_text_out(not_code_pull,page_state,out_text):96    if not_code_pull == True:97        out_text = extract_it(page_state)98        return(out_text)99    else: 100        out_text = out_text101        return(out_text)102        103def writingPrompt(page_state, help_text, out_text):104    #st.session_state.check_box = False 105    #extracted_how_to= tag_checker(markdown,start_tag,end_tag)106    107    108    109    #see_suggestion = column.checkbox("See Writing Prompt")110    111    st.session_state.check_box = True112    variable_output_prompt = st.text_area("Enter some text",height = 500, value =out_text, key=persist(out_text),113    help=help_text)114    st.session_state.page_state = persist(variable_output_prompt)115    #out_text = extract_it(page_state)116        117        118    #else:119        #st.session_state.check_box = True120        ##st.session_state.check_box = False121        #variable_output_prompt = st.text_area("Enter Text",value = ' ',key=persist(page_state),height = 500,help =help_text)122        123    return variable_output_prompt124 125 126 127def extract_section(current_template, start_tag, end_tag):128    current_Card_markdown= current_template129 130    extracted_how_to= tag_checker(current_Card_markdown,start_tag,end_tag)131    out_text = ' '.join(extracted_how_to)132    return out_text133 134def main():135    #card.save('current_card.md')136    return