Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
A

AVA

> 编程语言
Open source

AI-native Visual Analytics framework build for agents.

1.5K stars0 likes0 views
WebsiteGitHub

About

AI-native Visual Analytics framework build for agents.

AVA ( Visual Analytics) is a technology framework designed for more convenient visual analytics. The first A has multiple meanings: AI native, Automated, Augmented, and VA stands for Visual Analytics. It can assist users in unstructured data loading, data processing and analysis, as well as visualization code generation.

Features

AVA is a fundamental shift from rule-based analytics to AI-native capabilities:

  • Natural Language Queries: Ask questions about your data in plain English
  • Query Suggestions: Get AI-recommended analysis queries based on your data characteristics
  • LLM-Powered Analysis: Leverages large language models for intelligent data analysis
  • Smart Data Handling: Automatically chooses between in-memory processing and SQLite based on data size
  • Modular Architecture: Clean separation of concerns with data, analysis, and visualization modules
  • Browser & Node.js Compatible: Runs seamlessly in both browser and server environments

Quick Start

  • Install AVA by npm
bash
npm install @antv/ava

pnpm install @antv/ava

yarn add @antv/ava
  • Then run the code below
…

Documentation

Create an AVA instance:

  • new AVA(options): initialize runtime and LLM configuration.
    • llm: required model config, e.g. { model, apiKey, baseURL }
    • sqlThreshold?: optional size threshold (bytes) to switch from in-memory analysis to SQLite/IndexedDB (default: 10KB)

Core APIs in AVA:

  • loadCSV(filePathOrContent): load CSV (Node.js: file path; Browser: CSV content string).
  • loadObject(data) / loadURL(url, transform?) / loadText(text): load data into AVA.
  • suggest(count?): generate recommended analysis questions.
  • analysis(query): run data analysis and return { query, text, data, code?, sql? } (code for in-memory JS analysis, sql for SQLite analysis).
  • visualize(analysisResult): generate chart output from analysis result, returns { chartType, syntax, html } | null (null when no visualization intent or no usable data).
  • dispose(): release SQLite / IndexedDB and in-memory resources.

Minimal usage:

typescript
const ava = new AVA({ llm: { model, apiKey, baseURL } });

await ava.loadObject([{ city: 'Hangzhou', gdp: 18753 }]);

const analysis = await ava.analysis('Show GDP by city');
console.log(analysis.text);

const viz = await ava.visualize(analysis);
if (viz) {
  console.log(viz.chartType);
  console.log(viz.html);
}

ava.dispose();

️ Architecture

AVA uses a modular pipeline architecture that processes user queries through distinct stages. Data is loaded from multiple sources (CSV, JSON, URL, or text), analyzed intelligently based on size (JavaScript for small datasets, SQLite for large ones), results are summarized using LLM into natural language responses, and optionally visualized with chart recommendations.

…

Browser & Server Compatibility

AVA v4 is designed to run seamlessly in both browser and Node.js environments:

✅ Browser Support

  • All core features work in modern browsers (Chrome, Firefox, Safari, Edge)
  • CSV loading via File API or direct content strings
  • JSON object and URL loading fully supported
  • In-memory data processing for datasets under 10KB
  • Note: Uses IndexedDB for persistent storage of large datasets (default >10KB) in browsers; for extremely large datasets, use the server-side version to avoid memory pressure

✅ Node.js Support

  • Full feature set including large dataset handling with SQLite
  • File system access for CSV loading
  • Automatic switching between in-memory and SQLite based on data size (10KB threshold)

Environment Detection

AVA automatically detects the runtime environment and adapts:

  • Browser: Uses in-memory processing, accepts CSV content strings
  • Node.js: Supports file paths for CSV, uses SQLite for large datasets (>10KB)

Developer Contributions

This is an experimental branch. Contributions are welcome! Please ensure:

  • Code is clean and well-documented
  • TypeScript types are properly defined
  • New features include examples, and tests
  • READMEs are updated as needed

Related Projects

  • GPT-Vis - Visualization components
  • Chart Visualization Skills - LLM skills for charts
  • Vercel AI SDK - LLM integration

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

Issues· 1 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

TypeScriptaugmented-analyticsauto-insightchart-aigcchart-recommendation

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言