Nano Banana Pro
Agent skill for nano-banana-pro
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Sign in to like and favorite skills
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is an FPL (Fantasy Premier League) ChatBot built using a Graph-RAG architecture with Neo4j knowledge graph. The system processes natural language queries about FPL players, teams, fixtures, and statistics, then retrieves relevant information from a Neo4j graph database.
# Activate virtual environment (Windows) .venv\Scripts\activate # Install dependencies pip install -r requirements.txt # Install spaCy language model (required for entity extraction) python -m spacy download en_core_web_sm
# Run main application python main.py # Run Stage 1 tests (input processing) python tests/test_stage1.py # Run Stage 2 tests (baseline retrieval) python tests/test_stage2_baseline.py
Stage 1: Input Processing (Input_Processing/)
recommend_player, compare_players, ask_stat, fixture_query, or unknownStage 2: Baseline Retrieval (Stage2/)
recommend_players(): Returns top players by season points with filters for team, positionask_stat(): Aggregates season statistics for a specific playercompare_players(): Compares statistics for 2 players side-by-sidefixture_query(): Retrieves fixtures for team/gameweek/seasonNodes:
Player (properties: player_name, player_element)Team (properties: name)Season (properties: season_name)Gameweek (properties: GW_number)Fixture (properties: fixture_number, kickoff_time, season, GW_number)Position (properties: name - GK, DEF, MID, FWD)Relationships:
(Player)-[:PLAYS_AS]->(Position)(Player)-[:PLAYED_IN]->(Fixture) with properties:
minutes, total_points, goals_scored, assists, bonus, bps, form, value,clean_sheets, goals_conceded, own_goals, saves, penalties_savedyellow_cards, red_cards, penalties_missedinfluence, creativity, threat, ict_index(Season)-[:HAS_GW]->(Gameweek)(Gameweek)-[:HAS_FIXTURE]->(Fixture)(Fixture)-[:HAS_HOME_TEAM]->(Team)(Fixture)-[:HAS_AWAY_TEAM]->(Team)The entity extractor uses a multi-layered approach:
rapidfuzz library with adaptive thresholds (78-88% depending on context)unknown for price/value/budget queries (not in KG schema)all-MiniLM-L6-v2 from sentence-transformers (384-dimensional embeddings)en_core_web_sm for NER and POS tagging