GitHub Actions commited on
Commit
b960401
·
1 Parent(s): 1b039d0

Deploy 6de2fc7

Browse files
app/main.py CHANGED
@@ -61,12 +61,17 @@ async def lifespan(app: FastAPI):
61
  timeout=10,
62
  )
63
 
 
 
 
 
 
64
  app.state.pipeline = build_pipeline({
65
  "classifier": GuardClassifier(),
66
  "cache": app.state.semantic_cache,
67
  "embedder": embedder,
68
  "llm": get_llm_client(settings),
69
- "vector_store": VectorStore(qdrant, settings.QDRANT_COLLECTION),
70
  "reranker": reranker,
71
  "db_path": settings.DB_PATH,
72
  })
 
61
  timeout=10,
62
  )
63
 
64
+ vector_store = VectorStore(qdrant, settings.QDRANT_COLLECTION)
65
+ # Idempotent: creates collection if absent so a cold-start before first
66
+ # ingest run doesn't crash every search with "collection not found".
67
+ vector_store.ensure_collection()
68
+
69
  app.state.pipeline = build_pipeline({
70
  "classifier": GuardClassifier(),
71
  "cache": app.state.semantic_cache,
72
  "embedder": embedder,
73
  "llm": get_llm_client(settings),
74
+ "vector_store": vector_store,
75
  "reranker": reranker,
76
  "db_path": settings.DB_PATH,
77
  })
app/pipeline/nodes/retrieve.py CHANGED
@@ -31,7 +31,7 @@ def make_retrieve_node(vector_store: VectorStore, embedder: Embedder, reranker:
31
  reranked = await reranker.rerank(state["query"], unique_chunks, top_k=5)
32
 
33
  # Low-confidence fallback: skip generation and return early.
34
- if reranker.min_score < 0.45:
35
  return {
36
  "answer": "I don't have enough information about this in my knowledge base. Try asking about my specific projects or blog posts.",
37
  "retrieved_chunks": [],
 
31
  reranked = await reranker.rerank(state["query"], unique_chunks, top_k=5)
32
 
33
  # Low-confidence fallback: skip generation and return early.
34
+ if not reranked or reranker.min_score < 0.45:
35
  return {
36
  "answer": "I don't have enough information about this in my knowledge base. Try asking about my specific projects or blog posts.",
37
  "retrieved_chunks": [],
app/services/vector_store.py CHANGED
@@ -100,5 +100,5 @@ class VectorStore:
100
 
101
  except Exception as e:
102
  raise RetrievalError(
103
- f"Vector search failed", context={"error": str(e)}
104
  ) from e
 
100
 
101
  except Exception as e:
102
  raise RetrievalError(
103
+ f"Vector search failed: {e}", context={"error": str(e)}
104
  ) from e