Spaces:
Runtime error
Create app.py
Browse filesimport gradio as gr
import pdfplumber
import openai
import os
# Set your OpenAI API key here
openai.api_key = "YOUR_OPENAI_API_KEY"
# Function to extract text from uploaded PDF
def extract_text_from_pdf(pdf_file):
text = ""
with pdfplumber.open(pdf_file) as pdf:
for page in pdf.pages:
text += page.extract_text() + "\n"
return text
# Function to generate critique using OpenAI LLM
def generate_critique(file):
if file is None:
return "Please upload a PDF file."
# Extract text from PDF
extracted_text = extract_text_from_pdf(file)
# Truncate if too long for API (adjust depending on model token limit)
if len(extracted_text) > 6000:
extracted_text = extracted_text[:6000]
# Prompt for LLM
prompt = f"""
Analyze the following research paper and provide:
1. Section-wise summaries (Abstract, Introduction, Methodology, Results, Conclusion).
2. Identify potential research gaps or areas lacking clarity.
3. Suggest improvements to enhance the research quality.
Research Paper Content:
{extracted_text}
"""
try:
# Call OpenAI API
response = openai.ChatCompletion.create(
model="gpt-4", # or "gpt-3.5-turbo" if you're on the free tier
messages=[{"role": "user", "content": prompt}],
max_tokens=1500,
temperature=0.7
)
return response['choices'][0]['message']['content']
except Exception as e:
return f"Error: {str(e)}"
# Gradio Interface
iface = gr.Interface(
fn=generate_critique,
inputs=gr.File(label="Upload Research Paper (.pdf)", file_types=[".pdf"]),
outputs=gr.Textbox(label="LLM Critique Output", lines=30),
title="📄 Research Paper Critique Generator",
description="Upload a research paper in PDF format. This tool will summarize each section, highlight research gaps, and suggest improvements using GPT-4."
)
# Launch on Hugging Face / Local
iface.launch()