Template-based NLG framework for creating text narratives out of data
You can install the package from pip:
pip3 install pynarratorimport os
from pynarrator import narrate_descriptive, read_datapynarrator has a range of functions for creating template-based narratives and also embedded data set that you can use by calling read_data(). Function downloads raw data from github, if you get a SSL error when running it, please run this first:
import ssl
ssl._create_default_https_context = ssl._create_unverified_contextsales = read_data()
narrative = narrate_descriptive(sales, measure = 'Sales', dimensions = ['Region', 'Product'], coverage = 0.5){'Total Sales': 'Total Sales across all Regions is 38790478.42.', 'Region by Sales': 'Outlying Regions by Sales are NA (18079736.4, 47.0%), EMEA (13555412.7, 35.0%).', 'Product by Sales': 'Outlying Products by Sales are Food & Beverage (15543469.7, 40.0%), Electronics (8608962.8, 22.0%).'}
In order to use ChatGPT in pynarrator, you must specify your OpenAI API token as OPENAI_API_KEY environment variable:
os.environ['OPENAI_API_KEY'] = 'xx-xxxxxxxxxx' from pynarrator import gpt_get_completions, enhance_narrative, translate_narrative, summarize_narrativeImprove the narrative text to make it rich with business language
enhance_narrative(narrative)enhance_narrative(narrative, language = 'Spanish')summarize_narrative(narrative)Complete documentation is available at the narrator package website