Spaces:
Running
Running
GitHub Actions commited on
Commit ·
b960401
1
Parent(s): 1b039d0
Deploy 6de2fc7
Browse files- app/main.py +6 -1
- app/pipeline/nodes/retrieve.py +1 -1
- app/services/vector_store.py +1 -1
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":
|
| 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
|