pvanand commited on
Commit
b3ba005
·
1 Parent(s): dd48e1d

Update actions/actions.py

Browse files
Files changed (1) hide show
  1. actions/actions.py +45 -43
actions/actions.py CHANGED
@@ -80,7 +80,7 @@ class GetOpenAIResponse(Action):
80
 
81
  # Use OpenAI API to generate a response
82
  #query = tracker.latest_message.get('text')
83
- conversation_data = [FollowupAction("action_extract_history")]
84
  #response = generate_openai_response(conversation_data[0])
85
  response = conversation_data
86
 
@@ -229,47 +229,49 @@ class SayHelloWorld(Action):
229
  generated_text = response.choices[0].text
230
  dispatcher.utter_message(text=generated_text)
231
 
232
- class ExtractConversationhistory(Action):
233
- def name(self) -> Text:
234
- return "action_extract_history"
235
-
236
- def run(self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
237
- conversation_history = tracker.events
238
-
239
- user_queries = []
240
- bot_responses = []
241
- current_user_query = ""
242
- previous_user_query = None
243
- previous_bot_response = None
244
-
245
- for event in conversation_history:
246
- if event.get("event") == "user":
247
- user_queries.append(event.get("text"))
248
- elif event.get("event") == "bot":
249
- bot_responses.append(event.get("text"))
250
-
251
- if user_queries:
252
- if len(user_queries) >= 2:
253
- previous_user_query = user_queries[-2]
254
- else:
255
- pass
256
-
257
- try:
258
- current_user_query = user_queries[-1]
259
- except:
260
- pass
261
-
262
- if bot_responses:
263
- if len(bot_responses) >= 2:
264
- previous_bot_response = bot_responses[-2]
265
- else:
266
- pass
267
  else:
268
  pass
269
- conversation_data = {
270
- "previous_user_query": previous_user_query,
271
- "previous_bot_response": previous_bot_response,
272
- "current_user_query": current_user_query
273
- }
274
- # Now you can use the conversation_data dictionary as needed.
275
- return conversation_data
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
 
81
  # Use OpenAI API to generate a response
82
  #query = tracker.latest_message.get('text')
83
+ conversation_data = extract_conversation_history()
84
  #response = generate_openai_response(conversation_data[0])
85
  response = conversation_data
86
 
 
229
  generated_text = response.choices[0].text
230
  dispatcher.utter_message(text=generated_text)
231
 
232
+ from typing import List, Dict, Any, Text
233
+ from rasa_sdk.executor import CollectingDispatcher
234
+ from rasa_sdk.tracker import Tracker
235
+
236
+ def extract_conversation_history(dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict[Text, Any]) -> Dict[Text, Any]:
237
+ conversation_history = tracker.events
238
+
239
+ user_queries = []
240
+ bot_responses = []
241
+ current_user_query = ""
242
+ previous_user_query = None
243
+ previous_bot_response = None
244
+
245
+ for event in conversation_history:
246
+ if event.get("event") == "user":
247
+ user_queries.append(event.get("text"))
248
+ elif event.get("event") == "bot":
249
+ bot_responses.append(event.get("text"))
250
+
251
+ if user_queries:
252
+ if len(user_queries) >= 2:
253
+ previous_user_query = user_queries[-2]
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  else:
255
  pass
256
+
257
+ try:
258
+ current_user_query = user_queries[-1]
259
+ except:
260
+ pass
261
+
262
+ if bot_responses:
263
+ if len(bot_responses) >= 2:
264
+ previous_bot_response = bot_responses[-2]
265
+ else:
266
+ pass
267
+ else:
268
+ pass
269
+
270
+ conversation_data = {
271
+ "previous_user_query": previous_user_query,
272
+ "previous_bot_response": previous_bot_response,
273
+ "current_user_query": current_user_query
274
+ }
275
+
276
+ # Now you can use the conversation_data dictionary as needed.
277
+ return conversation_data