mobarmg commited on
Commit
f4753f3
·
verified ·
1 Parent(s): b768edc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -6
app.py CHANGED
@@ -4,17 +4,28 @@ from arabert.aragpt2.grover.modeling_gpt2 import GPT2LMHeadModel
4
  from transformers import AutoTokenizer
5
  import re
6
  import torch
 
7
 
8
- # Check if CUDA is available
9
- device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
10
- print(f"Using device: {device}")
 
 
 
 
 
 
 
 
11
 
12
  model_name = "Naseej/AskMe-Large"
13
  tokenizer = AutoTokenizer.from_pretrained(model_name, bos_token='<|startoftext|>',
14
  eos_token='<|endoftext|>', pad_token='<|pad|>')
15
- model = GPT2LMHeadModel.from_pretrained(model_name).to(device) # Move model to GPU
16
  model.resize_token_embeddings(len(tokenizer))
17
- generator = pipeline("text-generation", model=model, tokenizer=tokenizer, device=0 if torch.cuda.is_available() else -1)
 
 
18
 
19
  def generate_response(message, history, num_beams=4, temperature=0.99, do_sample=True, top_k=60, top_p=0.9):
20
  prompt = f'Prompt: {message}\nAnswer:'
@@ -94,4 +105,8 @@ with gr.Blocks(css=css) as demo:
94
 
95
  clear_btn.click(lambda: None, None, chatbot, queue=False)
96
 
97
- demo.launch()
 
 
 
 
 
4
  from transformers import AutoTokenizer
5
  import re
6
  import torch
7
+ import os
8
 
9
+ # For ZeroGPU on Hugging Face
10
+ # Checking if we're on Hugging Face infrastructure
11
+ HF_SPACE = os.environ.get("SPACE_ID") is not None
12
+
13
+ # Get appropriate device for ZeroGPU
14
+ if torch.cuda.is_available() and HF_SPACE:
15
+ device = 0 # For ZeroGPU, use device index 0
16
+ print("Using ZeroGPU on Hugging Face")
17
+ else:
18
+ device = -1 # CPU fallback
19
+ print("Using CPU")
20
 
21
  model_name = "Naseej/AskMe-Large"
22
  tokenizer = AutoTokenizer.from_pretrained(model_name, bos_token='<|startoftext|>',
23
  eos_token='<|endoftext|>', pad_token='<|pad|>')
24
+ model = GPT2LMHeadModel.from_pretrained(model_name)
25
  model.resize_token_embeddings(len(tokenizer))
26
+
27
+ # Configure pipeline with the device parameter for ZeroGPU
28
+ generator = pipeline("text-generation", model=model, tokenizer=tokenizer, device=device)
29
 
30
  def generate_response(message, history, num_beams=4, temperature=0.99, do_sample=True, top_k=60, top_p=0.9):
31
  prompt = f'Prompt: {message}\nAnswer:'
 
105
 
106
  clear_btn.click(lambda: None, None, chatbot, queue=False)
107
 
108
+ # For ZeroGPU on Hugging Face, we need to use specific launch parameters
109
+ if HF_SPACE:
110
+ demo.launch(share=False, server_name="0.0.0.0")
111
+ else:
112
+ demo.launch()