legolasyiu commited on
Commit
0a48bf2
1 Parent(s): aaa5372

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -15
app.py CHANGED
@@ -1,20 +1,47 @@
 
 
1
  import torch
2
- from transformers import pipeline
3
 
4
- # Load the model and tokenizer
5
- model = pipeline('question-answering', model='EpistemeAI/Fireball-Meta-Llama-3.1-8B-Instruct-Agent-0.003-128K', tokenizer='EpistemeAI/Fireball-Meta-Llama-3.1-8B-Instruct-Agent-0.003-128K')
6
 
7
- def chatbot(input_text):
8
- response = model(input_text)
9
- return response[0]['generated_text']
10
 
11
- # Create a Gradio interface
12
- demo = gr.Interface(
13
- fn=chatbot,
14
- inputs=gr.Textbox(label="User Input"),
15
- outputs=gr.Textbox(label="Chatbot Response"),
16
- title="Chatbot Demo"
17
- )
18
 
19
- # Launch the Gradio app
20
- demo.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import AutoModelForCausalLM, AutoTokenizer
2
+ import gradio as gr
3
  import torch
 
4
 
 
 
5
 
6
+ title = "AI Agemt ChatBot"
7
+ description = "A State-of-the-Art Agent Chatbot"
8
+ examples = [["How are you?"]]
9
 
 
 
 
 
 
 
 
10
 
11
+ tokenizer = AutoTokenizer.from_pretrained("EpistemeAI/Fireball-Meta-Llama-3.1-8B-Instruct-Agent-0.003-128K")
12
+ model = AutoModelForCausalLM.from_pretrained("EpistemeAI/Fireball-Meta-Llama-3.1-8B-Instruct-Agent-0.003-128K")
13
+
14
+
15
+ def predict(input, history=[]):
16
+ # tokenize the new input sentence
17
+ new_user_input_ids = tokenizer.encode(
18
+ input + tokenizer.eos_token, return_tensors="pt"
19
+ )
20
+
21
+ # append the new user input tokens to the chat history
22
+ bot_input_ids = torch.cat([torch.LongTensor(history), new_user_input_ids], dim=-1)
23
+
24
+ # generate a response
25
+ history = model.generate(
26
+ bot_input_ids, max_length=4000, pad_token_id=tokenizer.eos_token_id
27
+ ).tolist()
28
+
29
+ # convert the tokens to text, and then split the responses into lines
30
+ response = tokenizer.decode(history[0]).split("<|endoftext|>")
31
+ # print('decoded_response-->>'+str(response))
32
+ response = [
33
+ (response[i], response[i + 1]) for i in range(0, len(response) - 1, 2)
34
+ ] # convert to tuples of list
35
+ # print('response-->>'+str(response))
36
+ return response, history
37
+
38
+
39
+ gr.Interface(
40
+ fn=predict,
41
+ title=title,
42
+ description=description,
43
+ examples=examples,
44
+ inputs=["text", "state"],
45
+ outputs=["chatbot", "state"],
46
+ theme="finlaymacklon/boxy_violet",
47
+ ).launch()