vericudebuget commited on
Commit
076fc13
1 Parent(s): 04b933e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -21
app.py CHANGED
@@ -12,7 +12,7 @@ def format_prompt(message, history):
12
  prompt += f"[INST] {message} [/INST]"
13
  return prompt
14
 
15
- def generate(prompt, history, system_prompt, theme, temperature=0.9, max_new_tokens=9048, top_p=0.95, repetition_penalty=1.0):
16
  temperature = max(float(temperature), 1e-2)
17
  top_p = float(top_p)
18
 
@@ -34,31 +34,27 @@ def generate(prompt, history, system_prompt, theme, temperature=0.9, max_new_tok
34
  yield output
35
  return output
36
 
37
- def get_theme(theme_name):
38
- theme_mapping = {
39
- "Base": gr.themes.Base(),
40
- "Default": gr.themes.Default(),
41
- "Glass": gr.themes.Glass(),
42
- "Monochrome": gr.themes.Monochrome(),
43
- "Soft": gr.themes.Soft()
44
- }
45
- return theme_mapping.get(theme_name, gr.themes.Default())
46
 
47
  additional_inputs = [
48
  gr.Textbox(label="System Prompt", max_lines=1, interactive=True),
49
  gr.Slider(label="Temperature", value=0.9, minimum=0.0, maximum=1.0, step=0.05, interactive=True, info="Higher values produce more diverse outputs"),
50
  gr.Slider(label="Max new tokens", value=9048, minimum=256, maximum=9048, step=64, interactive=True, info="The maximum numbers of new tokens"),
51
  gr.Slider(label="Top-p (nucleus sampling)", value=0.90, minimum=0.0, maximum=1, step=0.05, interactive=True, info="Higher values sample more low-probability tokens"),
52
- gr.Slider(label="Repetition penalty", value=1.2, minimum=1.0, maximum=2.0, step=0.05, interactive=True, info="Penalize repeated tokens"),
53
- gr.Dropdown(label="Theme", choices=["Default", "Base", "Glass", "Monochrome", "Soft"], interactive=True, info="Select a theme for the app")
54
  ]
55
 
56
- gr.ChatInterface(
57
- fn=generate,
58
- chatbot=gr.Chatbot(show_label=True, show_share_button=True, show_copy_button=True, likeable=True, layout="panel"),
59
- additional_inputs=additional_inputs,
60
- title="ConvoLite",
61
- description="Remember! The AI might give incorrect information about people, locations, history, etc...",
62
- concurrency_limit=20,
63
- theme=get_theme(additional_inputs[-1].value) # Use the selected theme
64
- ).launch(show_api=False)
 
12
  prompt += f"[INST] {message} [/INST]"
13
  return prompt
14
 
15
+ def generate(prompt, history, system_prompt, temperature=0.9, max_new_tokens=9048, top_p=0.95, repetition_penalty=1.0):
16
  temperature = max(float(temperature), 1e-2)
17
  top_p = float(top_p)
18
 
 
34
  yield output
35
  return output
36
 
37
+ for response in stream:
38
+ output += response.token.text
39
+ if "http" in output: # assuming the AI writes a direct image link in its response
40
+ yield {"image": output} # Gradio will display the image
41
+ else:
42
+ yield output
 
 
 
43
 
44
  additional_inputs = [
45
  gr.Textbox(label="System Prompt", max_lines=1, interactive=True),
46
  gr.Slider(label="Temperature", value=0.9, minimum=0.0, maximum=1.0, step=0.05, interactive=True, info="Higher values produce more diverse outputs"),
47
  gr.Slider(label="Max new tokens", value=9048, minimum=256, maximum=9048, step=64, interactive=True, info="The maximum numbers of new tokens"),
48
  gr.Slider(label="Top-p (nucleus sampling)", value=0.90, minimum=0.0, maximum=1, step=0.05, interactive=True, info="Higher values sample more low-probability tokens"),
49
+ gr.Slider(label="Repetition penalty", value=1.2, minimum=1.0, maximum=2.0, step=0.05, interactive=True, info="Penalize repeated tokens")
 
50
  ]
51
 
52
+ with gr.themes.Soft(): # Apply the Soft theme
53
+ gr.ChatInterface(
54
+ fn=generate,
55
+ chatbot=gr.Chatbot(show_label=True, show_share_button=True, show_copy_button=True, likeable=True, layout="panel"),
56
+ additional_inputs=additional_inputs,
57
+ title="ConvoLite",
58
+ description= Remember! The AI might give incorrect information about people, locations, history, etc...
59
+ concurrency_limit=20,
60
+ ).launch(show_api=False,)