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("

PDF Summarizer

") 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()