sandelrt commited on
Commit
5e7ee92
1 Parent(s): 9217c4d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +53 -53
app.py CHANGED
@@ -1,63 +1,63 @@
1
  import gradio as gr
2
- from huggingface_hub import InferenceClient
 
3
 
4
- """
5
- For more information on `huggingface_hub` Inference API support, please check the docs: https://huggingface.co/docs/huggingface_hub/v0.22.2/en/guides/inference
6
- """
7
- client = InferenceClient("meta-llama/Meta-Llama-3-8B-Instruct")
8
 
 
 
 
 
9
 
10
- def respond(
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
- for val in history:
21
- if val[0]:
22
- messages.append({"role": "user", "content": val[0]})
23
- if val[1]:
24
- messages.append({"role": "assistant", "content": val[1]})
 
25
 
26
- messages.append({"role": "user", "content": message})
27
-
28
- response = ""
29
-
30
- for message in client.chat_completion(
31
  messages,
32
- max_tokens=max_tokens,
33
- stream=True,
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
- if __name__ == "__main__":
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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()