A chatbot to help with common questions about growing trees in Old School RuneScape, using natural language processing to provide accurate answers in a gnome-inspired tone.
General-purpose LLMs often confuse Old School RuneScape with other versions of the game, returning incorrect information. The game's wiki splits tree farming data across multiple pages, requiring extensive navigation for a single tree run. Bolongo solves this problem by consolidating the relevant information into a lightweight chatbot, avoiding the hallucination risk of an LLM/RAG approach for a structured domain with deterministic answers.
- Patches: Discover the location of every tree patch in Gielinor
- Transportation: Get detailed directions and transportation methods for each patch
- Requirements: Search level requirements for any tree, and quest requirements for specific patches
- Recommendations: Learn the best trees to plant based on your Farming level
- Duration: See how long specific trees take to grow
- Protection: Check the correct protection payment for each tree
- Frontend: Streamlit
- NLP: scikit-learn (logistic regression classifier with TF-IDF vectorisation)
- Data Processing: pandas
- Language: Python 3
- User Input: You ask a question
- Intent Classification: A trained machine learning model identifies your intent
- Data Retrieval: The system queries relevant data from CSV files
- Response Generation: A natural-sounding response is generated using templates
Bolongo/
├── bolongo.py # Main Streamlit application
├── assets/ # Images and fonts
│ ├── bolongo_chathead.png
│ ├── bolongo_standing.png
│ ├── grand_tree.png
│ ├── RuneScape-Bold-12.ttf
│ └── RuneScape-Plain-12.ttf
├── config/ # Configuration files
│ ├── intent_mapping.py
│ └── response_bank.md
├── data/ # CSV data files
│ ├── trees_df.csv
│ └── patches_df.csv
├── models/ # Trained ML models
│ ├── classifier.pkl
│ └── vectoriser.pkl
├── source/ # Core application logic
│ ├── answer_retriever.py
│ ├── intent_classifier.py
│ ├── orchestrator.py
│ └── response_generator.py
└── training/ # Model training scripts
├── question_bank.md
├── train_classifier_model.py
└── training_data_generator.py
This project is licensed under the MIT License - see the LICENSE file for details.
- Old School RuneScape Wiki for the game data and images
- RuneStar for the fonts
This project is a fan-made tool and is not affiliated with or endorsed by Jagex Ltd. Old School RuneScape is a registered trademark of Jagex Ltd.
