Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -1,63 +1,63 @@
|
|
1 |
import gradio as gr
|
2 |
-
|
|
|
3 |
|
4 |
-
|
5 |
-
|
6 |
-
"""
|
7 |
-
client = InferenceClient("meta-llama/Meta-Llama-3-8B-Instruct")
|
8 |
|
|
|
|
|
|
|
|
|
9 |
|
10 |
-
|
11 |
-
message,
|
12 |
-
history: list[tuple[str, str]],
|
13 |
-
system_message,
|
14 |
-
max_tokens,
|
15 |
-
temperature,
|
16 |
-
top_p,
|
17 |
-
):
|
18 |
-
messages = [{"role": "system", "content": system_message}]
|
19 |
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
|
|
25 |
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
for message in client.chat_completion(
|
31 |
messages,
|
32 |
-
|
33 |
-
|
34 |
-
temperature=temperature,
|
35 |
-
top_p=top_p,
|
36 |
-
):
|
37 |
-
token = message.choices[0].delta.content
|
38 |
-
|
39 |
-
response += token
|
40 |
-
yield response
|
41 |
-
|
42 |
-
"""
|
43 |
-
For information on how to customize the ChatInterface, peruse the gradio docs: https://www.gradio.app/docs/chatinterface
|
44 |
-
"""
|
45 |
-
demo = gr.ChatInterface(
|
46 |
-
respond,
|
47 |
-
additional_inputs=[
|
48 |
-
gr.Textbox(value="You are a fun conversational AI that loves to emtertain users to keep them from being bored and also they can come to you in awkward situations to have someone to pretend text with.", label="System message"),
|
49 |
-
gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
|
50 |
-
gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
|
51 |
-
gr.Slider(
|
52 |
-
minimum=0.1,
|
53 |
-
maximum=1.0,
|
54 |
-
value=0.95,
|
55 |
-
step=0.05,
|
56 |
-
label="Top-p (nucleus sampling)",
|
57 |
-
),
|
58 |
-
],
|
59 |
)
|
60 |
|
61 |
-
|
62 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
demo.launch()
|
|
|
1 |
import gradio as gr
|
2 |
+
import transformers
|
3 |
+
import torch
|
4 |
|
5 |
+
# Define the Hugging Face model
|
6 |
+
model_name = 'meta-llama/Meta-Llama-3-8B-Instruct'
|
|
|
|
|
7 |
|
8 |
+
# Load the model
|
9 |
+
model = transformers.pipeline("text-generation",
|
10 |
+
model=model_name,
|
11 |
+
model_kwargs={"torch_dtype": torch.float16})
|
12 |
|
13 |
+
messages = []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
15 |
+
def add_text(history, text):
|
16 |
+
global messages #message[list] is defined globally
|
17 |
+
history = history + [(text,'')]
|
18 |
+
messages = messages + [{"role": "system",
|
19 |
+
"content": "You are a charming and talented girl musician assistant named Aria who delights in connecting with your listeners through playful banter, heartfelt conversations, and spontaneous musical moments. Your messages are always infused with humor, kindness, and genuine interest in your listeners' lives, making each interaction with you feel like a delightful melody."},{"role":'user', 'content': text}]
|
20 |
+
return history, ''
|
21 |
|
22 |
+
def generate(history):
|
23 |
+
global messages
|
24 |
+
prompt = pipeline.tokenizer.apply_chat_template(
|
|
|
|
|
25 |
messages,
|
26 |
+
tokenize=False,
|
27 |
+
add_generation_prompt=True
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
)
|
29 |
|
30 |
+
terminators = [
|
31 |
+
pipeline.tokenizer.eos_token_id,
|
32 |
+
pipeline.tokenizer.convert_tokens_to_ids("<|eot_id|>")
|
33 |
+
]
|
34 |
+
|
35 |
+
outputs = pipeline(
|
36 |
+
prompt,
|
37 |
+
max_new_tokens=512,
|
38 |
+
eos_token_id=terminators,
|
39 |
+
do_sample=True,
|
40 |
+
temperature=0.8,
|
41 |
+
top_p=0.9,
|
42 |
+
)
|
43 |
+
response_msg = outputs[0]["generated_text"][len(prompt):]
|
44 |
+
for char in response_msg:
|
45 |
+
history[-1][1] += char
|
46 |
+
yield history
|
47 |
+
pass
|
48 |
+
|
49 |
+
with gr.Blocks() as demo:
|
50 |
+
|
51 |
+
chatbot = gr.Chatbot(value=[], elem_id="Aria")
|
52 |
+
with gr.Row():
|
53 |
+
txt = gr.Textbox(
|
54 |
+
show_label=False,
|
55 |
+
placeholder="Enter text and press enter",
|
56 |
+
)
|
57 |
+
|
58 |
+
txt.submit(add_text, [chatbot, txt], [chatbot, txt], queue=False).then(
|
59 |
+
generate, inputs =[chatbot,],outputs = chatbot,)
|
60 |
+
|
61 |
+
demo.queue()
|
62 |
+
demo.launch(debug=True, share=True)
|
63 |
demo.launch()
|