DenseResearch™ talent pipeline
Upload multiple files to server, AI model pulls files from server and create an output file
This is phase 1 of a four-phase plan toward an AI model capable of producing consolidated research papers. A consolidated research paper in this way is equivalent to thousands of scientists reading millions of research papers and then conducting a meeting about all of the read research and describing a "state-of-the-union" sort of consolidated paper, saying where we are and where we are going with the research subject area.
Semblance is an open-source project aimed at building a PDF summarizer. The goal is to provide users with a user-friendly web interface where they can upload PDF files, which will then be processed by an AI model to generate concise summaries.
-
User Interface (UI):
- A clean and intuitive UI for uploading PDF files.
- Styling using HTML and CSS.
- JavaScript to handle form submission and interaction.
-
Server Backend:
- An Express.js server to handle file uploads.
- Integration with an AI model (PDF summarization).
-
AI Model:
- The AI model (not included in this repository) should read uploaded PDFs and generate summaries.
- You can use existing NLP libraries or build a custom model.
-
Clone the Repository:
git clone https://github.com/garyhartwelldinmore/Semblance.git cd Semblance -
Install Dependencies:
npm install
-
Run the Server:
node server.js
-
Access the UI: Open your browser and navigate to
http://localhost:3000.
index.html: The main HTML file containing the UI.style.css: CSS file for styling the UI.server.js: Express.js server handling file uploads.semblance.py: Placeholder for the AI model (you need to implement this).
-
Upload PDFs:
- Visit the UI in your browser.
- Click the "Choose File" button to select a PDF.
- Click "Upload PDF."
-
Server-side Handling:
- The server receives the uploaded PDF.
- It should save the file temporarily.
- Spawn a child process to run
semblance.py.
-
AI Model (summarize_pdf.py):
- Read the PDF content.
- Generate a summary (e.g., using NLP techniques).
- Print the summary to stdout.
-
Display Summary:
- The server captures the summary from stdout.
- Send the summary back to the client-side JavaScript.
- Display the summary in a separate popup window.
Contributions are welcome! Feel free to submit pull requests or open issues.
This project is licensed under the MIT License - see the LICENSE file for details.