Skip to main content

AI-powered documentation

undatum offers several AI documentation paths:

CommandBest for
ai docBlock-based docs (general, schema, quality, …) with schema enrichment — recommended
doc --autodocMarkdown/JSON/YAML dataset documentation with metadata and PII options
analyze --autodocHuman-readable analysis report with field descriptions
schema --autodoc / schema-bulk --autodocSchema files with AI field descriptions
package create --autodocFrictionless Data Package metadata

Two stacks share config files but not the same provider list:

  • ai doc / ai filter / ai plan / ai suggest — iterabledata providers: OpenAI, Anthropic, Gemini, Azure OpenAI, OpenRouter, Ollama, LM Studio, Perplexity.
  • analyze --autodoc / schema --autodoc / schema-bulk --autodoc / doc --autodoc — undatum providers only: openai, openrouter, ollama, lmstudio, perplexity. Unknown ids (including anthropic, gemini, azure) disable autodoc.

Quick Examples

# Recommended: block-based documentation
undatum ai doc data.csv --format json --blocks general,schema,quality

# Legacy analyze autodoc (still supported)
undatum analyze data.csv --autodoc

# Dataset documentation with PII detection
undatum doc data.csv --autodoc --pii-detect --format markdown

# Schema with AI field descriptions
undatum schema data.csv --autodoc --format jsonschema --output schema.json

Configuration File Example

Create undatum.yaml in your project:

ai:
provider: openai
model: gpt-4o-mini
timeout: 30

Or use ~/.undatum/config.yaml for global settings:

ai:
provider: ollama
model: llama3.2
ollama_base_url: http://localhost:11434

./undatum.yaml is preferred over ~/.undatum/config.yaml. CLI --ai-provider / --ai-model flags override the file. Provider API keys stay in the environment (OPENAI_API_KEY, and for ai * also ANTHROPIC_API_KEY / GEMINI_API_KEY / AZURE_OPENAI_API_KEY when using those iterabledata providers). Full defaults: keys: config.

Language Support

Generate descriptions in different languages:

# English (default)
undatum analyze data.csv --autodoc --lang English

# Russian
undatum analyze data.csv --autodoc --lang Russian

# Spanish
undatum analyze data.csv --autodoc --lang Spanish

What Gets Generated

With --autodoc enabled, the analyzer will:

  1. Field Descriptions: Generate clear, concise descriptions for each field explaining what it represents
  2. Dataset Summary: Provide an overall description of the dataset based on sample data

Example output:

tables:
- id: data.csv
fields:
- name: customer_id
ftype: VARCHAR
description: "Unique identifier for each customer"
- name: purchase_date
ftype: DATE
description: "Date when the purchase was made"
description: "Customer purchase records containing transaction details"

Provider connection issues: troubleshooting. Command reference: ai, doc.