DarkAngel commited on
Commit
b2f4773
·
verified ·
1 Parent(s): bf11651

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -9
app.py CHANGED
@@ -1,12 +1,17 @@
1
  import gradio as gr
2
- from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
 
 
 
 
3
  from peft import PeftModel
 
4
 
5
- # Use a smaller model to reduce memory usage
6
- base_model = AutoModelForCausalLM.from_pretrained("meta/llama-2-7b-hf") # Smaller model
7
  model = PeftModel.from_pretrained(base_model, "DarkAngel/gitallama")
8
- tokenizer = AutoTokenizer.from_pretrained("meta/llama-2-7b-hf") # Use the tokenizer for the smaller model
9
 
 
10
  def generate_response(shloka, transliteration):
11
  """
12
  Generates the response using the fine-tuned LLaMA model.
@@ -17,14 +22,14 @@ def generate_response(shloka, transliteration):
17
  "content": f"Shloka: {shloka} Transliteration: {transliteration}"
18
  }
19
  ]
20
-
21
  inputs = tokenizer.apply_chat_template(
22
  input_message,
23
  tokenize=True,
24
  add_generation_prompt=True,
25
  return_tensors="pt"
26
- ).to("cpu") # Ensure CPU usage
27
 
 
28
  text_streamer = TextStreamer(tokenizer, skip_prompt=True)
29
  generated_tokens = model.generate(
30
  input_ids=inputs,
@@ -36,7 +41,6 @@ def generate_response(shloka, transliteration):
36
  )
37
 
38
  raw_response = tokenizer.decode(generated_tokens[0], skip_special_tokens=True)
39
-
40
  try:
41
  sections = raw_response.split("Hindi Meaning:")
42
  english_meaning = sections[0].strip()
@@ -44,17 +48,19 @@ def generate_response(shloka, transliteration):
44
  hindi_meaning = hindi_and_word[0].strip()
45
  word_meaning = hindi_and_word[1].strip()
46
 
 
47
  formatted_response = (
48
  f"English Meaning:\n{english_meaning}\n\n"
49
  f"Hindi Meaning:\n{hindi_meaning}\n\n"
50
  f"Word Meaning:\n{word_meaning}"
51
  )
52
  except IndexError:
 
53
  formatted_response = raw_response
54
 
55
  return formatted_response
56
 
57
- # Gradio interface
58
  interface = gr.Interface(
59
  fn=generate_response,
60
  inputs=[
@@ -68,4 +74,4 @@ interface = gr.Interface(
68
 
69
  # Launch the interface
70
  if __name__ == "__main__":
71
- interface.launch()
 
1
  import gradio as gr
2
+ from unsloth import FastLanguageModel
3
+ from transformers import TextStreamer
4
+
5
+ # Load the fine-tuned model and tokenizer
6
+ # model, tokenizer = FastLanguageModel.from_pretrained("lora_model")
7
  from peft import PeftModel
8
+ from transformers import AutoModelForCausalLM, AutoTokenizer
9
 
10
+ base_model = AutoModelForCausalLM.from_pretrained("unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit")
 
11
  model = PeftModel.from_pretrained(base_model, "DarkAngel/gitallama")
12
+ tokenizer = AutoTokenizer.from_pretrained("unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit")
13
 
14
+ tokenizer = AutoTokenizer.from_pretrained("unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit")
15
  def generate_response(shloka, transliteration):
16
  """
17
  Generates the response using the fine-tuned LLaMA model.
 
22
  "content": f"Shloka: {shloka} Transliteration: {transliteration}"
23
  }
24
  ]
 
25
  inputs = tokenizer.apply_chat_template(
26
  input_message,
27
  tokenize=True,
28
  add_generation_prompt=True,
29
  return_tensors="pt"
30
+ ).to("cpu")
31
 
32
+ # Generate response
33
  text_streamer = TextStreamer(tokenizer, skip_prompt=True)
34
  generated_tokens = model.generate(
35
  input_ids=inputs,
 
41
  )
42
 
43
  raw_response = tokenizer.decode(generated_tokens[0], skip_special_tokens=True)
 
44
  try:
45
  sections = raw_response.split("Hindi Meaning:")
46
  english_meaning = sections[0].strip()
 
48
  hindi_meaning = hindi_and_word[0].strip()
49
  word_meaning = hindi_and_word[1].strip()
50
 
51
+
52
  formatted_response = (
53
  f"English Meaning:\n{english_meaning}\n\n"
54
  f"Hindi Meaning:\n{hindi_meaning}\n\n"
55
  f"Word Meaning:\n{word_meaning}"
56
  )
57
  except IndexError:
58
+
59
  formatted_response = raw_response
60
 
61
  return formatted_response
62
 
63
+
64
  interface = gr.Interface(
65
  fn=generate_response,
66
  inputs=[
 
74
 
75
  # Launch the interface
76
  if __name__ == "__main__":
77
+ interface.launch()