Git Product home page Git Product logo

neo-con / tft-embedded-synergy-builder Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 14.13 MB

A fun project experimenting with champion synergies and item recommendations in Teamfight Tactics. Created just to see how well semantically based builds could work. Expect fun, not perfection!

Home Page: https://tft-embedded.streamlit.app/

License: MIT License

Python 96.87% HTML 3.13%
embedded embeddings gpt league-of-legends openai streamlit teamfight-tactics

tft-embedded-synergy-builder's Introduction

tft-embedded-synergy-builder

Description

TFT Embedded Synergy Builder is a recommendation system for the game Teamfight Tactics (TFT). It utilizes semantic-based search and embeddings to provide players with personalized suggestions for the best champions and items based on their selected champion or champions. The system manages multiple champion embeddings by calculating the average embedding of the selected champions. This average embedding is then used to find similar champions based on their embeddings. This project aims to explore the effectiveness of semantic search in the context of champion and item recommendations in TFT.

Interactive Demo

Streamlit App

Setup and Installation

To set up the project, follow these steps:

  1. Ensure that pipenv is installed on your system. If not, you can install it using pip install pipenv.
  2. Clone the repository from GitHub using the following command: git clone https://github.com/neo-con/tft-embedded-synergy-builder.git
  3. Navigate to the cloned repository's directory. If you cloned the repository into your current directory, you can do this with: cd tft-embedded-synergy-builder
  4. Run pipenv install to install all dependencies listed in the Pipfile.
  5. After the installation completes, activate the Pipenv shell: pipenv shell
  6. You can now run the application using streamlit run app.py.

Usage

Input your chosen champion into the text box provided. The system will then generate a team composition based on the champion's embeddings match. An example of the application in use can be found at the live Streamlit app here.

Project Structure

Below is a brief overview of the key files and folders:

  • app.py - This is the main application file where the Streamlit app is defined.
  • assets/ - This directory contains all the static files used in the project, including images for champions and items.
  • builders/ - This directory contains the builder files (item_builder.py and synergy_builder.py) used for item and synergy recommendations.
  • data/ - This directory contains all the data files used in the project.
  • embeddings/ - This directory contains the embeddings for champions and items.
  • scripts/ - This directory contains the scripts used to generate embeddings and scrape data.
  • template/ - This directory contains the HTML template used in the Streamlit app.

Acknowledgments

Special thanks to the Facebook team for their work on FAISS, and OpenAI for their Embedding API.

Known Issues:

Layout on mobile device sucks. This is due to Streamlit's lack of responsiveness controls. Hoping to switch frameworks in the future, perhaps Django or Flask, or even React.

License

This project is licensed under the terms of the MIT License. You are free to use, modify, and distribute the code, provided that proper credit is given.

Note: This project is not affiliated with or endorsed by the creators of Teamfight Tactics or Riot Games. All game images, names, and other details are property of their respective owners.

tft-embedded-synergy-builder's People

Contributors

neo-con avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.