This is an AI-powered code and data analysis tool built with Next.js and the E2B SDK.
→ Try on ai-analyst.e2b.dev
- 🔸 Analyze data with Meta's Llama 3.1
- 🔸 Upload CSV files
- 🔸 Create interactive charts
Powered by:
- 🔸 ✶ E2B Sandbox
- 🔸 Vercel's AI SDK
- 🔸 Next.js
- 🔸 echarts library for interactive charts
Supported LLM Providers:
- 🔸 TogetherAI
- 🔸 Fireworks
Supported chart types:
- 🔸 All the supported charts are descriebd here.
Make sure to give us a star!
Visit the online version or run locally on your own.
git clone https://github.com/e2b-dev/ai-analyst.git
cd fragments && npm i
Copy .example.env to .env.local and fill in variables for E2B and one LLM provider.
E2B: E2B_API_KEY
- Get your E2B API key here.
LLM Providers:
- Anthropic:
ANTHROPIC_API_KEY - OpenAI:
OPENAI_API_KEY - Fireworks:
FIREWORKS_API_KEY - Together AI:
TOGETHER_API_KEY - Ollama:
OLLAMA_BASE_URL
Provider endpoints are configured on the server in lib/model.ts. Chat requests
must use a model/provider pair from lib/models.json; client-supplied endpoints
and unknown request fields are rejected.
For cloud providers, omitting the API key selects the server's provider key. Supplying a non-empty key selects BYOK; an invalid or rejected caller key never falls back to the server key. Blank and non-string keys are rejected before any provider request.
Saved browser settings containing a retired custom endpoint are migrated by removing both the endpoint and its API key. Chat stays paused across reloads until the user enters a new key for the selected provider or explicitly chooses the app's default credentials.
Ollama supports the allowlisted llama3.1 model when OLLAMA_BASE_URL is set to
an HTTPS endpoint, for example https://ollama.example.com/api. Install that
model on your Ollama server. A local HTTP Ollama server needs a TLS reverse proxy.
Ollama is hidden from the picker when its endpoint is missing or invalid.
All provider requests reject redirects to keep requests on the configured HTTPS
origin. Additional Ollama model IDs must be added to lib/models.json.
