2 minute read

I’m excited to share my latest personal project: a website that allows you to upload a PDF document and ask questions about its content, leveraging the power of AI directly in your browser. You can check it out here: https://gitformike.github.io/doc_ai/

This project was born out of my interest in making AI tools more accessible and convenient. I wanted to create a solution that could analyze PDF documents and provide answers to user questions without requiring any server-side processing.

Key Features

  • PDF Upload and Analysis: Users can easily upload PDF documents directly through the website.
  • Question Answering: After uploading a PDF, users can ask questions related to the document’s content. The AI model attempts to provide relevant answers based on its analysis.
  • Client-Side Processing with Transformers.js: The entire analysis and question answering process happens client-side using Transformers.js, eliminating the need for a server and ensuring user privacy.

Technologies Used

This project utilizes the following technologies:

  • Transformers.js: A JavaScript library from Hugging Face that brings pre-trained transformer models to the browser. This is the core technology behind the PDF analysis and question answering capabilities.
  • Next js: The primary programming language for the front-end development.

How it Works

  1. PDF Parsing: The uploaded PDF is parsed to extract the text content.
  2. Model Loading: A pre-trained transformer model is loaded using Transformers.js.
  3. Question Answering: When a user asks a question, the model processes the question and the extracted text from the PDF to generate an answer.
  4. Client-Side Execution: All of these steps are executed directly in the user’s browser, without sending any data to a server.

Limitations

As this is a lightweight, client-side implementation using a smaller model, there are some limitations:

  • Token Limits: Due to the resource constraints of running a model in the browser, there’s a limit to the number of tokens (words or sub-word units) the model can process at once. This can sometimes lead to incomplete or slightly inaccurate answers, especially for very long documents or complex questions.
  • Accuracy: While the model strives to provide accurate answers, it’s important to remember that it’s still an AI and may occasionally make mistakes.

Future Plans

I plan to continue improving this project by:

  • Exploring techniques to handle longer documents more effectively within the browser’s constraints.
  • Investigating different models to potentially improve accuracy.
  • Improving the user interface and overall user experience.

I welcome any feedback or suggestions you may have! Please feel free to explore the website and let me know what you think.

Thank you for your interest!

Updated: