Как получить данные аналитики диалогового потокаPython

Программы на Python
Anonymous
Как получить данные аналитики диалогового потока

Сообщение Anonymous »

Итак, я пытаюсь использовать настройку телефонного шлюза Dialogflow cx, а также проект реагирования и серверную часть Python. Что я пытаюсь сделать, так это то, что когда я загружаю страницу внешнего интерфейса, он вызывает серверную часть, которая получает аналитические данные из диалогового потока и передает их для реагирования js, который использует библиотеку потока реагирования для рендеринга данных потока и аналитики на этих потоках/страницах.
Под данными аналитики я подразумеваю: какие потоки были задействованы больше всего во время звонка, какие потоки пропущены, какие намерения/вопросы задавались чаще всего, где пользователь чаще всего завершал звонок и т. д.
Я попробовал вызвать веб-перехватчик на каждой странице и записать путь пользователя в базу данных. Затем, когда страница загружается, я получаю потоки и страницы диалогового потока cx в Python,

Код: Выделить всё

def get_dialogflow_flows(parent):
try:
print("Flows and Intents called")
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = current_app.config['GOOGLE_APPLICATION_CREDENTIALS']

flow_client = dialogflowcx.FlowsClient()
page_client = dialogflowcx.PagesClient()

start_time = time.time()

flows = flow_client.list_flows(parent=parent)
print("Flows Fetched --- %s seconds ---" % (time.time() - start_time))
flow_data = []

# start_time = time.time()
for flow in flows:
# Fetch pages for each flow using PagesClient
pages = list(page_client.list_pages(parent=flow.name))
flow_pages = []

for page in pages:
# Get full page details including transition routes
page_details = page_client.get_page(name=page.name)
transitions = []

for route in page_details.transition_routes:
transitions.append({
'target_page': route.target_page,
'target_flow': route.target_flow,
'condition': route.condition
})

flow_pages.append({
'page_name': page.display_name,
'page_id': page.name,
'transitions': transitions  # Include transition routes
})

flow_data.append({
'flow': flow.display_name,
'flow_id': flow.name,
'pages': flow_pages
})

# print("Second --- %s seconds ---" % (time.time() - start_time))
return make_response(message="Data fetched successfully", success=True, data=flow_data, status=200)
except Exception as e:
current_app.logger.error(e)
return make_response(message=str(e), success=False, data=None, status=500)

используя эти данные, я пытаюсь визуализировать поток из консоли диалогового потока cx в моем интерфейсе реагирования, используя библиотеку потока реагирования. Но делать это не очень хорошо, потому что мне приходится управлять вызовами веб-перехватчиков и записями базы данных для каждой страницы/потока.
Итак, есть ли способ сделать это лучше? Я знаю, что в консоли Dialogflow CX есть страница аналитики. Могу ли я как-нибудь получить эти данные?

Подробнее здесь: https://stackoverflow.com/questions/790 ... ytics-data

Вернуться в «Python»