Spaces:
Running
Running
| from langchain_core.tools import tool | |
| from rag_pipeline.hybrid_retriever import get_hybrid_retriever | |
| 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}" | |