# Gnosis

A multimodal semantic search pipeline that ingests documents and images through Apache Airflow DAGs, extracts text and generates image descriptions, embeds the content, and serves cosine-similarity search over a Qdrant vector index with PostgreSQL for metadata.

Gnosis indexes unstructured documents and images into a searchable knowledge base without manual tagging or organization. Files are uploaded through a FastAPI backend, then processed through separate document and image Airflow DAGs that replaced an earlier file-system watchdog model, adding reliable retries, scalable processing and visual monitoring.

Image processing generates structured descriptions with MiniCPM-V through Ollama and aggregates EXIF metadata into searchable fields. Document extraction covers PDF through PyMuPDF, DOCX through docx2txt, PPTX through python-pptx and plain text. Text is chunked with overlapping context and embedded with BAAI/bge-small-en-v1.5; relational metadata and state live in PostgreSQL, while vectors are indexed and searched by cosine similarity in Qdrant, exposed through a search API endpoint.

Built with Python, FastAPI, Uvicorn, Apache Airflow, SentenceTransformers, Ollama and PyTorch. MIT licensed.

Website: https://github.com/Omkar-ratzar/Gnosis
