Spaces:
Sleeping
Sleeping
File size: 2,289 Bytes
177939a 3678cf6 177939a 3678cf6 fb9bcab 177939a 03b49d5 177939a df350fa 03b49d5 7a002a8 177939a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
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)
|