Spaces:
Running
Running
| from schemas import AgentState | |
| from core.llm_router import get_llm | |
| from tenacity import retry, stop_after_attempt, wait_exponential | |
| def verifier_node(state: AgentState): | |
| parsed_content = ( | |
| state.verification_results.get("pending_doc_text") | |
| if state.verification_results | |
| else None | |
| ) | |
| if not parsed_content: | |
| return { | |
| "verification_results": { | |
| "status": "brak_dokumentu", | |
| "analysis": "Brak dokumentu dodanego do weryfikacji.", | |
| }, | |
| "current_agent": "supervisor", | |
| } | |
| try: | |
| llm = get_llm(task_type="critical") | |
| def _invoke_llm(): | |
| return llm.invoke( | |
| f"System: Jeste艣 ekspertem oceny formalnej wniosk贸w PARP. Sprawd藕 sp贸jno艣膰 danych.\n" | |
| f"Por贸wnaj dane z dokumentu: {parsed_content[:15000]}... z profilem firmy: {state.profile.model_dump() if state.profile else 'Brak'}" | |
| ) | |
| response = _invoke_llm() | |
| from core.utils import safe_extract_text | |
| analysis_result = safe_extract_text(response.content) | |
| except Exception as e: | |
| analysis_result = f"B艂膮d weryfikacji przez model LLM: {str(e)}" | |
| return { | |
| "verification_results": {"analysis": analysis_result}, | |
| "current_agent": "supervisor", | |
| } | |