salesiq / backend /app /utils /utils_chain_parameters.py
richlai's picture
add files
7781557
def prepare_chain_parameters(session_state, message, history):
message = message.content
previous_question = ""
rep_answer = ""
next_question = ""
ground_truth = ""
command = ""
all_questions_answers = ""
print(f"Index: {session_state.current_question_index}")
if session_state.current_question_index == 0:
previous_question = ""
rep_answer = ""
ground_truth = ""
next_question = session_state.questions[session_state.current_question_index]["question"]
all_questions_answers = ""
command = "You should greet the salesrep"
elif session_state.current_question_index >= len(session_state.questions):
next_question = ""
previous_question = session_state.questions[session_state.current_question_index - 1]["question"]
rep_answer = session_state.previous_answer
ground_truth = session_state.questions[session_state.current_question_index - 1]["ground_truth"]
for response in session_state.responses:
all_questions_answers += f"Question: {response['question']}\nAnswer: {response['response']}\n\n"
command = """Offer a comment on their last answer. Then conclude the conversation with a polite farewell
and a suggestion for the next step.
"""
else:
previous_question = session_state.questions[session_state.current_question_index - 1]["question"]
rep_answer = session_state.previous_answer
next_question = session_state.questions[session_state.current_question_index]["question"]
ground_truth = session_state.questions[session_state.current_question_index]["ground_truth"]
all_questions_answers = ""
command = "You should respond to the answer based on how well the rep answered the previous question."
session_state.ground_truth = ground_truth
session_state.question = previous_question
session_state.rep_answer = rep_answer
print("--------------------------------")
print(f"Message: {message}")
print("Sending the following:")
print(f"Command: {command}")
print(f"Previous question: {previous_question}")
print(f"Rep answer: {rep_answer}")
print(f"Next question: {next_question}")
rep_company_details = f"""
Name: {session_state.company.name}
Description: {session_state.company.description}
Product: {session_state.company.product}
Product Summary: {session_state.company.product_summary}
Product Description: {session_state.company.product_description}
"""
company_details = f"""
Name: {session_state.customer.name}
Description: {session_state.customer.background}
"""
scenario = f"""
Opportunity Name: {session_state.opportunity.name}
Opportunity Description: {session_state.opportunity.description}
Opportunity Stage: {session_state.opportunity.stage}
Opportunity Value: {session_state.opportunity.value}
Opportunity Close Date: {session_state.opportunity.close_date}
"""
parm = {"conversation_mode": session_state.qa_mode,
"message": message,
"name": session_state.customer.contact_name,
"company": company_details,
"role": session_state.customer.contact_role,
"sales_rep": "Tony Snell",
"rep_company": rep_company_details,
"attitude": session_state.attitude,
"mood_score": session_state.mood_score,
"scenario": scenario,
"stage": session_state.opportunity.stage,
"previous_question": previous_question,
"next_question": next_question,
"rep_answer": rep_answer,
"conversation_history": history,
"command": command,
"all_questions_answers": all_questions_answers
}
return parm