jerinaj commited on
Commit
f8556de
·
1 Parent(s): ead9ed9
Files changed (1) hide show
  1. app.py +30 -10
app.py CHANGED
@@ -10,16 +10,21 @@ from transformers import (
10
  MODEL_ID = "jerinaj/lfm-tool-merged"
11
 
12
 
 
13
  tokenizer = AutoTokenizer.from_pretrained(
14
  MODEL_ID
15
  )
16
 
 
 
17
  model = AutoModelForCausalLM.from_pretrained(
18
  MODEL_ID,
19
- torch_dtype=torch.bfloat16,
20
  device_map="auto"
21
  )
22
 
 
 
23
 
24
  def predict(messages):
25
 
@@ -32,21 +37,32 @@ def predict(messages):
32
  inputs = tokenizer(
33
  prompt,
34
  return_tensors="pt"
35
- ).to(model.device)
36
 
 
 
 
 
37
 
38
- output = model.generate(
39
- **inputs,
40
- max_new_tokens=256,
41
- temperature=0.1
42
- )
43
 
 
44
 
45
- return tokenizer.decode(
46
- output[0][inputs.input_ids.shape[1]:],
 
 
 
 
 
 
 
 
47
  skip_special_tokens=True
48
  )
49
 
 
 
 
50
 
51
  demo = gr.Interface(
52
  fn=predict,
@@ -55,4 +71,8 @@ demo = gr.Interface(
55
  )
56
 
57
 
58
- demo.launch(share=True)
 
 
 
 
 
10
  MODEL_ID = "jerinaj/lfm-tool-merged"
11
 
12
 
13
+ # Load tokenizer
14
  tokenizer = AutoTokenizer.from_pretrained(
15
  MODEL_ID
16
  )
17
 
18
+
19
+ # Load model
20
  model = AutoModelForCausalLM.from_pretrained(
21
  MODEL_ID,
22
+ dtype=torch.bfloat16,
23
  device_map="auto"
24
  )
25
 
26
+ model.eval()
27
+
28
 
29
  def predict(messages):
30
 
 
37
  inputs = tokenizer(
38
  prompt,
39
  return_tensors="pt"
40
+ )
41
 
42
+ inputs = {
43
+ k: v.to(model.device)
44
+ for k, v in inputs.items()
45
+ }
46
 
 
 
 
 
 
47
 
48
+ with torch.inference_mode():
49
 
50
+ output = model.generate(
51
+ **inputs,
52
+ max_new_tokens=256,
53
+ temperature=0.1,
54
+ do_sample=True
55
+ )
56
+
57
+
58
+ response = tokenizer.decode(
59
+ output[0][inputs["input_ids"].shape[1]:],
60
  skip_special_tokens=True
61
  )
62
 
63
+ return response
64
+
65
+
66
 
67
  demo = gr.Interface(
68
  fn=predict,
 
71
  )
72
 
73
 
74
+ demo.launch(
75
+ server_name="0.0.0.0",
76
+ server_port=7860,
77
+ share=True
78
+ )