Tento projekt je riešením praktického cvičenia v rámci kurzu AI Agentov (Lekcia 7). Cieľom bolo vytvoriť AI agenta, ktorý využíva nástroje na vyhľadávanie, triedenie a vysvetľovanie existujúcich projektových a grantových výziev relevantných pre humanitné vedy (teológia, filozofia, etika, religionistika) na Slovensku, v EÚ a globálne.
Agent je postavený na frameworku LangGraph, ktorý umožňuje definovať komplexné workflowy ako stavový graf. Využíva model GPT-4o od OpenAI pre analýzu a generovanie textu a nástroj Tavily Search API pre prístup k aktuálnym informáciám na internete.
Kľúčovou technikou je Structured Output (pomocou Pydantic modelov), čo zabezpečuje vysokú spoľahlivosť pri extrakcii dát. Projekt zahŕňa profesionálny logging, testovanie komponentov a podporu pre Docker.
Workflow agenta pozostáva zo štyroch krokov (uzlov):
- Query Optimizer: Transformuje požiadavku používateľa na sériu cielených vyhľadávacích dopytov (SK/EN).
- Search Executor: Spustí dopyty pomocou Tavily a zozbiera surové výsledky.
- Grant Analyst: Analyzuje výsledky, filtruje relevanciu a extrahuje kľúčové dáta do štruktúrovaného formátu.
- Report Generator: Vytvorí finálny prehľadný report v slovenčine (Markdown).
graph TD
START --> A(1. Query Optimizer);
A --> B(2. Search Executor);
B --> C(3. Grant Analyst);
C --> D(4. Report Generator);
D --> END;
- Python 3.10+ (Odporúča sa 3.11)
- OpenAI API kľúč (s prístupom ku GPT-4o)
- Tavily API kľúč
-
Klonovanie repozitára:
git clone [https://github.com/vas-repozitar/grant_finder_agent.git](https://github.com/vas-repozitar/grant_finder_agent.git) cd grant_finder_agent -
Vytvorenie a aktivácia virtuálneho prostredia:
python3 -m venv venv source venv/bin/activate # Na Windows: .\venv\Scripts\activate
-
Inštalácia závislostí:
pip install -r requirements.txt
-
Konfigurácia API kľúčov: Skopírujte
.env.exampledo.enva doplňte svoje kľúče.cp .env.example .env
-
Overenie nastavenia (Testy): Spustite testy, aby ste overili, že API kľúče a základné komponenty fungujú správne.
python3 test_agent.py
-
Spustenie agenta:
Spustenie s predvoleným testovacím dopytom:
python3 src/main.py
Spustenie s vlastným dopytom:
python3 src/main.py "Granty pre digitálnu religionistiku 2025"
Logy z behu agenta sa ukladajú do adresára logs/.
python3 src/main.py "Granty pre výskum etiky AI v kontexte kresťanskej filozofie"# Prehľad grantových príležitostí pre: "Granty pre výskum etiky AI v kontexte kresťanskej filozofie"
Našiel som 3 relevantné otvorené výzvy. Tu je ich podrobný prehľad:
---
## Horizon Europe - Ethics of AI and Robotics
* **Región:** EU
* **Poskytovateľ:** European Commission - Horizon Europe
* **Deadline:** 🗓️ 15. marec 2026
* **Zameranie a relevancia:** Výzva špecificky hľadá interdisciplinárne projekty kombinujúce filozofické a teologické perspektívy s technológiou AI.
* **Odkaz:** [https://ec.europa.eu/funding/example-link/](https://ec.europa.eu/funding/example-link/)...
---
## APVV Všeobecná výzva 2025
* **Región:** Slovakia
* **Poskytovateľ:** APVV
* **Deadline:** 🗓️ 30. november 2025
* **Zameranie a relevancia:** V rámci humanitných vied je možné podať projekt zameraný na filozofické aspekty nových technológií.
* **Odkaz:** [https://www.apvv.sk/example-link/](https://www.apvv.sk/example-link/)...
---
*Poznámka: Odporúčam vždy skontrolovať detaily a podmienky priamo na oficiálnej stránke výzvy.*Projekt obsahuje Dockerfile pre jednoduché spustenie v kontajneri.
-
Zostavenie obrazu:
docker build -t grant-finder-agent . -
Spustenie kontajnera: Musíte odovzdať API kľúče. Najjednoduchšie je použiť lokálny
.envsúbor pomocou--env-file.# Spustenie s predvoleným dopytom # -it pre interaktívny režim, --rm pre automatické odstránenie kontajnera docker run -it --rm --env-file .env grant-finder-agent # Spustenie s vlastným dopytom ako argumentom docker run -it --rm --env-file .env grant-finder-agent python3 src/main.py "Váš dopyt tu"
.
├── Dockerfile
├── README.md
├── requirements.txt
├── test_agent.py # Testy komponentov
├── logs/ # Ukladanie logov
└── src/
├── agent/
│ ├── models.py # Pydantic modely a definícia stavu
│ ├── nodes.py # Implementácia uzlov
│ └── graph.py # Definícia LangGraphu
├── config.py # Konfigurácia LLM a nástrojov
├── logger.py # Nastavenie loggingu
└── main.py # Vstupný bod aplikácie