Spaces:
Running
Running
| from langchain_core.tools import tool | |
| from rag_pipeline.hybrid_retriever import get_hybrid_retriever | |
| def search_technology_trends(query: str, program_name: str = "") -> str: | |
| """ | |
| Wyszukuje informacje w bazie wiedzy (RAG) na temat trend贸w technologicznych, | |
| wymog贸w KIS (Krajowych Inteligentnych Specjalizacji) oraz odpowiednich | |
| poziom贸w TRL (Technology Readiness Level) dla projekt贸w badawczych i innowacyjnych. | |
| Args: | |
| query (str): Pytanie dotycz膮ce wymog贸w technologicznych, np. "Jakie s膮 wytyczne dla prac B+R w KPO?" | |
| program_name (str): Opcjonalnie nazwa programu, np. "FENG 艢cie偶ka SMART". | |
| """ | |
| retriever = get_hybrid_retriever() | |
| search_query = ( | |
| f"[Innowacje, KIS, B+R, TRL] Program: {program_name}. Zapytanie: {query}" | |
| ) | |
| docs = retriever.invoke(search_query) | |
| if not docs: | |
| return "Nie znaleziono w bazie specyficznych wymog贸w wpisuj膮cych si臋 w to zapytanie o poziomie innowacyjno艣ci/B+R." | |
| result = "\n".join( | |
| [ | |
| f"- Zr贸d艂o: {d.metadata.get('source', 'nieznane')}\n{d.page_content}" | |
| for d in docs | |
| ] | |
| ) | |
| return f"Wyniki wyszukiwania dla wymog贸w technologicznych i B+R:\n{result}" | |