AI-application / client.py
ahensd's picture
Update client.py
a7678d9 verified
Raw
History Blame Contribute Delete
2.54 kB
from openai import AzureOpenAI, OpenAI
import os
import model
# from dotenv import load_dotenv
def create_client():
print("In create client")
# for local
# load_dotenv()
# if using openai
client = OpenAI()
# if using azureopenai
# client = AzureOpenAI()
return client
def get_completion(ticket:model.Ticket):
print("In get completion")
# hardcoding response for testing
# result = "intent= Complaint\nsuggested_response= Issue Refund\nsummary= The customer is making a complaint. Suggested resolution is to issue a refund.\nmail=\nDear Customer,\n\nWe are sorry to hear that you have a complaint regarding your booking. We understand the inconvenience this has caused you and we would like to make things right. Our records show that you have requested a refund.\n\nWe have processed your refund request and you should receive the refund within 3-5 business days. We apologize"
# return result
client = create_client()
prompt = create_prompt(ticket.subject, ticket.description)
response = client.completions.create(
model=os.environ.get('MODEL_NAME'),
prompt=prompt,
max_tokens=1000,
n=1,
stop=None,
temperature=1
)
result = response.choices[0].text.strip()
print(result)
return result
def create_prompt(subject:str, desc:str):
print("In create Prompt")
# add booking data here
prompt = '''
You are an AI Customer Service Agent for booking.com. Use the below instructions to answer.
Determine the intent of this request: ```Subject: {{subject}} Description: {{desc}}``` in 1 single word? Use one the following options for intent:
Cancellation
Reporting Unknown Charge
Complaint
Information Request
In the context of the previous request, Suggest a resolution response to address the customer query from the following actions list:
Cancellation : Cancel the booking and issue refund if applicable
Issue Refund for the unknown charge
For Complaints, issue good will gesture voucher
Provide information
Finally, Summarize the message: ```
Subject: {{subject}}Description:{{desc}}``` and generate a mail content for the customer about the whole conversation.
Give the final result like this:
intent= {your intent}
suggested_response= {your response}
summary= {your summary}
mail={generated_mail}
'''
return prompt