Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions website/docs/deployment/kubernetes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ tags:

```bash
helm repo add spiceai https://helm.spiceai.org
helm repo update
helm upgrade --install spiceai spiceai/spiceai
```

Expand Down
16 changes: 13 additions & 3 deletions website/docs/faq/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,21 @@ sidebar_position: 2

## 1. What is Spice?

Spice is a portable runtime written in Rust that provides a unified SQL interface for developers to materialize, accelerate, and query data from various sources, including databases, data warehouses, and data lakes. It acts as an application-specific, tier-optimized Database CDN, bringing data closer to applications for faster and more efficient access.
Spice is an open-source SQL query and AI compute engine, written in Rust, for data-driven apps and agents.

Spice provides three industry standard APIs in a lightweight, portable runtime (single ~140 MB binary):

1. **SQL Query APIs**: HTTP, Arrow Flight, Arrow Flight SQL, ODBC, JDBC, and ADBC.
2. **OpenAI-Compatible APIs**: HTTP APIs compatible the OpenAI SDK, AI SDK with local model serving (CUDA/Metal accelerated) and gateway to hosted models.
3. **Iceberg Catalog REST APIs**: A unified Iceberg Catalog API.

## 2. Why should I use Spice?

Spice simplifies querying data from one or more sources by enabling developers to co-locate datasets with their applications or machine learning models. With support for in-memory Arrow records, SQLite/DuckDB, and PostgreSQL, Spice accelerates queries with high concurrency and low latency. This makes it ideal for use cases requiring fast, reliable, and cost-efficient data access.
Spice is primarily used for:

