You can rerun the process yourself. There is a Hugging Face page (an open model hub) and a GitHub test kit that leave an inspectable trail. You see what got searched, what was rejected, and which claims survived. Big runs can cost credits. Small runs and method checks are free if you keep the worker count low.
Here is the free preview I use when I want to trust the output instead of trusting vibes. First, open the Apodex page on Hugging Face (an open model hub). It shows a simple form: your research question at the top and the worker cap in settings. Keep it small for now so the run stays free.
Install a tiny tool so you can read the exported run log. I use jq (a command-line JSON processor) to skim the trail. On macOS with Homebrew (a macOS package manager):
bash
brew install jq
Trigger a small run. Example prompt: “Nvidia 2024 10-K risk factors. Cross-check with press releases and analyst notes. Flag contradictions.” Set the worker cap to 20, run it, then click Export to save the run JSON. Verify your toolchain works by printing the jq version:
bash
jq --version
Now pop open the JSON and scan. You should see parallel searches, filters that reject weak links, a draft, and a checker pass that cites the sources it accepted. Stop here if you only need a quick sanity check. The full guide walks through platform installs, repeatable runs, and tweaks that cut cost while keeping trust.
Here is the free preview I use when I want to trust the output instead of trusting vibes. First, open the Apodex page on Hugging Face (an open model hub). It shows a simple form: your research question at the top and the worker cap in settings. Keep it small for now so the run stays free.
Install a tiny tool so you can read the exported run log. I use jq (a command-line JSON processor) to skim the trail. On macOS with Homebrew (a macOS package manager):
bash
brew install jq
Trigger a small run. Example prompt: “Nvidia 2024 10-K risk factors. Cross-check with press releases and analyst notes. Flag contradictions.” Set the worker cap to 20, run it, then click Export to save the run JSON. Verify your toolchain works by printing the jq version:
bash
jq --version
Now pop open the JSON and scan. You should see parallel searches, filters that reject weak links, a draft, and a checker pass that cites the sources it accepted. Stop here if you only need a quick sanity check. The full guide walks through platform installs, repeatable runs, and tweaks that cut cost while keeping trust.
Setup
Apodex runs fine from its Hugging Face page, and it ships a GitHub test kit for local reproducibility. You do not need to install the whole stack to start. You only need a way to manage run artifacts and inspect JSON.
macOS
- Install Homebrew (a macOS package manager) if you do not have it.
- Install jq, curl, and Git.
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install jq curl git
Linux (Debian/Ubuntu)
- Update APT. Install jq, curl, and Git.
bash
sudo apt-get update
sudo apt-get install -y jq curl git
Windows 11
- Install winget (Windows package manager) if missing. Then install jq, Git, and Python for local scripting.
bash
winget install jqlang.jq
winget install Git.Git
winget install Python.Python.3.12
Grab the test kit from GitHub if you want to script repeat runs. The repo includes sample prompts, a small runner, and a schema for the exported logs. If you prefer zero install, stay on the Hugging Face page and use Export after each run.
Optional helper folder for exported logs:
bash
mkdir -p ~/apodex-runs
Verify
Check the tools you installed so your environment is not the reason parsing fails later.
bash
jq --version
# expected: jq-1.7.1 or similar
git --version
# expected: git version 2.x
python3 --version
# expected: Python 3.11.x or 3.12.x (Windows only if you installed it)
Run a tiny Apodex job from the Hugging Face page with a safe worker cap like 20. Export the run JSON and save it as run.json in your folder. Confirm it is valid JSON and not truncated.
bash
cd ~/apodex-runs
python3 - << 'PY'
import json, sys
j=json.load(open('run.json'))
print(type(j), 'ok')
PY
Expected output: <class 'dict'> ok.
Configuration tips
You get better reports when you control fanout and checks. Here is what matters in practice.
- Worker cap. Max is 150. Start with 30 for free or light accounts. Increase only when recall clearly improves. Past 90 you hit diminishing returns on web news tasks.
- Breadth vs depth. For time-sensitive research, bias to breadth so workers scan more domains with shallow depth. For technical topics, increase depth so workers follow citations 2 to 3 hops.
- Checker strictness. Turn strictness up when you want only claims with two or more independent sources. Turn it down a notch when you know the topic has sparse primary data.
- Domain allowlist and blocklist. Add a short allowlist for filings, regulators, and the primary vendor site. Block low quality domains to keep the draft clean. This saves checker cycles.
- Cost control. Cap answer length. Lower screenshot or PDF fetching if you do not need image context. Keep worker cap under 60 when rate limits are tight.
Troubleshooting
- 429 rate limit spikes. Your workers are hitting a shared ceiling. Drop the worker cap to 30, add a 60 second backoff between waves, and rerun. If you are on a fresh IP, wait 5 minutes for quotas to reset.
- Empty or thin report. The checker rejected too much. Lower checker strictness by one step and remove aggressive blocklist entries. Rerun with the same prompt so you can compare trails.
- Stalled run near the end. A few stubborn sources time out. Reduce depth by one level and retry. If you enabled PDF fetching, disable it and rerun to see if the stall disappears.
When it beats Perplexity
Perplexity is fast for single-lane answers. Apodex wins when you need parallel search plus an adversarial check.
- Cross-verification at scale. You ask for a position on a medical device recall. Apodex fans out to regulator notices, the manufacturer press room, and trade press in parallel. The checker flags claims that do not appear in at least two independent sources.
- Financial risk sections. You want Nvidia 2024 10-K risk factors summarized without vendor spin. Workers pull SEC filings, investor day transcripts, and major analyst notes. The checker downgrades any claims sourced only from blogs.
- Contradiction hunts. You ask if a vendor ended on-prem support in 2023. One worker finds a 2022 blog, another finds a 2024 FAQ that says support still exists for LTS. The checker surfaces the conflict and forces a footnote.
- Literature sweeps. For a research overview, workers scan preprints and journals in parallel. The checker drops duplicates and keeps the earliest primary source, not derivative blog posts.
Sources
-
Want a hand?
Book a 30-min call.
Walk through your stack with us. We'll find the bottleneck and map out the exact wiring you need — free.