jerinaj commited on
Commit
6197079
·
1 Parent(s): cf04324
Files changed (2) hide show
  1. app.py +51 -13
  2. requirements.txt +5 -2
app.py CHANGED
@@ -1,20 +1,58 @@
1
  import gradio as gr
2
- from llama_cpp import Llama
3
- from huggingface_hub import hf_hub_download
4
 
5
- model_path = hf_hub_download(
6
- repo_id="jerinaj/lfm-tool",
7
- filename="LFM2-350M.Q4_K_M.gguf"
8
  )
9
 
10
- llm = Llama(
11
- model_path=model_path,
12
- n_ctx=1024,
13
- n_threads=2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  )
15
 
16
- def chat(prompt):
17
- output = llm(prompt, max_tokens=100)
18
- return output["choices"][0]["text"]
19
 
20
- gr.Interface(fn=chat, inputs="text", outputs="text").launch()
 
1
  import gradio as gr
2
+ import torch
 
3
 
4
+ from transformers import (
5
+ AutoTokenizer,
6
+ AutoModelForCausalLM
7
  )
8
 
9
+
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
+
26
+ prompt = tokenizer.apply_chat_template(
27
+ messages,
28
+ tokenize=False,
29
+ add_generation_prompt=True
30
+ )
31
+
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,
53
+ inputs=gr.JSON(),
54
+ outputs=gr.Textbox()
55
  )
56
 
 
 
 
57
 
58
+ demo.launch()
requirements.txt CHANGED
@@ -1,3 +1,6 @@
1
- llama-cpp-python==0.2.90
 
 
2
  gradio
3
- huggingface_hub
 
 
1
+ torch
2
+ transformers
3
+ accelerate
4
  gradio
5
+ sentencepiece
6
+ protobuf