File size: 1,608 Bytes
3ec9224
5be8df6
3ec9224
5db4902
5be8df6
5db4902
5be8df6
5db4902
 
5be8df6
 
ecf1633
3ec9224
1ef8d7c
 
aa98840
1ef8d7c
5be8df6
 
 
 
 
9bf736d
5be8df6
54d4e0a
b1ec9ac
5be8df6
6bfb517
 
 
 
5be8df6
 
 
6bfb517
5be8df6
6bfb517
 
 
51d2a09
6bfb517
51d2a09
6bfb517
5be8df6
 
6bfb517
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
import gradio as gr
import os

from langchain_community.document_loaders import PyPDFLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_community.vectorstores import Chroma
from langchain.chains import ConversationalRetrievalChain
from langchain_community.embeddings import HuggingFaceEmbeddings 
from langchain_community.llms import HuggingFacePipeline
from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory
from langchain_community.llms import HuggingFaceEndpoint

from pathlib import Path
import chromadb
from unidecode import unidecode

from transformers import AutoTokenizer
import transformers
import torch
import tqdm 
import accelerate
import re

list_llm = ["HuggingFaceH4/zephyr-7b-beta", "mistralai/Mistral-7B-Instruct-v0.2"]
list_llm_simple = [os.path.basename(llm) for llm in list_llm]

def summarize_document(document_text):
    # Your summarization code here
    summary = "The document covers various topics such as X, Y, and Z, providing detailed insights into each aspect."
    return summary

def demo():
    with gr.Blocks(theme="base") as demo:
        gr.Markdown("<center><h2>PDF Summarizer</center></h2>")
        
        text_input = gr.Textbox(placeholder="Paste your document text here", label="Document Text")
        summarize_btn = gr.Button("Summarize")
        summary_output = gr.Textbox(readonly=True, label="Summary")
        
        summarize_btn.click(summarize_document, inputs=[text_input], outputs=[summary_output])
        
    demo.launch()

if __name__ == "__main__":
    demo()