← all repositories
juanjuandog/FinSight-AI

The plumbing behind the AI analyst

A Java/Spring Boot blueprint for building research agents that don't hallucinate their sources away.

FinSight-AI
Velocity · 7d
+38
★ / day
Trend
steady
star history

What it does

FinSight-AI ingests financial filings, reports, and market data, then generates versioned equity-research briefs with cited evidence. It is deliberately backend-heavy: the project is a recipe for the infrastructure around an LLM agent, not just another chat wrapper. A runnable dashboard exposes the workflow state machine, report traces, and RAG evaluation metrics.

The interesting bit

The system treats trust as a caching problem. Reports are keyed to dataSnapshotHash and reportVersion, not loose prompt strings, so you know whether an answer is stale. Redis Lua single-flight leases with fencing tokens prevent duplicate task execution, and the UI surfaces idempotency keys, lease owners, and attempt counts instead of hiding them in logs.

Key highlights

  • Recoverable agent workflow with explicit stages: ingestion → metrics → indexing → intelligence build → AI report generation
  • Redis Lua single-flight + fencing tokens for concurrency control, with local fallback locks
  • PostgreSQL/pgvector hybrid retrieval (JSONB, full-text, embeddings) with deduplicated evidence chunks
  • RAG evaluation suite: hit rate, evidence coverage, hallucination risk, conclusion consistency, confidence calibration
  • Deterministic fallback analysis when Ollama is unavailable, so demos don’t break
  • Full Docker Compose stack including RabbitMQ, Elasticsearch, MinIO, and a FastAPI Python sidecar

Caveats

  • The AI sidecar defaults to rule-based fallback unless you install and run Ollama with qwen2.5:7b; LLM-backed analysis is optional, not the default
  • 8 GB RAM recommended for the full stack; this is not a lightweight single-container demo
  • The project includes explicit “resume and interview notes” documentation, signaling it is partly a portfolio piece

Verdict

Worth studying if you are building production RAG pipelines and need patterns for idempotency, evidence tracing, and evaluation. Skip it if you want a drop-in stock-picking tool; the value is in the architecture, not the trading signals.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.