grantforge-api / backend /agents /verifier.py
GrantForge Bot
Deploy to Hugging Face
afd56bc
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",
}