ivmpfa commited on
Commit
0c64484
·
verified ·
1 Parent(s): dfb6a3f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -6
app.py CHANGED
@@ -1,20 +1,62 @@
1
  import gradio as gr
2
  from transformers import pipeline
 
3
 
4
- model = pipeline("text-generation", model="gpt2")
 
 
 
 
 
 
 
 
5
 
6
  def generate_test_cases(requirement):
7
- prompt = f"Generate test cases for '{requirement}' in JSON format. Output only the array."
8
- result = model(prompt, max_length=200)[0]["generated_text"]
9
- return result.strip()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
 
11
  demo = gr.Interface(
12
  fn=generate_test_cases,
13
  inputs="text",
14
  outputs="text",
15
  title="Test Case Generator",
16
  description="Enter a requirement to generate test cases.",
17
- flagging_mode="never" # Valid value for flagging_mode
18
  )
19
 
20
- demo.launch(server_name="0.0.0.0", server_port=7860)
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
  from transformers import pipeline
3
+ import torch
4
 
5
+ # Load GPT-2 with optimized parameters
6
+ model = pipeline(
7
+ "text-generation",
8
+ model="gpt2",
9
+ max_length=200,
10
+ temperature=0.7,
11
+ early_stopping=True,
12
+ torch_dtype=torch.float16 # Use half-precision for speed
13
+ )
14
 
15
  def generate_test_cases(requirement):
16
+ # Simplified prompt with clear instructions and example
17
+ prompt = f"""
18
+ Generate test cases for '{requirement}' in JSON format. Output only the array.
19
+
20
+ Example format:
21
+ [
22
+ {{
23
+ "id": 1,
24
+ "title": "Valid Login",
25
+ "steps": ["Enter valid email", "Enter valid password", "Click login"],
26
+ "expected_result": "Redirect to dashboard"
27
+ }},
28
+ {{
29
+ "id": 2,
30
+ "title": "Invalid Password",
31
+ "steps": ["Enter valid email", "Enter wrong password", "Click login"],
32
+ "expected_result": "Error message displayed"
33
+ }}
34
+ ]
35
+ """
36
+
37
+ try:
38
+ # Generate text with a timeout (avoids long inference)
39
+ with torch.no_grad():
40
+ result = model(prompt, max_time=10)[0]["generated_text"]
41
+ return result.strip()
42
+ except Exception as e:
43
+ return f"Error: {str(e)}"
44
 
45
+ # Create Gradio interface with proper flagging_mode
46
  demo = gr.Interface(
47
  fn=generate_test_cases,
48
  inputs="text",
49
  outputs="text",
50
  title="Test Case Generator",
51
  description="Enter a requirement to generate test cases.",
52
+ flagging_mode="never" # Valid value
53
  )
54
 
55
+ # Launch with proper settings
56
+ if __name__ == "__main__":
57
+ demo.launch(
58
+ server_name="0.0.0.0",
59
+ server_port=7860,
60
+ debug=True,
61
+ prevent_thread_lock=True
62
+ )