Spaces:
Running
Running
File size: 1,466 Bytes
3b7f713 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 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")
@retry(
stop=stop_after_attempt(3),
wait=wait_exponential(multiplier=1, min=2, max=10),
)
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",
}
|