Skip to content
antvisPublic

Latest commit

ย 

History

1,065 Commits

Folders and files

Repository files navigation

AVA, AI-native Visual Analytics

AVA logo

Website Documentation AI Agent Try Sive GitHub llms

AVA (AVA examples Visual Analytics) is a technology framework designed for more convenient visual analytics. A stands for AI-native, Automated, and Augmented; VA stands for Visual Analytics.

Note

Think of AVA as PandasAI for JavaScript. ๐Ÿ’ฌ๐Ÿ“Š๐Ÿค–

It brings natural-language data analysis and visualization to your apps and AI agents.

โœจ Why AVA?

๐Ÿ”Œ Unified data access

Connect files and databases through one interface.

Data sources โ†’

๐Ÿ”Ž Grounded answers

Inspect the queries and results behind each answer.

Trusted analysis โ†’

๐Ÿ“Š Smart visualization

Get charts guided by your question and data.

Visualization โ†’

๐Ÿ’ป Local execution

Choose where analysis runs and which model endpoint it uses.

Execution engines โ†’

๐ŸŽฏ Published benchmarks

Check accuracy against reference answers under published test conditions.

Benchmarks โ†’

๐Ÿค– Agent integration

Your agent reasons; AVA executes the data workflow.

Agent integration โ†’

๐Ÿš€ Getting started

Install AVA 4.0 with Node.js 22.13+:

npm install @antv/ava@4

๐Ÿ’ป Usage

Download sales.csv and configure your model:

import { AVA } from '@antv/ava';

const ava = new AVA({
  llm: {
    model: '<your-model>',
    apiKey: '<your-api-key>',
    // baseURL: '<your-provider-api-url>',
  },
});

1. Load

await ava.source({ type: 'csv-file', options: { path: './sales.csv' } });

Note

Data preview

First 3 of 240 rows, selected columns:

order_date product sales
2025-01-01 Monitor 224.10
2025-01-02 Office Chair 680.20
2025-01-04 Monitor 2,191.20

2. Explore

Inspect the structure and data quality, then add business definitions:

const schema = await ava.schema();
const profile = await ava.profile({ metrics: ['row_count', 'null_count'] });
await ava.semantic(undefined, () => ({
  description: 'Use the sales column for amounts after discounts and order_date for monthly comparisons.',
}));

Note

Analysis context

Context Details
Structure data: 12 columns
Quality 240 rows; 1 missing region and 1 missing quantity
Semantics sales is after discounts; monthly comparisons use order_date

3. Suggest

const suggestions = await ava.suggest(3);

Note

Suggested questions (examples)

  • How did sales change from January to February 2025?
  • Which products contributed most to the sales decline?
  • How do sales and profit vary by region?

4. Analyze

const result = await ava.analyze(
  'Compare January and February 2025 sales by product. Show both months and the change, ordered by the largest decline.'
);

Note

Analysis result

Total sales fell 43.94%, led by a 16,092.10 decline in laptop sales.

First 3 of 9 products:

Product January sales February sales Change
Laptop 19,688.10 3,596.00 โˆ’16,092.10
Standing Desk 9,655.80 5,546.10 โˆ’4,109.70
Monitor 6,536.25 4,731.00 โˆ’1,805.25

5. Visualize

const chart = await ava.visualize({
  query: 'Plot the sales change by product from January to February 2025 as a bar chart.',
  data: result.data,
});

Note

Chart preview

Sales change by product from January to February 2025, with decreases in red and increases in green.

Powered by GPT-Vis.

๐Ÿ”Œ Connect your data

CSV
CSV
JSON
JSON
Parquet
Parquet
Excel
Excel
Text
Text
Feishu Bitable
Feishu Bitable
Tencent Docs
Tencent Docs
SQLite
SQLite
MySQL
MySQL
PostgreSQL
PostgreSQL
SQL Server
SQL Server
MongoDB
MongoDB
Supabase
Supabase
ClickHouse
ClickHouse

Tip

Missing a data source? ๐Ÿ’ก๐Ÿ› ๏ธ

๐Ÿ’ฌ Open an issue ยท ๐Ÿ› ๏ธ Submit a pull request

๐ŸŽฏ Benchmarks

We evaluate AVA on established benchmarks to measure the accuracy and efficiency of its data analysis.

DataBench and Spider2-Lite evaluation results comparing raw data, schema and profile, and semantic context.

Evaluation setup and reports โ†’

๐Ÿงฉ More ways to use AVA

The agent and CLI workflows run on Node.js 22.13+ on macOS or Linux.

Use with an Agent

Ask your AI agent:

Install the AVA skill with `npx skills add antvis/AVA`, then follow its setup instructions.

Agent setup guide โ†’

Use from the CLI

Load and analyze data from your terminal:

ava source ./sales.csv
ava analyze '<dataset-id>' 'Compare January and February 2025 sales by product.'

See the CLI guide for setup and commands.

๐Ÿ“š Resources

๐Ÿค๐Ÿ› ๏ธ Contributing

Contributions are welcome. Include tests, examples, and documentation with new features.

Run npm test to test your changes. For model-backed tests, copy .env.example to .env and add your model settings.

๐Ÿ“‘ Papers

VizLinter - Chen, Q., Sun, F., Xu, X., Chen, Z., Wang, J. and Cao, N., 2021. VizLinter: A Linter and Fixer Framework for Data Visualization. IEEE transactions on visualization and computer graphics, 28(1), pp.206-216.

ใ€Šๆ•ฐๆฎๅฏ่ง†ๅŒ–่ฎพ่ฎก็š„็ฑปๅž‹ๅญฆๅฎž่ทตใ€‹๏ผˆExploring the Typology of Visualization Design๏ผ‰ - ่“ๆ˜Ÿๅฎ‡, ็Ž‹ๅ˜‰ๅ–†. ๆ•ฐๆฎๅฏ่ง†ๅŒ–่ฎพ่ฎก็š„็ฑปๅž‹ๅญฆๅฎž่ทต, ใ€Š็พŽๆœฏๅคง่ง‚ใ€‹, 2022(3), 149-152.

โš–๏ธ License

MIT

Releases

Used by

Contributors

Languages