Peterase commited on
Commit
d0668ca
Β·
1 Parent(s): 2c1e73f

fix: configure root logging so INFO logs appear in HF Space

Browse files

- Add logging.basicConfig(level=INFO) before any imports
- Suppress noisy third-party loggers (httpx, transformers, hf_hub)
- Add startup banner showing pipeline config (LLM, reranker, hybrid, Jina)
- All [RAG], [LiveSearch], [JinaReranker] logs now visible in container logs

Files changed (1) hide show
  1. src/main.py +30 -5
src/main.py CHANGED
@@ -1,5 +1,6 @@
1
  import os
2
  import sys
 
3
  from pathlib import Path
4
  from contextlib import asynccontextmanager
5
 
@@ -9,6 +10,25 @@ project_root = current_dir.parent.parent.parent.parent # d:\...pipeline
9
  sys.path.append(str(project_root))
10
  sys.path.append(str(current_dir.parent)) # d:\...\rag-api
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  from fastapi import FastAPI
13
  from fastapi.middleware.cors import CORSMiddleware
14
  from src.core.config import settings
@@ -22,13 +42,18 @@ import uvicorn
22
  @asynccontextmanager
23
  async def lifespan(app: FastAPI):
24
  # Startup
 
 
 
 
 
 
 
 
 
25
  init_db()
26
- # Pre-warming moved to lazy loading or manual script to prevent
27
- # initialization timeouts/crashes on the first run.
28
- # thread = threading.Thread(target=prewarm_models)
29
- # thread.start()
30
  yield
31
- # Shutdown (if needed)
32
  pass
33
 
34
 
 
1
  import os
2
  import sys
3
+ import logging
4
  from pathlib import Path
5
  from contextlib import asynccontextmanager
6
 
 
10
  sys.path.append(str(project_root))
11
  sys.path.append(str(current_dir.parent)) # d:\...\rag-api
12
 
13
+ # ── Configure logging BEFORE any imports that use loggers ────────────────────
14
+ logging.basicConfig(
15
+ level=logging.INFO,
16
+ format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
17
+ datefmt="%H:%M:%S",
18
+ force=True,
19
+ )
20
+ # Suppress noisy third-party loggers
21
+ logging.getLogger("httpx").setLevel(logging.WARNING)
22
+ logging.getLogger("httpcore").setLevel(logging.WARNING)
23
+ logging.getLogger("hf_xet").setLevel(logging.WARNING)
24
+ logging.getLogger("huggingface_hub").setLevel(logging.WARNING)
25
+ logging.getLogger("transformers").setLevel(logging.WARNING)
26
+ logging.getLogger("FlagEmbedding").setLevel(logging.WARNING)
27
+ logging.getLogger("sentence_transformers").setLevel(logging.WARNING)
28
+ logging.getLogger("urllib3").setLevel(logging.WARNING)
29
+
30
+ logger = logging.getLogger(__name__)
31
+
32
  from fastapi import FastAPI
33
  from fastapi.middleware.cors import CORSMiddleware
34
  from src.core.config import settings
 
42
  @asynccontextmanager
43
  async def lifespan(app: FastAPI):
44
  # Startup
45
+ logger.info("=" * 60)
46
+ logger.info("ARKI AI RAG API β€” Pipeline v2.5 starting up")
47
+ logger.info(f" LLM provider : {settings.LLM_PROVIDER}")
48
+ logger.info(f" Reranker model : {settings.RERANKER_MODEL}")
49
+ logger.info(f" Hybrid search : {settings.ENABLE_HYBRID_SEARCH}")
50
+ logger.info(f" Jina Reader : {settings.ENABLE_JINA_READER}")
51
+ logger.info(f" Jina Reranker : {settings.JINA_RERANKER_ENABLED}")
52
+ logger.info(f" NewsAPI : {bool(settings.NEWSAPI_KEY and settings.NEWSAPI_KEY != 'your-newsapi-key-here')}")
53
+ logger.info("=" * 60)
54
  init_db()
 
 
 
 
55
  yield
56
+ # Shutdown
57
  pass
58
 
59