Spaces:
Runtime error
Runtime error
import gradio as gr | |
import base64 | |
from gpt_reader.pdf_reader import PaperReader | |
from gpt_reader.prompt import BASE_POINTS | |
import base64 | |
import streamlit as st | |
with open("./logo.png", "rb") as f: | |
image_data = f.read() | |
image_base64 = base64.b64encode(image_data).decode("utf-8") | |
# Define the custom CSS styles | |
header_css = """ | |
<style> | |
.header img { | |
margin-right: 10px; | |
width: 80px; | |
height: 50px; | |
} | |
.header p { | |
font-size: 14px; | |
} | |
</style> | |
""" | |
# Render the custom CSS | |
st.markdown(header_css, unsafe_allow_html=True) | |
# Render the header | |
header_html = f""" | |
<div class="header"> | |
<img src='data:image/png;base64,{image_base64}' alt="Logo"/> | |
<p>Disclaimer: This web app is for demonstration purposes only and not intended for commercial use. Contact: [email protected] for full solution.</p> | |
</div> | |
""" | |
# Render the header HTML | |
st.markdown(header_html, unsafe_allow_html=True) | |
class GUI: | |
def __init__(self): | |
self.api_key = "" | |
self.session = "" | |
def analyse(self, api_key, pdf_file): | |
self.session = PaperReader(api_key, points_to_focus=BASE_POINTS) | |
return self.session.read_pdf_and_summarize(pdf_file) | |
def ask_question(self, question): | |
if self.session == "": | |
return "Please upload PDF file first!" | |
return self.session.question(question) | |
with gr.Blocks() as demo: | |
with gr.Tab("Upload PDF File"): | |
pdf_input = gr.File(label="PDF File") | |
api_input = gr.Textbox(label="OpenAI API Key") | |
result = gr.Textbox(label="PDF Summary") | |
upload_button = gr.Button("Start Analyse") | |
with gr.Tab("Ask question about your PDF"): | |
question_input = gr.Textbox(label="Your Question", placeholder="Authors of this paper?") | |
answer = gr.Textbox(label="Answer") | |
ask_button = gr.Button("Ask") | |
with gr.Accordion("About this project"): | |
gr.Markdown( | |
"""## CHATGPT-PAPER-READER📝 | |
This repository provides a simple interface that utilizes the gpt-3.5-turbo | |
model to read academic papers in PDF format locally. You can use it to help you summarize papers, | |
create presentation slides, or simply fulfill tasks assigned by your supervisor.\n | |
[Github](https://github.com/talkingwallace/ChatGPT-Paper-Reader)""") | |
app = GUI() | |
upload_button.click(fn=app.analyse, inputs=[api_input, pdf_input], outputs=result) | |
ask_button.click(app.ask_question, inputs=question_input, outputs=answer) | |
if __name__ == "__main__": | |
demo.title = "CHATGPT-PAPER-READER" | |
demo.launch() | |