rf5860 commited on
Commit
99044e4
1 Parent(s): 60675e2

Add flag for backstory generator

Browse files
Files changed (1) hide show
  1. app.py +12 -9
app.py CHANGED
@@ -8,7 +8,7 @@ filename = "mistral-7b-instruct-v0.1.Q4_K_M.gguf"
8
  model_file_path = hf_hub_download(repo_id=repo_id, filename=filename)
9
 
10
 
11
- def generate_characters():
12
  class_list = ["Barbarian", "Bard", "Cleric", "Druid", "Fighter",
13
  "Monk", "Paladin", "Ranger", "Rogue", "Sorcerer", "Warlock", "Wizard"]
14
  sub_class_list = ["Barbarian - Beserker", "Barbarian - Wildheart", "Barbarian - Wild Magic", "Bard - College of Lore", "Bard - College of Valour", "Bard - College of Swords", "Cleric - Life Domain", "Cleric - Light Domain", "Cleric - Trickery Domain", "Cleric - Knowledge Domain", "Cleric - Nature Domain", "Cleric - Tempest Domain", "Cleric - War Domain", "Druid - Circle of the moon", "Druid - Circle of the Land", "Druid - Circle of the Spores", "Fighter - Battle Master", "Fighter - Eldritch Knight", "Fighter - Champion", "Monk - Way of the open hand", "Monk - Way of shadow", "Monk - Way of the four elements",
@@ -44,22 +44,23 @@ def generate_characters():
44
 
45
  characters = [generate_character() for _ in range(2)]
46
  characters.append(generate_multiclass_character())
47
-
48
- def create_character_output(character):
49
  output = ""
50
  for key, value in character.items():
51
  output += f"- **{key}:** {value}\n"
52
  output += "\n"
53
- backstory = generate_backstory(character)
54
- # Remove everything up to and including `[/INST]\n`
55
- output += backstory[backstory.find("[/INST]\n") + 8:]
56
-
 
57
  return output
58
 
59
  output = ""
60
  for idx, char in enumerate(characters, 1):
61
  output += f"### Character {idx}:\n"
62
- output += create_character_output(char)
63
 
64
  return output
65
 
@@ -95,6 +96,8 @@ def generate_backstory(character):
95
  if __name__ == "__main__":
96
  iface = gr.Interface(fn=generate_characters,
97
  title="D&D Character Generator",
 
 
98
  description="Generates 3 random D&D characters.",
99
- inputs=[], outputs="markdown")
100
  iface.launch()
 
8
  model_file_path = hf_hub_download(repo_id=repo_id, filename=filename)
9
 
10
 
11
+ def generate_characters(generate_backstories=False):
12
  class_list = ["Barbarian", "Bard", "Cleric", "Druid", "Fighter",
13
  "Monk", "Paladin", "Ranger", "Rogue", "Sorcerer", "Warlock", "Wizard"]
14
  sub_class_list = ["Barbarian - Beserker", "Barbarian - Wildheart", "Barbarian - Wild Magic", "Bard - College of Lore", "Bard - College of Valour", "Bard - College of Swords", "Cleric - Life Domain", "Cleric - Light Domain", "Cleric - Trickery Domain", "Cleric - Knowledge Domain", "Cleric - Nature Domain", "Cleric - Tempest Domain", "Cleric - War Domain", "Druid - Circle of the moon", "Druid - Circle of the Land", "Druid - Circle of the Spores", "Fighter - Battle Master", "Fighter - Eldritch Knight", "Fighter - Champion", "Monk - Way of the open hand", "Monk - Way of shadow", "Monk - Way of the four elements",
 
44
 
45
  characters = [generate_character() for _ in range(2)]
46
  characters.append(generate_multiclass_character())
47
+
48
+ def create_character_output(character, generate_backstory=False):
49
  output = ""
50
  for key, value in character.items():
51
  output += f"- **{key}:** {value}\n"
52
  output += "\n"
53
+ if generate_backstory:
54
+ backstory = generate_backstory(character)
55
+ # Remove everything up to and including `[/INST]\n`
56
+ output += backstory[backstory.find("[/INST]\n") + 8:]
57
+
58
  return output
59
 
60
  output = ""
61
  for idx, char in enumerate(characters, 1):
62
  output += f"### Character {idx}:\n"
63
+ output += create_character_output(char, generate_backstories)
64
 
65
  return output
66
 
 
96
  if __name__ == "__main__":
97
  iface = gr.Interface(fn=generate_characters,
98
  title="D&D Character Generator",
99
+ inputs=[gr.inputs.Checkbox(
100
+ label="Generate Backstories?")],
101
  description="Generates 3 random D&D characters.",
102
+ outputs="markdown")
103
  iface.launch()