Skip to content

chmcbs/Bolongo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🪏 Bolongo

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.

Chat with Bolongo 💬

Title

🤔 Why?

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.

🌱 Features

  • 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

⚙️ Tech Stack

  • Frontend: Streamlit
  • NLP: scikit-learn (logistic regression classifier with TF-IDF vectorisation)
  • Data Processing: pandas
  • Language: Python 3

🤖 How It Works

  1. User Input: You ask a question
  2. Intent Classification: A trained machine learning model identifies your intent
  3. Data Retrieval: The system queries relevant data from CSV files
  4. Response Generation: A natural-sounding response is generated using templates

📁 Project Structure

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

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments


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.

About

A template-based NLP chatbot for Old School RuneScape that provides accurate answers to natural language questions about tree farming.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages