grantforge-api / backend /agents /tools /technology_retriever_tool.py
GrantForge Bot
Deploy to Hugging Face
3b7f713
from langchain_core.tools import tool
from rag_pipeline.hybrid_retriever import get_hybrid_retriever
@tool
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}"