aiscore / app.py
anupam210's picture
Create app.py
13c0a49
raw
history blame contribute delete
No virus
3.06 kB
import os
import openai
import pandas as pd
from sklearn.preprocessing import LabelEncoder
import numpy as np
import gradio as gr
openai.api_key = os.getenv("OPENAI_API_KEY")
def classify_defect(defect_description):
response = openai.Completion.create(
engine="text-davinci-003",
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:",
temperature= 0,
max_tokens= 50,
n=1,
stop=None
#timeout=15,
)
classification = response.choices[0].text.strip()
return classification
def access(defect_description):
response = openai.Completion.create(
engine="text-davinci-003",
prompt=f"Classify the following defect description into one of the given classes:Login, Network \nDefect Description:{defect_description}\nDefect Class:",
max_tokens= 225,
n=1,
stop=None
#timeout=15,
)
classification = response.choices[0].text.strip()
return classification
def software(defect_description):
response = openai.Completion.create(
model="text-davinci-003",
prompt=f"identify the software from each item in below list:\n[{defect_description}]\nsoftware:",
temperature=0.71,
max_tokens=73,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
classification = response.choices[0].text.strip()
return classification
def hardware(defect_description):
response = openai.Completion.create(
engine="text-davinci-003",
prompt=f"identify the object from each item in below list:\n[{defect_description}]\nobject:",
temperature=0.71,
max_tokens=73,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
classification = response.choices[0].text.strip()
return classification
def mainissue(defect_description):
response = openai.Completion.create(
engine="text-davinci-003",
prompt=f"identify the main issue from defect description given below:\n{defect_description}\nmain issue:",
temperature=0.71,
max_tokens=73,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
classification = response.choices[0].text.strip()
return classification
def main(defect_description):
defect_class = classify_defect(defect_description)
main_issue = mainissue(defect_description)
if defect_class == "Software Issue":
sub_class = software(defect_description)
elif defect_class == "Hardware Issue":
sub_class = hardware(defect_description)
elif defect_class =="Access Issue":
sub_class = access(defect_description)
else:
sub_class = "Error"
return defect_class, sub_class, main_issue
inputs = gr.inputs.Textbox(label="Ticket Description")
outputs = [gr.outputs.Textbox(label="Ticket Category"), gr.outputs.Textbox(label="Ticket Sub Category"),gr.outputs.Textbox(label="Main Issue of The Ticket")]
demo = gr.Interface(fn=main,inputs=inputs,outputs=outputs, title="AI Based Ticket Classification")
demo.launch()