๐ Website ยท ๐ Documentation ยท ๐ฌ Slack
nao is a framework to build and deploy analytics agent.
Create the context of your analytics agent with nao-core cli: data, metadata, modeling, rules, etc.
Deploy a UI for anyone to chat with your agent and run analytics on your data.
For data teams:
- ๐งฑ Open Context Builder โ Create a file-system like context for your agent. Add anything you want in the context: data, metadata, docs, tools, MCPs. No limit.
- ๐ณ๏ธ Data Stack Agnostic โ Works with any data warehouse, stack, type of context, LLM.
- ๐ต๐ปโโ๏ธ Agent Reliability Visibility โ Unit test your agent performance before deploying it to users. Version the context and track the performance of your agent over time. Get users feedbacks to improve the agent and track their usage.
- ๐ Self-hosted & secure โ Self-host your analytics agent and use your own LLM keys to guarantee maximum security for your data.
For business users:
- ๐ค Natural Language to Insights โ Ask questions in plain English, get analytics straight away
- ๐ Native Data Visualization โ Create and customize visualizations directly in the chat interface
- ๐ง Transparent Reasoning โ See the agent reasoning and sources clearly
- ๐ Easy Feedback โ Send feedback to the data team when a answer is right or wrong
-
Step 1: Install nao-core package
pip install nao-core
-
Step 2: Initialize a nao project
nao init
It will ask you:
- To name your project
- If you want to connect a database (optional)
- If you want to add a repo in agent context (optional)
- To add an LLM key (optional)
- If you want to setup a Slack connection (optional)
๐ก You can skip any optional question and configure them later in your
nao_config.yamlfile.This will create:
- A new folder with your project name
- An architecture for your context files
- A
nao_config.yamlconfiguration file - A
RULES.mdfile
-
Step 3: Verify your setup
cd to the project folder and run:
nao debug
-
Step 4: Synchronize your context
nao sync
This will populate your context folder with your context files (data, metadata, repos, etc.)
-
Step 5: Launch the chat and ask questions
nao chat
This will start the nao chat UI. It will open the chat interface in your browser at
http://localhost:5005. From there, you can start asking questions to your agent.
nao --help
Usage: nao COMMAND
โญโ Commands โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ chat Start the nao chat UI. โ
โ init Initialize a new nao project. โ
โ sync Sync context from your context sources (databases, repos) โ
โ debug Debug and troubleshoot your nao setup. โ
โ --help (-h) Display this message and exit. โ
โ --version Display application version. โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏPull the image from DockerHub:
docker pull getnao/nao:latestRun with Docker:
docker run -d \
--name nao \
-p 5005:5005 \
-e NAO_DEFAULT_PROJECT_PATH=/app/example \
-e OPENAI_API_KEY=sk-... \
getnao/nao:latestAccess the UI at http://localhost:5005
See the DockerHub page for more details.
See CONTRIBUTING.md for development setup, commands, and guidelines.
- Fastify: https://fastify.dev/docs/latest/
- Drizzle: https://orm.drizzle.team/docs/get-started
- tRPC router: https://trpc.io/docs/server/routers
- tRPC client: https://trpc.io/docs/client/tanstack-react-query/usage
- Tanstack Query: https://tanstack.com/query/latest/docs/framework/react/overview
- Shadcn: https://ui.shadcn.com/docs/components
- Star the repo
- Subscribe to releases (Watch โ Custom โ Releases)
- Follow us on LinkedIn
- Join our Slack
- Contribute to the repo!
nao Labs is a proud Y Combinator company!
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.