genesisclay commited on
Commit
68d5e32
·
verified ·
1 Parent(s): e6fc759

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -24
app.py CHANGED
@@ -1,34 +1,33 @@
1
  import gradio as gr
2
- from transformers import AutoModelForCausalLM, AutoTokenizer
3
  import torch
4
 
5
- # Load the DeepSeek-R1-Distill-Qwen-1.5B-uncensored model
6
- model_id = "thirdeyeai/DeepSeek-R1-Distill-Qwen-1.5B-uncensored"
7
- tokenizer = AutoTokenizer.from_pretrained(model_id)
8
- model = AutoModelForCausalLM.from_pretrained(
9
- model_id,
10
- torch_dtype=torch.float16, # Use float16 for efficiency
11
- low_cpu_mem_usage=True,
12
- device_map="auto" # Automatically use available devices
13
  )
14
 
15
  def generate_text(prompt, max_length=100, temperature=0.7, top_p=0.9):
16
- """Generate text based on prompt"""
17
- inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
 
 
18
 
19
- # Generate
20
- with torch.no_grad():
21
- generation_output = model.generate(
22
- input_ids=inputs.input_ids,
23
- attention_mask=inputs.attention_mask,
24
- max_length=len(inputs.input_ids[0]) + max_length,
25
- temperature=temperature,
26
- top_p=top_p,
27
- do_sample=True,
28
- )
29
 
30
- # Decode and return only the generated part
31
- generated_text = tokenizer.decode(generation_output[0], skip_special_tokens=True)
32
  return generated_text
33
 
34
  # Create Gradio interface
@@ -36,7 +35,7 @@ demo = gr.Interface(
36
  fn=generate_text,
37
  inputs=[
38
  gr.Textbox(lines=5, placeholder="Enter your prompt here...", label="Prompt"),
39
- gr.Slider(minimum=10, maximum=500, value=100, step=10, label="Max Length"),
40
  gr.Slider(minimum=0.1, maximum=2.0, value=0.7, step=0.1, label="Temperature"),
41
  gr.Slider(minimum=0.1, maximum=1.0, value=0.9, step=0.05, label="Top-p")
42
  ],
 
1
  import gradio as gr
2
+ from transformers import pipeline
3
  import torch
4
 
5
+ # Initialize the text generation pipeline with the model
6
+ generator = pipeline(
7
+ "text-generation",
8
+ model="thirdeyeai/DeepSeek-R1-Distill-Qwen-1.5B-uncensored",
9
+ torch_dtype=torch.float16,
10
+ device_map="auto"
 
 
11
  )
12
 
13
  def generate_text(prompt, max_length=100, temperature=0.7, top_p=0.9):
14
+ """Generate text based on prompt using the pipeline"""
15
+ # Calculate max_new_tokens from max_length
16
+ # This is approximate as token count doesn't directly map to character count
17
+ max_new_tokens = max_length // 4 # rough estimate of 4 chars per token
18
 
19
+ # Generate text
20
+ response = generator(
21
+ prompt,
22
+ max_new_tokens=max_new_tokens,
23
+ temperature=temperature,
24
+ top_p=top_p,
25
+ do_sample=True,
26
+ return_full_text=True
27
+ )
 
28
 
29
+ # Extract the generated text from the response
30
+ generated_text = response[0]['generated_text']
31
  return generated_text
32
 
33
  # Create Gradio interface
 
35
  fn=generate_text,
36
  inputs=[
37
  gr.Textbox(lines=5, placeholder="Enter your prompt here...", label="Prompt"),
38
+ gr.Slider(minimum=10, maximum=500, value=100, step=10, label="Max Length (approx. characters)"),
39
  gr.Slider(minimum=0.1, maximum=2.0, value=0.7, step=0.1, label="Temperature"),
40
  gr.Slider(minimum=0.1, maximum=1.0, value=0.9, step=0.05, label="Top-p")
41
  ],