hpyapali commited on
Commit
6a76a21
Β·
verified Β·
1 Parent(s): 3f1ddce

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -12
app.py CHANGED
@@ -1,25 +1,39 @@
 
1
  import torch
2
- from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline, BitsAndBytesConfig
3
- from peft import PeftModel
4
  import gradio as gr
 
 
5
 
6
- base_model = "mistralai/Mistral-7B-v0.1"
7
- adapter_path = "./mistral-recovery-model"
8
 
9
- bnb_config = BitsAndBytesConfig(
10
- load_in_4bit=True,
11
- bnb_4bit_compute_dtype=torch.float16,
12
- )
13
 
14
- tokenizer = AutoTokenizer.from_pretrained(base_model)
 
15
  tokenizer.pad_token = tokenizer.eos_token
16
 
17
- model = AutoModelForCausalLM.from_pretrained(base_model, device_map="auto", quantization_config=bnb_config)
18
- model = PeftModel.from_pretrained(model, adapter_path)
 
 
 
 
 
19
 
 
20
  pipe = pipeline("text-generation", model=model, tokenizer=tokenizer, max_new_tokens=150, temperature=0.7)
21
 
 
22
  def generate(prompt):
23
  return pipe(prompt)[0]['generated_text']
24
 
25
- gr.Interface(fn=generate, inputs="text", outputs="text", title="πŸ‹οΈβ€β™‚οΈ Mistral Recovery Coach").launch()
 
 
 
 
 
 
 
1
+ import os
2
  import torch
 
 
3
  import gradio as gr
4
+ from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
5
+ from peft import PeftModel
6
 
7
+ # πŸ” Hugging Face token (stored in repo secret as HF_TOKEN)
8
+ HF_TOKEN = os.environ.get("HF_TOKEN")
9
 
10
+ # πŸ“Œ Model sources
11
+ base_model = "mistralai/Mistral-7B-v0.1"
12
+ adapter_path = "./mistral-recovery-model" # Your uploaded LoRA adapter files
 
13
 
14
+ # πŸš€ Load tokenizer and model in FP32 (CPU-safe)
15
+ tokenizer = AutoTokenizer.from_pretrained(base_model, use_auth_token=HF_TOKEN)
16
  tokenizer.pad_token = tokenizer.eos_token
17
 
18
+ model = AutoModelForCausalLM.from_pretrained(
19
+ base_model,
20
+ torch_dtype=torch.float32,
21
+ use_auth_token=HF_TOKEN
22
+ )
23
+
24
+ model = PeftModel.from_pretrained(model, adapter_path, use_auth_token=HF_TOKEN)
25
 
26
+ # 🧠 Pipeline
27
  pipe = pipeline("text-generation", model=model, tokenizer=tokenizer, max_new_tokens=150, temperature=0.7)
28
 
29
+ # πŸ–₯️ Gradio UI
30
  def generate(prompt):
31
  return pipe(prompt)[0]['generated_text']
32
 
33
+ gr.Interface(
34
+ fn=generate,
35
+ inputs="text",
36
+ outputs="text",
37
+ title="πŸ‹οΈ Mistral Recovery Coach (CPU Mode)",
38
+ description="Enter your workout summary and get personalized recovery advice."
39
+ ).launch()