- **Data Federation**: SQL query across any database, data warehouse, or data lake. [Learn More](https://docs.spiceai.org/features/federated-queries).
- **Data Materialization and Acceleration**: Materialize, accelerate, and cache database queries. [Read the MaterializedView interview - Building a CDN for Databases](https://materializedview.io/p/building-a-cdn-for-databases-spice-ai)
- **AI apps and agents**: An AI-database powering retrieval-augmented generation (RAG) and intelligent agents. [Learn More](https://github.com/spiceai/cookbook/tree/trunk/rag#readme).

## 3. How is Spice different?

Expand Down Expand Up @@ -67,4 +77,4 @@ Spice is highly flexible and supports multiple deployment configurations:

## 12. How can I get started?

Visit the [Spice.ai Quickstart Guide](https://docs.spiceai.org/quickstart/) to set up the runtime, connect to data sources, and start querying in minutes. Comprehensive examples and step-by-step instructions are available to help you get the most out of Spice.
Visit the [Spice.ai Getting Started Guide](https://spiceai.org/docs/getting-started/) to set up the runtime, connect to data sources, and start querying in minutes. Comprehensive examples and step-by-step instructions are available to help you get the most out of Spice.
1 change: 0 additions & 1 deletion website/docs/features/data-acceleration/constraints.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ datasets:

## Limitations

- **Not supported for in-memory Arrow:** The default in-memory Arrow acceleration engine does not support constraints. Use [DuckDB](/docs/components/data-accelerators/duckdb.md), [SQLite](/docs/components/data-accelerators/duckdb.md), or [PostgreSQL](/docs/components/data-accelerators/postgres/index.md) as the acceleration engine to enable constraint checking.
- **Single on_conflict target supported**: Only a single `on_conflict` target can be specified, unless all `on_conflict` targets are specified with drop.

- <details>
Expand Down
30 changes: 17 additions & 13 deletions website/docs/getting-started/spicepods.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ A Spicepod is described by a YAML manifest file, typically named `spicepod.yaml`
- **Metadata:** Basic information about the Spicepod, such as its name and version.
- **Datasets:** Definitions of datasets that are used or produced within the Spicepod.
- **Catalogs:** Definitions of catalogs that are used within the Spicepod.
- **Models:** Definitions of ML models that the Spicepod manages, including their sources and associated datasets.
- **Models:** Definitions of language or traditional ML models that the Spicepod manages, including their sources and associated datasets.
- **Secrets:** Configuration for any secret stores used within the Spicepod.

## Example Manifest
Expand All @@ -34,17 +34,17 @@ kind: Spicepod
name: my_spicepod

datasets:
- from: spice.ai/spiceai/quickstart
name: qs
- from: spice.ai/spiceai/quickstart/datasets/taxi_trips
name: taxi_trips
acceleration:
enabled: true
refresh_mode: append

models:
- from: file://model_path.onnx
name: my_model
datasets:
- qs
- from: openai:gpt-4o-mini
name: openai_model
params:
openai_api_key: ${ env:OPENAI_API_KEY }
tools: auto

secrets:
- from: env
Expand All @@ -59,17 +59,21 @@ kind: Spicepod
name: another_spicepod

datasets:
- from: spice.ai/spiceai/sample
- from: databricks:spiceai_demo.public.dataset
name: sample_ds
params:
mode: delta_lake
databricks_endpoint: dbc-a1b2345c-d6e7.cloud.databricks.com
databricks_token: ${secrets:my_token}
databricks_aws_access_key_id: ${secrets:aws_access_key_id}
databricks_aws_secret_access_key: ${secrets:aws_secret_access_key}
acceleration:
enabled: true
refresh_mode: full

models:
- from: file://another_model_path.onnx
name: another_model
datasets:
- sample_ds
- from: huggingface.co/microsoft/Phi-3.5-mini-instruct
name: phi

secrets:
- from: env
Expand Down
32 changes: 18 additions & 14 deletions website/docs/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import ThemeBasedImage from '@site/src/components/ThemeBasedImage';

Spice provides three industry standard APIs in a lightweight, portable runtime (single ~140 MB binary):

1. **SQL Query APIs**: Arrow Flight, Arrow Flight SQL, ODBC, JDBC, and ADBC.
1. **SQL Query APIs**: HTTP, Arrow Flight, Arrow Flight SQL, ODBC, JDBC, and ADBC.
2. **OpenAI-Compatible APIs**: HTTP APIs compatible the OpenAI SDK, AI SDK with local model serving (CUDA/Metal accelerated) and gateway to hosted models.
3. **Iceberg Catalog REST APIs**: A unified Iceberg Catalog API.

Expand All @@ -36,23 +36,27 @@ Spice is primarily used for:

Spice is built-on industry leading technologies including [Apache DataFusion](https://datafusion.apache.org), Apache Arrow, Arrow Flight, SQLite, and DuckDB. If you want to build with DataFusion or using DuckDB, Spice provides a simple, flexible, and production-ready engine you can just use.

<ThemeBasedImage
width='600'
alt='OGP'
lightSrc='https://github.com/spiceai/spiceai/assets/80174/7d93ae32-d6d8-437b-88d3-d64fe089e4b7'
darkSrc='https://github.com/spiceai/spiceai/assets/80174/7d93ae32-d6d8-437b-88d3-d64fe089e4b7'
/>
<div style={{display: 'flex', justifyContent: 'center'}}>
<ThemeBasedImage
width='600'
alt='OGP'
lightSrc='https://github.com/spiceai/spiceai/assets/80174/7d93ae32-d6d8-437b-88d3-d64fe089e4b7'
darkSrc='https://github.com/spiceai/spiceai/assets/80174/7d93ae32-d6d8-437b-88d3-d64fe089e4b7'
/>
</div>

## Why Spice?

Spice makes it fast and easy to query data from one or more sources using SQL. You can co-locate a managed dataset with your application or machine learning model, and accelerate it with Arrow in-memory, SQLite/DuckDB, or with attached PostgreSQL for fast, high-concurrency, low-latency queries. Accelerated engines give you flexibility and control over query cost and performance.

<ThemeBasedImage
width='800'
alt='Before Spice'
lightSrc='https://github.com/spiceai/spiceai/assets/80174/29e4421d-8942-4f2a-8397-e9d4fdeda36b'
darkSrc='https://github.com/spiceai/spiceai/assets/80174/29e4421d-8942-4f2a-8397-e9d4fdeda36b'
/>
<div style={{display: 'flex', justifyContent: 'center'}}>
<ThemeBasedImage
width='800'
alt='Before Spice'
lightSrc='https://github.com/spiceai/spiceai/assets/80174/29e4421d-8942-4f2a-8397-e9d4fdeda36b'
darkSrc='https://github.com/spiceai/spiceai/assets/80174/29e4421d-8942-4f2a-8397-e9d4fdeda36b'
/>
</div>

Spice simplifies building data-driven AI applications and agents by making it fast and easy to query, federate, and accelerate data from one or more sources using SQL, while grounding AI in real-time, reliable data. Co-locate datasets with apps and AI models to power AI feedback loops, enable RAG and search, and deliver fast, low-latency data-query and AI-inference with full control over cost and performance.

Expand Down Expand Up @@ -132,7 +136,7 @@ Limited = Partial or restricted support

- **Is Spice a CDN for databases?** Yes, a common use-case for Spice is as a CDN for different data sources. Using CDN concepts, Spice enables you to ship (load) a working set of your database (or data lake, or data warehouse) where it's most frequently accessed, like from a data-intensive application or for AI context.

### Watch a 30-sec BI dashboard acceleration demo
### Watch a quick BI dashboard acceleration demo

<div style={{display: 'flex', justifyContent: 'center', marginBottom: '15px'}}>
<ReactPlayer
Expand Down
5 changes: 3 additions & 2 deletions website/docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ For deployment options, such as to Kubernetes, see [`Deployment`](./deployment/i

## Direct Download

x86_x64 and ARM binaries for linux, Windows, and macOS are available for download from GitHub at [github.com/spiceai/spiceai/releases](https://github.com/spiceai/spiceai/releases).
Binaries for Linux, Windows, and macOS are available for download from GitHub at [github.com/spiceai/spiceai/releases](https://github.com/spiceai/spiceai/releases).

## Building Spice from Source

Expand Down Expand Up @@ -123,9 +123,10 @@ export PATH="$PATH:$HOME/.spice/bin"
```

### Build with Hardware Acceleration

Spice OSS supports running both local language models and embedding models on dedicated hardware. This is for models from either Huggingface or models located locally.

Currently, neither CUDA nor metal have dedicated Dockerfiles or release binaries.
The Spice CLI will automatically detect and download the appropriate runtime binary with hardware acceleration if available.

#### CUDA Support

Expand Down
Loading