{querychat}: Natural language interfaces for interactive data graphics in Shiny

Barret Schloerke Co-Author
 
Barret Schloerke Speaker
 
Thursday, Aug 7: 9:25 AM - 9:50 AM
Invited Paper Session 
Music City Center 
Interactive data graphics have long empowered users to explore complex datasets through visual manipulation. However, there are barriers to entry for complex interactions. The Shiny Team presents {querychat}, a multilingual package that enables natural language interaction with data visualizations in both R and Python Shiny applications. Users can pose questions such as "Show only data from 2008 with highway MPG greater than 30" or "What's the average city MPG for SUVs vs compact cars?" and see immediate visual results.

{querychat} works by translating natural language into SQL queries that filter or transform data frames, making the resulting data available as reactive objects. This approach enhances reliability (LLMs excel at SQL generation), transparency (SQL queries can be displayed to users), and reproducibility (queries can be saved and reused). Shiny's reactive programming model allows for seamless propagation of LLM-generated transformations through its dashboard visualization pipelines. The same properties that make Shiny effective for rapid prototyping (event-driven architecture, reactive expressions, and component model) create a natural framework for embedding LLM capabilities that dynamically respond to a user's conversations.

Keywords

direct manipulation graphics

R

shiny

data

graphics