Connect any LLM to any data source with centralized context (instructions, dbt, code, AGENTS.md, tableau) and governance (quality, accuracy), and let users chat with their data to build charts, dashboards, and scheduled reports — all powered by an agentic, observable loop.
Bag of words is the open-source AI Data Layer — connect any LLM to any data source with centralized context management, trust, observability, and control.
-
Chat with any data source
Ask questions in web, Slack, or else. Create charts, tables, and full beautiful reports/dashboards by chatting with your data—powered by an agentic loop for tool use, reflection, and reasoning.
-
Context-aware & customizable
Define terms, KPIs, rules and instructions. Ingest from dbt, Tableau, code, AGENTS.md, and have AI continiously maintain and monitor.
-
Any LLM, any data
Connect multiple data sources: Snowflake, BigQuery, Redshift, Postgres, dbt, Tableau, and more — then pair with the LLM of your choice (OpenAI, Anthropic, or local models). Swap models/data sources without breaking workflows.
-
Transparency, trust & deployment
Track every AI decision, trace, and feedback. Analyze quality and usage in the console. Deploy fully in your VPC with Docker/Compose, VMs, or Kubernetes. Enterprise-ready with RBAC, SSO (OIDC), audit logs, SMTP.
# runs with SQLite (default)
docker run -p 3000:3000 bagofwords/bagofwordsdocker run -p 3000:3000 \
-e BOW_DATABASE_URL=postgresql://user:password@localhost:5432/dbname \
bagofwords/bagofwordsFor more advanced deployments, see the docs.
Create reports, deep analysis or quick visuals with an AI interface powered by an agentic-loop with tools, reasoning and reflection built in.
Manage your AI rules and instructions with review process and control
Enrich your AI context with dbt models, Tableau data sources, AGENTS.md and your git repo
Full observability into queries, feedback, and context — powering self-learning and high quality AI results
Bag of words acts as a context-aware analytics layer that connects to any database or service, works with any LLM, and enriches queries with docs, BI models, or code.
The architecture is fully flexible: plug in any data source, any model, and any interface — giving your team maximum freedom of choice, without sacrificing governance or reliability.
Bag of words supports a wide range of LLM providers out of the box. You can bring your own API key for any of the following:
| Provider | Supported Models / APIs | Notes |
|---|---|---|
| OpenAI | GPT-5, GPT-4.1, o-models, etc. | Any OpenAI-compatible endpoint (including self-hosted, vLLM, etc.) |
| Azure OpenAI | GPT-5, GPT-4.1, o-models, etc. | Azure resource/endpoint support, including model deployment names |
| Google Gemini | Gemini 2.5, Flash versions, etc. | Requires Google Cloud API key |
| Anthropic | Claude, Sonnet, Haiku | Just provide the API key |
| Any OpenAI-compatible | vLLM, LM Studio, Ollama, etc. | Just provide the base URL and API key |
Tip: You can configure multiple providers and models, set defaults, and more.
Below is a list of all data sources supported by Bag of words, as defined in the data source registry. Each entry is marked as either a Database/Warehouse or a Service.
| Title | Kind |
|---|---|
| PostgreSQL | Database/Warehouse |
| Snowflake | Database/Warehouse |
| Google BigQuery | Database/Warehouse |
| NetSuite | Service |
| MySQL | Database/Warehouse |
| AWS Athena | Database/Warehouse |
| MariaDB | Database/Warehouse |
| DuckDB | Database/Warehouse |
| Salesforce | Service |
| Microsoft SQL Server | Database/Warehouse |
| ClickHouse | Database/Warehouse |
| AWS Cost Explorer | Service |
| Vertica | Database/Warehouse |
| AWS Redshift | Database/Warehouse |
| Tableau | Service |
| Presto | Database/Warehouse |
| Google Analytics | Service |
| Google Cloud Platform | Service |
Note: Some data sources (like NetSuite) may be marked as inactive or beta in the registry. "Service" refers to APIs or SaaS platforms, while "Database/Warehouse" refers to systems that store and query structured data.






