Quick Start Guide#

This guide will get you up and running with EngiAI in 5 minutes.

Prerequisites#

Docker Desktop, and the API keys listed below. Nothing else.

What is MMORE? A multimodal RAG (Retrieval-Augmented Generation) service that enables the assistant to search and answer questions about your uploaded documents (PDFs, papers, etc.). It runs from the official upstream image and starts with the rest of the stack — there is nothing to clone and no patches to apply. Docker builds a small local layer over the pinned image (services/mmore/Dockerfile, a few seconds) carrying fixes upstream v2.0.0 needs to start at all.

Expect the first make docker-up to take several minutes: it pulls roughly 1.5 GB of image plus embedding and reranker weights. Later starts reuse the cache in data/mmore/cache/.



đź’» Local Development (Alternative)#

For developers who want to modify the code:

1. Set Up Environment#

If you haven’t already, set up the conda environment:

conda create -n engiai python=3.13 -y
conda activate engiai
pip install -e ".[dev,test]"
pre-commit install

See the Installation Guide for detailed instructions.

2. Set Up API Keys#

Create a .env file in the project root:

cp .env.example .env

Edit .env and add your API keys:

# Required
OPENAI_API_KEY=sk-your-key-here
TAVILY_API_KEY=tvly-your-key-here

# Database (for local development, use SQLite)
DATABASE_URL=sqlite:///data/conversations.db

# Optional
WANDB_API_KEY=your-wandb-key
HPC_HOST_ALIAS=your-cluster-name

3. Start the UI#

Launch the Streamlit interface:

streamlit run src/ui/streamlit_app.py

Or use the convenience script:

make run-ui

The UI will open in your browser at http://localhost:8501


Next Steps#

Import Your Documents (Optional)#

To enable document Q&A with your own PDFs:

# 1. Configure paper directory in .env
echo "PAPERS_SOURCE_DIR=/path/to/your/pdfs" >> .env

# 2. Import papers to MMORE
python scripts/import_local_papers.py

# 3. Ask questions about your documents
# In the UI: "What does my research say about topology optimization?"

See the Paper Import Guide for detailed instructions.

Try Your First Query#

Research Workflow#

  1. Search ArXiv: “Find papers on generative design”

  2. Analyze Papers: “Download and analyze the first paper”

  3. Ask Questions: “What methods do they use for optimization?”

Design Workflow#

  1. Generate Design: “Create a 2D beam design”

  2. Optimize: “Optimize for minimal compliance” (works with beams2d, photonics2d)

  3. Export: “Convert to STL for 3D printing”

HPC Training Workflow#

  1. Prepare: “Set up training for [problem_type]” (any supported problem: beams2d, photonics2d)

  2. Submit: “Submit training job to HPC cluster”

  3. Monitor: “Check training status”

Optional: Host Service for GUI Integration#

If you’re using Docker and want to open GUI applications (like PrusaSlicer) on your host machine:

# In a separate terminal:
python services/host_service.py

This allows the containerized assistant to:

  • âś… Open PrusaSlicer for 3D model slicing

  • âś… Launch other GUI applications (VS Code, Terminal, etc.)

  • âś… Execute commands on your host machine

Note: Only needed for Docker deployments and only if you want GUI app integration.

What’s Next?#

Tips#

  • Use natural language - the assistant understands conversational queries

  • Ask for clarification if you’re unsure about something

  • Use context - reference previous designs or papers in follow-up questions

  • Check the chat history in the UI to review past interactions

Need Help?#