← All projects

Case study / Applied AI / Retrieval

AskMyPDF

A conversational interface for asking questions across multiple PDF documents.

PythonStreamlitLangChainOpenAIFAISS

01 / Context

The problem

Finding information across several PDFs means switching documents and searching for relevant passages. This project brings document retrieval and natural-language questions into one interface.

02 / Ownership

My contribution

  • Built the PDF parsing, text-chunking, embedding and semantic-retrieval workflow.
  • Connected retrieved document context to answer generation through LangChain.
  • Added conversation history so follow-up questions can use the session's context.

03 / System design

Architecture

Architecture / workflow overview
  1. 01Upload

    Bring multiple PDFs into the Streamlit interface.

  2. 02Index

    Split extracted text, create OpenAI embeddings and store vectors in FAISS.

  3. 03Retrieve

    Find relevant document chunks for the question.

  4. 04Answer

    Generate a response using retrieved context and retain conversation history.

04 / Evidence

Results

One question interface
Multiple PDFs
FAISS vector search
Semantic retrieval
Session history
Follow-up questions

The implemented workflow supports document upload, retrieval and conversational answers. The portfolio does not report a measured answer-quality, latency or cost benchmark for this project.

05 / Boundaries

Limitations

  • Answer quality depends on the text extracted from the PDFs and the context retrieved for each question.
  • Retrieval does not guarantee that every generated answer is correct; important answers should be checked against the documents.
  • No OCR coverage, production-scale validation or formal evaluation results are documented in the project sources reviewed here.

06 / Explore the code

Run locally

Follow the repository's installation instructions to run the Streamlit app locally. Embeddings and answer generation require your own OpenAI API key.

Setup instructions

07 / References

Sources