Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pickle | |
| #from Summarizer_Helper import Summary_Gen | |
| from gpt4all import GPT4All | |
| import textwrap | |
| with open('examples.pkl', 'rb') as f: | |
| example_list = pickle.load(f) | |
| # Model initialization (assuming the model is already downloaded) | |
| from huggingface_hub import hf_hub_download | |
| model_path = "models" | |
| model_name = "Llama-2-7b-MOM_Summar.Q2_K.gguf" | |
| # hf_hub_download(repo_id="sasvata/Llama2-7b-MOM-Summary-Finetuned-GGUF", filename=model_name, local_dir=model_path, local_dir_use_symlinks=False) | |
| print("Start the model init process") | |
| model = GPT4All(model_name, model_path, allow_download = False, device="cpu") | |
| print("Finish the model init process") | |
| ## Function to convert plain text to markdown format | |
| def to_markdown(text): | |
| text = text.replace('•', ' *') | |
| return textwrap.indent(text, '> ', predicate=lambda _: True) | |
| # Default system prompt for generating conversation summaries | |
| DEFAULT_SYSTEM_PROMPT = """ | |
| Below is a conversation between a human and an AI agent. Write a summary of the conversation. | |
| """.strip() | |
| def generate_prompt( | |
| Transcript: str, system_prompt: str = DEFAULT_SYSTEM_PROMPT | |
| ) -> str: | |
| return f"""### Instruction: {system_prompt} | |
| ### Input: | |
| {Transcript.strip()} | |
| ### Response: | |
| """.strip() | |
| # Function to generate summary with the help of fine-tuned model | |
| def Summary_Gen(Transcript): | |
| prompt = generate_prompt(Transcript) | |
| summary = model.generate(prompt=prompt,max_tokens=1024) | |
| return summary | |
| # Function for text summarization | |
| def summarize_text(text): | |
| summarized_text = Summary_Gen(text) | |
| return summarized_text | |
| st.set_page_config(layout="wide", page_title="MOM-Summary-Generator📑", page_icon="📑") | |
| st.title("Minutes Of Meeting (MOM) - Summary Generator 📑") | |
| # Text input and output elements | |
| option = st.selectbox( | |
| "Choose Example", | |
| example_list, | |
| index=None, | |
| placeholder="Choose Example", | |
| ) | |
| col1, col2 = st.columns(2) | |
| col1.title('Input') | |
| col2.title('Output') | |
| col1.container(height=500, border=True).text_area("", option, height=1000) | |
| if col1.button("Summarize"): | |
| with st.spinner('Wait for it...'): | |
| summary_output = summarize_text(option) | |
| col2.container(height=500, border=True).markdown(summary_output, unsafe_allow_html=True) | |
| with st.expander("Results Overview"): | |
| # Text input and output elements | |
| option = st.selectbox( | |
| "Choose Example 2", | |
| example_list, | |
| index=1, | |
| placeholder="Choose Example", | |
| ) | |
| col1, col2 = st.columns(2) | |
| col1.title('Input') | |
| col1.container(height=500, border=True).markdown(option, unsafe_allow_html=True) | |
| col2.title('Output') | |
| col2.container(height=500, border=True).markdown(option, unsafe_allow_html=True) | |