File size: 1,130 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
from langchain_core.tools import tool
from rag_pipeline.hybrid_retriever import get_hybrid_retriever


@tool
def search_budget_rules(query: str, program_name: str = "") -> str:
    """
    Wyszukuje informacje w bazie wiedzy (RAG) na temat limit贸w koszt贸w kwalifikowanych,
    zasad finansowania, stawek rycza艂towych oraz dozwolonych bud偶et贸w dla program贸w dotacyjnych.

    Args:
        query (str): Pytanie dotycz膮ce zasad bud偶etowych np. "Jaki jest limit koszt贸w po艣rednich dla 艢cie偶ki SMART?"
        program_name (str): Opcjonalnie nazwa programu, np. "FENG 艢cie偶ka SMART".
    """
    retriever = get_hybrid_retriever()
    search_query = f"[Koszty, Bud偶et, Ewaluacja Finansowa] Program: {program_name}. Zapytanie: {query}"

    docs = retriever.invoke(search_query)
    if not docs:
        return "Nie znaleziono dokument贸w precyzuj膮cych to zapytanie bud偶etowe w bazie wiedzy."

    result = "\n".join(
        [
            f"- Zr贸d艂o: {d.metadata.get('source', 'nieznane')}\n{d.page_content}"
            for d in docs
        ]
    )
    return f"Wyniki wyszukiwania zasad bud偶etowych:\n{result}"