Enterprise AI Search & Automation Engine
A Python-based Retrieval-Augmented Generation (RAG) application that:
- ingests PDF and text documents
- chunks and embeds them with OpenAI Embeddings
- stores vectors in a local ChromaDB database
- answers grounded questions with citations
- drafts summary emails through OpenAI function calling
- exposes a Streamlit CIS dashboard with systems logging
Features
- Local document ingestion for
.pdf and .txt
- Persistent vector store backed by ChromaDB
- Citation-aware RAG answers
- Structured automation for summary email drafting
- Cost and latency tracking for each OpenAI API call
- Editable summary email drafts with optional direct SMTP sending
- Optional Supabase cloud database and private file storage support
Quickstart
- Create a virtual environment and install dependencies:
python -m venv venv
venv\Scripts\Activate.ps1
pip install -r requirements.txt
If you already have a venv/ folder, skip creation and just activate it.
- Copy
.env.example to .env and set your API key.
Optional:
- configure SMTP settings in
.env if you want users to send summary emails directly from the platform
- configure Supabase keys if you want cloud auth, cloud database, and Supabase Storage
- create a private Supabase Storage bucket named
documents or set SUPABASE_STORAGE_BUCKET to your bucket name
- Run the dashboard:
Project Structure
app.py
src/enterprise_ai_search/
automation.py
config.py
ingestion.py
logging_utils.py
models.py
rag.py
text_utils.py
vector_store.py
data/
chroma/