An open-source tool that downloads, processes, and summarizes JFK assassination records using AI, making historical research more accessible.
Powerful tools for historical document analysis
Download and extract text from PDFs using a high-performance Rust NIF with the extractous crate.
Leverage LangChain and OpenAI to generate concise, informative summaries of complex historical documents.
Browse and access official JFK assassination records from the National Archives with ease.
A powerful combination of technologies
The application downloads PDF documents from URLs or allows users to upload their own files.
A high-performance Rust NIF extracts text content from PDFs using the extractous crate.
The extracted text is processed through LangChain and OpenAI to generate concise, informative summaries.
Results are displayed in a clean, user-friendly interface, with options to view both the original text and the summary.
Set up your own instance in minutes
Clone the repository and install dependencies:
git clone https://github.com/epinault/jfk_pdf_summarizer.git
cd jfk_pdf_summarizer
mix deps.get
Set up your environment
Create a config/dev.secret.exs file with your OpenAI API key:
import Config
# LangChain configuration with OpenAI
config :langchain,
openai: [
api_key: "your_openai_api_key_here"
]
# Set the OpenAI API key as an environment variable
config :openai,
api_key: "your_openai_api_key_here"
Compile and start the Phoenix server:
mix compile
mix phx.server
Visit http://localhost:5000 in your browser to use the application.
Making historical research more accessible
The JFK assassination records contain thousands of pages of documents that are challenging to process manually. This project aims to make these historical records more accessible to researchers, historians, and the general public.
By combining the power of Elixir, Rust, and AI, we've created a tool that can quickly process and summarize complex documents, saving researchers countless hours of manual work.
This project is open source to encourage collaboration and improvements from the community. We believe that by working together, we can create better tools for historical research and document analysis.