Download README.md from devansh1a/AISPY: direct link, hf CLI and curl.
- Browser
- Download file 4.34 kB
-
https://huggingface.co/spaces/devansh1a/AISPY/resolve/main/README.md
- Command line
-
hf download hf://spaces/devansh1a/AISPY/README.md
-
curl -L -o README.md https://huggingface.co/spaces/devansh1a/AISPY/resolve/main/README.md
title: AISPY
emoji: 🕵️
colorFrom: blue
colorTo: indigo
sdk: docker
app_port: 7860
pinned: false
AISPY on Hugging Face Spaces (Docker)
This repository can be deployed as a Docker Space on Hugging Face.
Web app overview
The app now runs as a proper authenticated Flask web application with:
- email/password sign-up and login
- private, session-based dashboard
- saved analysis history per user
- server-rendered forensic reports
- password reset flow
- role-based admin dashboard
- report export as Markdown and JSON
- SQLite storage for users and reports
1) Create the Space
- Go to Hugging Face → New Space.
- Choose:
- SDK:
Docker - Visibility: your choice (public/private)
- SDK:
- Create the Space and push this repository code.
2) Required Space Secrets
Open your Space settings → Variables and secrets and add:
GROQ_API_KEY(required)TAVILY_API_KEY(required for web search)LANGCHAIN_API_KEY(optional, if LangSmith tracing is enabled)LANGCHAIN_TRACING_V2(optional, usuallytrue)LANGCHAIN_PROJECT(optional)SECRET_KEY(recommended for Flask sessions)AISPY_ADMIN_EMAILS(optional comma-separated admin emails)
If your app uses additional providers, add those keys too.
3) Build & Run Behavior
Dockerfileinstalls system packages (ffmpeg,tesseract-ocr,libgl1) needed by media/CV stack.- Python dependencies are installed from
requirements-cpu.txt. requirements-cpu.txtpoints pip to the official CPU-only PyTorch wheel index.- App runs with:
gunicorn app:app --bind 0.0.0.0:${PORT}
- Hugging Face provides
PORT(default7860), matching Space config.
4) Local Test (Optional)
docker build -t aispy:local .
docker run --rm -it -p 7860:7860 \
-e GROQ_API_KEY=your_key \
-e TAVILY_API_KEY=your_key \
aispy:local
Then open: http://localhost:7860
5) Notes
- First build can take time due to ML dependencies.
- If you hit memory limits on free CPU Spaces, reduce model size or move to upgraded hardware.
- Keep secrets only in Space settings (not in committed
.envfiles).
Provenance & Forensics (quick guide)
When triaging media, preserve originals and collect metadata before any transformations. The repository includes lightweight helpers in core/tools.py:
compute_checksum(path)— returns a SHA256 hex digest for a file.run_ffprobe(path)— runsffprobeand returns stream/container metadata (or an error ifffprobeis missing).preserve_original_copy(src, dest_dir)— copies the original file intodest_dirand writes a companion.metadata.jsoncontaining checksum and ffprobe output.extract_audio_with_ffmpeg(src, out.wav)— extracts audio to a WAV and returns ffmpeg stderr/stdout for debugging silent or missing tracks.
Helpful shell commands for local triage:
# Inspect container and stream info
ffprobe -v error -show_format -show_streams -print_format json input.mp4 | jq .
# Extract audio (16 kHz mono WAV)
ffmpeg -y -i input.mp4 -vn -acodec pcm_s16le -ar 16000 -ac 1 out.wav
# Compute SHA256
sha256sum input.mp4
Python usage example (within the virtualenv):
python -c "from core.tools import preserve_original_copy, extract_audio_with_ffmpeg; print(preserve_original_copy('input.mp4','collected')); print(extract_audio_with_ffmpeg('input.mp4','collected/input.wav'))"
If ffmpeg / ffprobe are not installed in your environment, install them via your package manager (e.g., apt install ffmpeg) or ensure your Docker image includes the packages (the provided Dockerfile already installs them).
Collecting the original file and related metadata is essential for sensor-level forensic checks (PRNU, demosaic patterns) and increases confidence for authenticity assessments.
Local finetuned models
By default this repo will NOT eagerly load local finetuned model directories (for example under face_v2_enhanced (1) or omni_detector_v1). To enable loading local models on start set the environment variable:
export ALLOW_LOCAL_MODELS=1
Only enable this if you have installed the necessary Python packages (torch, transformers) and have sufficient CPU memory. Otherwise the app will prefer hosted inference (Hugging Face) when HUGGINGFACE_API_KEY is present.