Compare commits

...
Author SHA1 Message Date
MUHAMED FAZAL PS e484970226 fix: propagate AddResult failures and log embedding errors (#2821)
- knowledge.py: Check AddResult.success before appending ID to results;
  log warning when embedding/storage fails instead of silently counting
  failed chunks as successes
- factories.py: Log embedding exceptions at WARNING level in both
  ChromaKnowledgeAdapter.add() and .search() instead of silently
  swallowing them

This fixes the issue where `praisonai index` reports success but Chroma
stays empty when embedding fails, and where `praisonai search` returns
empty results with no explanation.
2026-07-09 22:20:33 +00:00
@@ -151,7 +151,8 @@ class ChromaKnowledgeAdapter:
query_embedding = result.embeddings[0] if result.embeddings else None
except Exception as e:
logger.warning(
"Embedding failed for search query (model=%s): %s", embedding_model, e
"Embedding failed for search query (model=%s): %s", embedding_model, e,
exc_info=True
)
query_embedding = None
@@ -233,7 +234,8 @@ class ChromaKnowledgeAdapter:
content_embedding = result.embeddings[0] if result.embeddings else None
except Exception as e:
logger.warning(
"Embedding failed for add (model=%s): %s", embedding_model, e
"Embedding failed for add (model=%s): %s", embedding_model, e,
exc_info=True
)
embedding_error = e
content_embedding = None