anupam210 commited on
Commit
13c0a49
1 Parent(s): 7fc0ccc

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +85 -0
app.py ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import openai
3
+ import pandas as pd
4
+ from sklearn.preprocessing import LabelEncoder
5
+ import numpy as np
6
+ import gradio as gr
7
+
8
+ openai.api_key = os.getenv("OPENAI_API_KEY")
9
+
10
+ def classify_defect(defect_description):
11
+ response = openai.Completion.create(
12
+ engine="text-davinci-003",
13
+ prompt= f"Classify the following defect description into one of the given classes:Software Issue, Hardware Issue, Access Issue \nDefect Description:{defect_description}\nDefect Class:",
14
+ temperature= 0,
15
+ max_tokens= 50,
16
+ n=1,
17
+ stop=None
18
+ #timeout=15,
19
+ )
20
+ classification = response.choices[0].text.strip()
21
+ return classification
22
+ def access(defect_description):
23
+ response = openai.Completion.create(
24
+ engine="text-davinci-003",
25
+ prompt=f"Classify the following defect description into one of the given classes:Login, Network \nDefect Description:{defect_description}\nDefect Class:",
26
+ max_tokens= 225,
27
+ n=1,
28
+ stop=None
29
+ #timeout=15,
30
+ )
31
+ classification = response.choices[0].text.strip()
32
+ return classification
33
+ def software(defect_description):
34
+ response = openai.Completion.create(
35
+ model="text-davinci-003",
36
+ prompt=f"identify the software from each item in below list:\n[{defect_description}]\nsoftware:",
37
+ temperature=0.71,
38
+ max_tokens=73,
39
+ top_p=1,
40
+ frequency_penalty=0,
41
+ presence_penalty=0
42
+ )
43
+ classification = response.choices[0].text.strip()
44
+ return classification
45
+ def hardware(defect_description):
46
+ response = openai.Completion.create(
47
+ engine="text-davinci-003",
48
+ prompt=f"identify the object from each item in below list:\n[{defect_description}]\nobject:",
49
+ temperature=0.71,
50
+ max_tokens=73,
51
+ top_p=1,
52
+ frequency_penalty=0,
53
+ presence_penalty=0
54
+ )
55
+ classification = response.choices[0].text.strip()
56
+ return classification
57
+ def mainissue(defect_description):
58
+ response = openai.Completion.create(
59
+ engine="text-davinci-003",
60
+ prompt=f"identify the main issue from defect description given below:\n{defect_description}\nmain issue:",
61
+ temperature=0.71,
62
+ max_tokens=73,
63
+ top_p=1,
64
+ frequency_penalty=0,
65
+ presence_penalty=0
66
+ )
67
+ classification = response.choices[0].text.strip()
68
+ return classification
69
+ def main(defect_description):
70
+ defect_class = classify_defect(defect_description)
71
+ main_issue = mainissue(defect_description)
72
+ if defect_class == "Software Issue":
73
+ sub_class = software(defect_description)
74
+ elif defect_class == "Hardware Issue":
75
+ sub_class = hardware(defect_description)
76
+ elif defect_class =="Access Issue":
77
+ sub_class = access(defect_description)
78
+ else:
79
+ sub_class = "Error"
80
+ return defect_class, sub_class, main_issue
81
+ inputs = gr.inputs.Textbox(label="Ticket Description")
82
+ outputs = [gr.outputs.Textbox(label="Ticket Category"), gr.outputs.Textbox(label="Ticket Sub Category"),gr.outputs.Textbox(label="Main Issue of The Ticket")]
83
+
84
+ demo = gr.Interface(fn=main,inputs=inputs,outputs=outputs, title="AI Based Ticket Classification")
85
+ demo.launch()