chore: point news-summarizer compose at Nous portal
This commit is contained in:
parent
8f3699f133
commit
d93ad88956
3 changed files with 15 additions and 13 deletions
14
.env.example
14
.env.example
|
|
@ -60,7 +60,7 @@ FIRMS_INTERVAL=900
|
|||
INGEST_FIRES=1
|
||||
|
||||
# ── API keys (managed from the dashboard UI) ──────────────────────────────
|
||||
# Keys such as GEMINI_API_KEY and TELEGRAM_TOKEN are stored in the Postgres
|
||||
# Keys such as NOUS_API_KEY and TELEGRAM_TOKEN are stored in the Postgres
|
||||
# `api_keys` table and managed from the dashboard's "Keys" tab
|
||||
# (GET/POST/DELETE /api/keys/{name}) — see app/keystore.py. The FIRMS ingestor
|
||||
# currently reads FIRMS_MAP_KEY from .env (above); wiring the Keys-UI store as
|
||||
|
|
@ -68,13 +68,15 @@ INGEST_FIRES=1
|
|||
|
||||
# ── News pipeline (scraper + summarizer, profile `ingest`) ────────────────
|
||||
# Hourly: the scraper crawls 257 RSS sources at minute :00 and the summarizer
|
||||
# runs the Gemini map-reduce at minute :05, both writing to the shared osint-db
|
||||
# runs the Nous map-reduce at minute :05, both writing to the shared osint-db
|
||||
# (tables `articles` + `article_summaries`, created by alembic 003_news).
|
||||
# Consume via GET /api/news and GET /api/news/summaries.
|
||||
# GEMINI_API_KEY is REQUIRED for summarization; unset = summarizer idles.
|
||||
GEMINI_API_KEY=
|
||||
# NOUS_API_KEY is also (preferably) set in the Keys UI; env is an override.
|
||||
# Unset in both env and api_keys = summarizer logs and idles (never crashes).
|
||||
NOUS_API_KEY=
|
||||
NOUS_BASE_URL=https://inference-api.nousresearch.com/v1
|
||||
# Optional LLM knobs
|
||||
SUMMARY_MODEL=gemini-2.0-flash
|
||||
SUMMARY_MODEL=Hermes-4.3-36B
|
||||
NEWS_BATCH_SIZE=50
|
||||
SUMMARY_WINDOW_HOURS=1
|
||||
# Futures/markets coupling from the upstream pipeline is OFF by default
|
||||
|
|
@ -87,6 +89,8 @@ NEWS_SUMMARIZE_MINUTE=5
|
|||
# scheduled minute.
|
||||
NEWS_SCRAPE_RUN_ON_START=1
|
||||
NEWS_SUMMARIZE_RUN_ON_START=1
|
||||
# "1" ignores the current-UTC-hour idempotency skip (double-pins on recreate).
|
||||
NEWS_SUMMARIZE_FORCE=0
|
||||
NEWS_LOG_LEVEL=INFO
|
||||
# Reserved for the (out-of-scope) Telegram delivery bot.
|
||||
TELEGRAM_TOKEN=
|
||||
|
|
|
|||
|
|
@ -224,14 +224,16 @@ services:
|
|||
DB_HOST: db
|
||||
DB_PORT: ${DB_PORT:-5432}
|
||||
DB_NAME: ${DB_NAME:-osint_data}
|
||||
# Required to do real work; unset → the loop logs and idles.
|
||||
GEMINI_API_KEY: ${GEMINI_API_KEY:-}
|
||||
SUMMARY_MODEL: ${SUMMARY_MODEL:-gemini-2.0-flash}
|
||||
NOUS_API_KEY: ${NOUS_API_KEY:-}
|
||||
NOUS_BASE_URL: ${NOUS_BASE_URL:-https://inference-api.nousresearch.com/v1}
|
||||
SUMMARY_MODEL: ${SUMMARY_MODEL:-Hermes-4.3-36B}
|
||||
OSINT_USER_AGENT: ${OSINT_USER_AGENT:-osint-dashboard-news-summarizer}
|
||||
BATCH_SIZE: ${NEWS_BATCH_SIZE:-50}
|
||||
SUMMARY_WINDOW_HOURS: ${SUMMARY_WINDOW_HOURS:-1}
|
||||
INCLUDE_FUTURES: ${INCLUDE_FUTURES:-0}
|
||||
NEWS_SUMMARIZE_MINUTE: ${NEWS_SUMMARIZE_MINUTE:-5}
|
||||
NEWS_SUMMARIZE_RUN_ON_START: ${NEWS_SUMMARIZE_RUN_ON_START:-1}
|
||||
NEWS_SUMMARIZE_FORCE: ${NEWS_SUMMARIZE_FORCE:-0}
|
||||
command: ["python", "run_news_summarizer.py"]
|
||||
|
||||
volumes:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,2 @@
|
|||
# Database adapter for PostgreSQL (shared osint-db).
|
||||
psycopg2-binary==2.9.11
|
||||
|
||||
# Gemini LLM SDK (google-genai). yfinance is NOT a dependency: futures prices
|
||||
# are gated behind INCLUDE_FUTURES=1 and lazy-imported (install it to enable).
|
||||
google-genai
|
||||
httpx==0.28.1
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue