Rediscovering Apollo 11 is a Java-based project that leverages Redis OM Spring, vector search, and retrieval-augmented generation (RAG) to explore Apollo 11 mission data. This project integrates structured and unstructured data, including transcripts, photographs, and extracted information, to enable powerful semantic search and querying capabilities.
This implementation is the support demo for the Rediscovering Apollo 11: Using Spring AI + Redis OM Spring to explore the trip to the moon! talk.
The slides can be found at Speaker Deck
- The
./src/resources/Apollo11_Datadirectory contains data sourced from Apollo in Real Time, including utterances, photographs, and the table of contents. - We use Redis OM Spring, an extension of Spring Data Redis, to efficiently load and manage this data in Redis.
- We also use Redis Vector Library that gives us different vector search abstractions out of the box. We use it for semantic caching.
- The RDB is the file that allows us to recreate our Redis database with all the data already loaded in. It can be downloaded from: https://www.dropbox.com/scl/fi/x5hz3pfnizt4tntqe3yor/dump.rdb
- Download the images from (https://www.dropbox.com/scl/fi/qanbqn9084ull141tzqxe/apollo11.zip) and unzip them into
resources/static/images/which will result in theresources/static/images/apollo11directory being created.
- Utterance Processing:
- Each utterance is loaded into Redis and vectorized for similarity search.
- Table of Contents Integration:
- The table of contents is loaded, and utterances are grouped accordingly.
- Summarization & Vectorization:
- An LLM generates summaries for each group of utterances, which are then vectorized for efficient retrieval.
- Question Extraction & Vectorization:
- The LLM extracts relevant questions from the utterances and vectorizes them for searchability.
- Photograph Processing:
- Photographs are indexed by vectorizing both the images and their descriptions.
To start Redis with the preloaded RDB file, run:
docker-compose up -dThe RDB file contains all the data already loaded so that you can simply query it. Download it from: https://www.dropbox.com/scl/fi/x5hz3pfnizt4tntqe3yor/dump.rdb