ayureasehealthcare commited on
Commit
91eff4e
·
verified ·
1 Parent(s): 8808569

Update app/model.py

Browse files
Files changed (1) hide show
  1. app/model.py +12 -11
app/model.py CHANGED
@@ -1,23 +1,25 @@
1
- from transformers import AutoTokenizer, AutoModelForCausalLM
2
- import torch
3
  import os
 
 
4
 
5
- MODEL_NAME = "ayureasehealthcare/llama3-ayurveda-text-v4"
 
 
 
6
 
7
- # Set writable HF cache directory
8
- os.environ["TRANSFORMERS_CACHE"] = "/app/cache/huggingface"
9
- os.environ["HF_HOME"] = "/app/cache/huggingface"
10
 
11
  def load_model():
12
- tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
13
  model = AutoModelForCausalLM.from_pretrained(
14
  MODEL_NAME,
15
  torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
16
- device_map="auto"
 
17
  )
18
  return model, tokenizer
19
 
20
- def generate_response(model, tokenizer, prompt, max_new_tokens=512, temperature=0.7, top_p=0.95):
21
  inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
22
  outputs = model.generate(
23
  **inputs,
@@ -26,5 +28,4 @@ def generate_response(model, tokenizer, prompt, max_new_tokens=512, temperature=
26
  top_p=top_p,
27
  do_sample=True
28
  )
29
- result = tokenizer.decode(outputs[0], skip_special_tokens=True)
30
- return result[len(prompt):].strip()
 
 
 
1
  import os
2
+ import torch
3
+ from transformers import AutoModelForCausalLM, AutoTokenizer
4
 
5
+ # Set cache directory early
6
+ CACHE_DIR = "/data/cache"
7
+ os.environ["TRANSFORMERS_CACHE"] = CACHE_DIR
8
+ os.environ["HF_HOME"] = CACHE_DIR
9
 
10
+ MODEL_NAME = "ayureasehealthcare/llama3-ayurveda-text-v4"
 
 
11
 
12
  def load_model():
13
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, cache_dir=CACHE_DIR)
14
  model = AutoModelForCausalLM.from_pretrained(
15
  MODEL_NAME,
16
  torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
17
+ device_map="auto",
18
+ cache_dir=CACHE_DIR
19
  )
20
  return model, tokenizer
21
 
22
+ def generate_response(model, tokenizer, prompt, max_new_tokens=512, temperature=0.7, top_p=0.9):
23
  inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
24
  outputs = model.generate(
25
  **inputs,
 
28
  top_p=top_p,
29
  do_sample=True
30
  )
31
+ return tokenizer.decode(outputs[0], skip_special_tokens=True)