Statistics collection extension for Dialog Flow Framework
dff_node_stats is package, that extends basic dialog_flow_engine by adding statistic collection and dashboard for visualization.
Installation
Installation:
pip install dff
pip install dff-node-stats
Code snippets
Insert stats in your dff code:
from df_engine.core.plot import Plot
from df_engine.core.actor import Actor
from dff_node_stats import Stats, Saver
plot = Plot(foo)
actor = Actor(bar, baz)
stats = Stats(
saver=Saver("csv://examples/stats.csv")
)
stats = Stats(
saver=Saver("postgresql://user:password@localhost:5432/default")
)
from dff_node_stats import collectors as DSC
from dff_node_stats import Stats, Saver
stats = Stats(
saver=Saver("csv://examples/stats.csv"),
collectors=[
DSC.NodeLabelCollector()
]
)
stats.update_actor_handlers(actor, auto_save=False)
Dashboard on stored data ([streamlit] extra required!):
from dff_node_stats import Stats, Saver
from dff_node_stats.widgets.streamlit import StreamlitDashboard
stats = Stats(
saver=Saver("csv://examples/stats.csv")
)
streamlit_dashboard = StreamlitDashboard(df)
streamlit_dashboard()
http-api on stored data ([api] extra required!om dff_node_stats import Stats, Saver
from dff_node_stats.api import api_run
from dff_node_stats import Stats, Saver
stats = Stats(
saver=Saver("csv://examples/stats.csv"),
collectors=[
DSC.NodeLabelCollector()
]
)
api_run(stats.dataframe)
Run Examples:
python examples/1.collect_stats.py
python examples/1.collect_stats_vscode_demo.py
streamlit run examples/2.run_dashboard_for_stats.py
python examples/2.get_stats_by_api.py
jupyter notebook examples/run_dashboard.ipynb