Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kylesayrs/scramblegenerator
Generate word scrambles using GPT3.5. Scrambles minimize character entropy and maximize fun
https://github.com/kylesayrs/scramblegenerator
board-game chatgpt gpt3-turbo openai word-games word-scramble-game
Last synced: 2 days ago
JSON representation
Generate word scrambles using GPT3.5. Scrambles minimize character entropy and maximize fun
- Host: GitHub
- URL: https://github.com/kylesayrs/scramblegenerator
- Owner: kylesayrs
- Created: 2023-10-21T18:14:18.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-11-20T00:21:08.000Z (about 1 year ago)
- Last Synced: 2023-11-20T01:34:03.034Z (about 1 year ago)
- Topics: board-game, chatgpt, gpt3-turbo, openai, word-games, word-scramble-game
- Language: Python
- Homepage:
- Size: 24.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Scramble Generator #
This repo contains tools to create word scrambles without the user knowing the answers ahead of time.Category word lists are generated by prompting chatgpt which are then used to generate scrambles.
The scrambles are generated in a way that stochastically minimizes the gini coeficient of the distribution of characters. This makes the scrambles easier and more fun to play
## Usage ##
```
usage: scramble.py [-h] [--category CATEGORY] [--num_words NUM_WORDS]
[--min_word_length MIN_WORD_LENGTH] [--max_word_length MAX_WORD_LENGTH]
[--num_tile_sets NUM_TILE_SETS] [--category_sets_path CATEGORY_SETS_PATH]
[--tile_set_path TILE_SET_PATH] [--scramble_dir SCRAMBLE_DIR]options:
-h, --help show this help message and exit
--category CATEGORY Category to create scramble for. Defaults to random category
--num_words NUM_WORDS
Number of words in scramble
--min_word_length MIN_WORD_LENGTH
Minimum word length of words appearing in scramble
--max_word_length MAX_WORD_LENGTH
Minimum word length of words appearing in scramble
--num_tile_sets NUM_TILE_SETS
Multiplier factor for tile set distribution
--category_sets_path CATEGORY_SETS_PATH
--tile_set_path TILE_SET_PATH
--scramble_dir SCRAMBLE_DIR
```
```
usage: chat.py [-h] [--category CATEGORY] [--num_iterations NUM_ITERATIONS]
[--temperature TEMPERATURE] [--category_sets_path CATEGORY_SETS_PATH]options:
-h, --help show this help message and exit
--category CATEGORY Category to add words to. Not specifying this will print the current sets
--num_iterations NUM_ITERATIONS
Number of prompt iterations
--temperature TEMPERATURE
Model temperature. Higher values yield more creative responses
--category_sets_path CATEGORY_SETS_PATH
```## Example ##
```bash
export OPENAI_API_KEY="yourkeyhere"
python3 chat.py --category="harry potter characters"
{}
100%|███████████████████████████████████████████████████████████████████| 5/5 [00:16<00:00, 3.36s/it]
{
"harry potter characters": {
"num_words": 25,
"min_length": 3,
"max_length": 18
}
}
python3 scramble.py --category="harry potter characters"
---------------------------------------------------------------
| Category: harry potter characters |
| Answer path: scrambles/harry potter characters_b86de819.txt |
| Gini Coeficient: 0.556 |
| Characters: { |
| "a": 3, |
| "b": 2, |
| "c": 0, |
| "d": 4, |
| "e": 8, |
| "f": 0, |
| "g": 5, |
| "h": 1, |
| "i": 2, |
| "j": 0, |
| "k": 0, |
| "l": 4, |
| "m": 1, |
| "n": 3, |
| "o": 5, |
| "p": 0, |
| "q": 0, |
| "r": 4, |
| "s": 2, |
| "t": 0, |
| "u": 4, |
| "v": 1, |
| "w": 1, |
| "x": 0, |
| "y": 2, |
| "z": 0 |
| } |
---------------------------------------------------------------
```
![Example Distribution](assets/example_distribution.png)