Fix client validate_reimbursements_for_llm to match SaaS behavior

BCBS: change strict == "YES" to "YES" in final_answer. The strict
equality was rejecting borderline LLM responses (e.g. "YES, ..."),
dropping row counts from ~7 to 1.

Clover: remove .strip().upper() which crashed with AttributeError
because the parser returns a list, not a string. Every validation
call failed, dropping row counts from 106 to 1.

Both overrides now use the same "YES" in final_answer logic as SaaS.
E2E verified: BCBS 5 rows (within LLM variance of baseline 7),
Clover 106 rows (exact match to baseline).
This commit is contained in:
ppanchigar
2026-04-14 12:58:30 -05:00
parent 63f32c418c
commit 849aa626dc
2 changed files with 3 additions and 3 deletions
@@ -50,4 +50,4 @@ def validate_reimbursements_for_llm(answer_dict: dict[str, str], filename: str)
f"LLM response for reimbursement validation in {filename}:\n{llm_response}"
)
final_answer = _parser(llm_response)
return final_answer == "YES"
return "YES" in final_answer
@@ -49,5 +49,5 @@ def validate_reimbursements_for_llm(answer_dict: dict[str, str], filename: str)
logging.debug(
f"LLM response for reimbursement validation in {filename}:\n{llm_response}"
)
final_answer = _parser(llm_response).strip().upper()
return final_answer == "YES"
final_answer = _parser(llm_response)
return "YES" in final_answer