Taf2023 commited on
Commit
46f01d1
·
verified ·
1 Parent(s): 18dbac1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +69 -1
app.py CHANGED
@@ -1 +1,69 @@
1
- from huggingface_hub import InferenceClient import gradio as gr import random import prompts client = InferenceClient("mistralai/Mixtral-8x7B-Instruct-v0.1") def format_prompt(message, history): prompt = "<s>" for user_prompt, bot_response in history: prompt += f"[INST] {user_prompt} [/INST]" prompt += f" {bot_response}</s> " prompt += f"[INST] {message} [/INST]" return prompt def generate(prompt, history, max_new_tokens, seed): print(seed) system_prompt = prompts.ARTICLE_WRITER.format(history=history) generate_kwargs = dict( temperature=0.9, max_new_tokens=max_new_tokens, top_p=0.95, repetition_penalty=1.0, do_sample=True, seed=seed, ) formatted_prompt = format_prompt(f"{system_prompt}, {prompt}", history) stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False) output = "" for response in stream: output += response.token.text yield output additional_inputs = [ gr.Slider( label="Max new tokens", value=4096, minimum=10, maximum=1048*10, step=64, interactive=True, info="The maximum numbers of words the chatbot will return", ), gr.Slider( label="Seed", value=random.randint(1,9999999999999999), minimum=0, maximum=9999999999999999, step=64, interactive=True, info="Each seed produces a different output to a single prompt", ), ] examples = [ ["Write a 1000-word article about the benefits of a healthy lifestyle."], ["Compose a 2000-word essay on the impact of technology on modern society."], ["Generate a 1500-word article discussing the importance of environmental conservation."], ["Create a 3000-word piece exploring the role of art in shaping cultural identity."], ] gr.ChatInterface( fn=generate, chatbot=gr.Chatbot(show_label=False, show_share_button=False, show_copy_button=True, likeable=True, layout="panel"), title="Article Writer", additional_inputs=additional_inputs, examples=examples, concurrency_limit=20, ).launch(show_api=False)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from huggingface_hub import InferenceClient
2
+ import gradio as gr
3
+ import random
4
+ import prompts
5
+
6
+ client = InferenceClient("mistralai/Mixtral-8x7B-Instruct-v0.1")
7
+
8
+ def format_prompt(message, history):
9
+ prompt = "<s>"
10
+ for user_prompt, bot_response in history:
11
+ prompt += f"[INST] {user_prompt} [/INST]"
12
+ prompt += f" {bot_response}</s> "
13
+ prompt += f"[INST] {message} [/INST]"
14
+ return prompt
15
+
16
+ def generate(prompt, history, max_new_tokens, seed):
17
+ print(seed)
18
+ system_prompt = prompts.ARTICLE_WRITER.format(history=history)
19
+ generate_kwargs = dict(
20
+ temperature=0.9,
21
+ max_new_tokens=max_new_tokens,
22
+ top_p=0.95,
23
+ repetition_penalty=1.0,
24
+ do_sample=True,
25
+ seed=seed,
26
+ )
27
+ formatted_prompt = format_prompt(f"{system_prompt}, {prompt}", history)
28
+ stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
29
+ output = ""
30
+ for response in stream:
31
+ output += response.token.text
32
+ yield output
33
+
34
+ additional_inputs = [
35
+ gr.Slider(
36
+ label="Max new tokens",
37
+ value=4096,
38
+ minimum=10,
39
+ maximum=1048*10,
40
+ step=64,
41
+ interactive=True,
42
+ info="The maximum numbers of words the chatbot will return",
43
+ ),
44
+ gr.Slider(
45
+ label="Seed",
46
+ value=random.randint(1,9999999999999999),
47
+ minimum=0,
48
+ maximum=9999999999999999,
49
+ step=64,
50
+ interactive=True,
51
+ info="Each seed produces a different output to a single prompt",
52
+ ),
53
+ ]
54
+
55
+ examples = [
56
+ ["Write a 1000-word article about the benefits of a healthy lifestyle."],
57
+ ["Compose a 2000-word essay on the impact of technology on modern society."],
58
+ ["Generate a 1500-word article discussing the importance of environmental conservation."],
59
+ ["Create a 3000-word piece exploring the role of art in shaping cultural identity."],
60
+ ]
61
+
62
+ gr.ChatInterface(
63
+ fn=generate,
64
+ chatbot=gr.Chatbot(show_label=False, show_share_button=False, show_copy_button=True, likeable=True, layout="panel"),
65
+ title="Article Writer",
66
+ additional_inputs=additional_inputs,
67
+ examples=examples,
68
+ concurrency_limit=20,
69
+ ).launch(show_api=False)