Spaces:
Sleeping
Sleeping
add scenario drop down
Browse files
app.py
CHANGED
|
@@ -9,6 +9,16 @@ client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
|
|
| 9 |
conversation_history = []
|
| 10 |
current_difficulty = "sedang"
|
| 11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
def get_system_message(difficulty):
|
| 13 |
base_message = """
|
| 14 |
Anda adalah asisten AI yang dirancang untuk mensimulasikan pelanggan dalam skenario pelatihan penjualan asuransi.
|
|
@@ -93,9 +103,9 @@ def start_new_conversation(difficulty, scenario):
|
|
| 93 |
]
|
| 94 |
|
| 95 |
response = client.chat.completions.create(
|
| 96 |
-
model="gpt-
|
| 97 |
messages=conversation_history,
|
| 98 |
-
max_tokens=
|
| 99 |
)
|
| 100 |
initial_response = response.choices[0].message.content.strip()
|
| 101 |
conversation_history.append({"role": "assistant", "content": initial_response})
|
|
@@ -115,11 +125,12 @@ def end_conversation(history):
|
|
| 115 |
|
| 116 |
# Set up Gradio interface
|
| 117 |
with gr.Blocks() as demo:
|
| 118 |
-
gr.Markdown("# Simulator
|
| 119 |
gr.Markdown("Pilih tingkat kesulitan, masukkan skenario, dan mulai simulasi untuk memulai. Anda akan berperan sebagai perwakilan penjualan.")
|
| 120 |
|
| 121 |
difficulty_radio = gr.Radio(["mudah", "sedang", "sulit"], label="Tingkat Kesulitan Pelanggan", value="sedang")
|
| 122 |
-
|
|
|
|
| 123 |
new_scenario = gr.Button("Mulai Simulasi")
|
| 124 |
|
| 125 |
chatbot = gr.Chatbot()
|
|
|
|
| 9 |
conversation_history = []
|
| 10 |
current_difficulty = "sedang"
|
| 11 |
|
| 12 |
+
# Predefined scenarios
|
| 13 |
+
predefined_scenarios = {
|
| 14 |
+
"Pilih skenario": "",
|
| 15 |
+
"Produk Cacat": "Saya baru saja membeli sebuah produk dari toko Anda, dan ternyata produk tersebut cacat.",
|
| 16 |
+
"Pengiriman Terlambat": "Saya memesan produk minggu lalu dan seharusnya sudah diterima kemarin, tapi belum sampai.",
|
| 17 |
+
"Harga Tidak Sesuai": "Harga yang tertera di rak berbeda dengan yang di kasir saat saya membayar.",
|
| 18 |
+
"Pelayanan Buruk": "Saya tidak puas dengan pelayanan yang saya terima dari salah satu staf Anda.",
|
| 19 |
+
"Pengembalian Barang": "Saya ingin mengembalikan produk yang saya beli, tapi kasir menolak permintaan saya."
|
| 20 |
+
}
|
| 21 |
+
|
| 22 |
def get_system_message(difficulty):
|
| 23 |
base_message = """
|
| 24 |
Anda adalah asisten AI yang dirancang untuk mensimulasikan pelanggan dalam skenario pelatihan penjualan asuransi.
|
|
|
|
| 103 |
]
|
| 104 |
|
| 105 |
response = client.chat.completions.create(
|
| 106 |
+
model="gpt-4o-mini",
|
| 107 |
messages=conversation_history,
|
| 108 |
+
max_tokens=1500
|
| 109 |
)
|
| 110 |
initial_response = response.choices[0].message.content.strip()
|
| 111 |
conversation_history.append({"role": "assistant", "content": initial_response})
|
|
|
|
| 125 |
|
| 126 |
# Set up Gradio interface
|
| 127 |
with gr.Blocks() as demo:
|
| 128 |
+
gr.Markdown("# BAWANA Simulator Complain Handling")
|
| 129 |
gr.Markdown("Pilih tingkat kesulitan, masukkan skenario, dan mulai simulasi untuk memulai. Anda akan berperan sebagai perwakilan penjualan.")
|
| 130 |
|
| 131 |
difficulty_radio = gr.Radio(["mudah", "sedang", "sulit"], label="Tingkat Kesulitan Pelanggan", value="sedang")
|
| 132 |
+
scenario_dropdown = gr.Dropdown(choices=list(predefined_scenarios.keys()), label="Pilih Skenario", value="Pilih skenario")
|
| 133 |
+
scenario_input = gr.Textbox(label="Skenario Keluhan Pelanggan (Anda dapat memodifikasi)", lines=3)
|
| 134 |
new_scenario = gr.Button("Mulai Simulasi")
|
| 135 |
|
| 136 |
chatbot = gr.Chatbot()
|