diff --git a/index.html b/index.html new file mode 100644 index 000000000..0c54ed819 --- /dev/null +++ b/index.html @@ -0,0 +1,51 @@ + + + + + AI Summary Generator + + + +

AI Summary Generator

+ + +
+ + + + diff --git a/summarizer_app.py b/summarizer_app.py new file mode 100644 index 000000000..18b7df65e --- /dev/null +++ b/summarizer_app.py @@ -0,0 +1,60 @@ +from fastapi import FastAPI, File, UploadFile +from fastapi.middleware.cors import CORSMiddleware +import PyPDF2 +import docx +import openai + +app = FastAPI() + +# Allow requests from frontend +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_methods=["*"], + allow_headers=["*"], +) + +# Set your OpenAI API key +openai.api_key = "YOUR_OPENAI_API_KEY" + +def read_pdf(file): + pdf_reader = PyPDF2.PdfReader(file) + text = "" + for page in pdf_reader.pages: + text += page.extract_text() + return text + +def read_docx(file): + doc = docx.Document(file) + text = "" + for para in doc.paragraphs: + text += para.text + "\n" + return text + +@app.post("/summarize") +async def summarize(file: UploadFile = File(...)): + try: + # Read file based on extension + extension = file.filename.split('.')[-1].lower() + if extension == "pdf": + content = read_pdf(file.file) + elif extension == "docx": + content = read_docx(file.file) + elif extension == "txt": + content = (await file.read()).decode("utf-8") + else: + return {"error": "Unsupported file format"} + + # Call OpenAI GPT for summarization + response = openai.Completion.create( + model="text-davinci-003", + prompt=f"Summarize the following text concisely:\n\n{content}", + max_tokens=300, + temperature=0.5 + ) + + summary = response.choices[0].text.strip() + return {"summary": summary} + + except Exception as e: + return {"error": str(e)}