---
title: "Learn"
description: "Question-first definitions for a multimodal database, multimodal RAG, agentic RAG, video search, and embeddings, plus what an open-source AI stack costs."
url: "https://www.pixeltable.com/learn"
---

# Learn

Definitions first. Each blog tag maps to one of these pages, or to a release note or event that stays on the blog. Python how-tos live under [How-to guides](https://www.pixeltable.com/learn/how-to).

## Guides

- [Best multimodal data platforms for AI apps (2026)](https://www.pixeltable.com/learn/best-multimodal-data-platforms) — A multimodal data platform stores images, video, audio, documents, and structured fields so an AI app can process and retrieve them. Some products are lakes or vector stores. Others are dataframes, document parsers, dataset apps, or lakehouses. The fit depends on whether you need an application schema, a batch engine, or a hosted model API.
- [Vector database alternatives for multimodal apps](https://www.pixeltable.com/learn/vector-database-alternatives-for-multimodal-apps) — A vector database stores embeddings and answers similarity queries. Multimodal apps also need the source files, chunking or frame extraction, and a way to keep those copies aligned when a row changes. Sometimes the index belongs on the table that holds the media. Sometimes a dedicated ANN service is the product.
- [Best multimodal AI databases for 2027](https://www.pixeltable.com/learn/best-multimodal-ai-databases) — A multimodal AI database stores images, video, audio, and documents as typed values next to metadata, embeddings, and model outputs, and lets an app query them by meaning and by fields. Some products keep native media types on the row. Others store only vectors and leave files in object storage. Rank this list for a user-facing app, not a lake.
- [Best vector databases for images and video (2027)](https://www.pixeltable.com/learn/best-vector-databases-for-images-and-video) — A vector database stores embeddings and returns nearest neighbors. For images and video, those embeddings come from CLIP-family or natively multimodal models, and the media itself usually lives in object storage or another column. This list is ranked for image and video retrieval, not as an overall database comparison.
- [Best tools to build multimodal RAG in 2027](https://www.pixeltable.com/learn/best-multimodal-rag-tools) — Multimodal RAG retrieves text, images, tables, audio, or video frames as context for a model's answer. It needs parsing, embedding, an index, and a retrieval step that returns the source. Some tools cover one layer. Others cover several. This list is ranked for building that pipeline, not as a single-product bake-off.
- [Best Python stack for multimodal AI apps in 2027](https://www.pixeltable.com/learn/best-python-stack-for-multimodal-ai-apps) — A multimodal AI app backend has to store media, run models over it, index the results, and serve an API. In Python that is usually four or five libraries, or one system that covers several layers. This list ranks each layer for a small team shipping an app, not as an overall winner.
- [Best Pinecone alternatives](https://www.pixeltable.com/learn/best-pinecone-alternatives) — A Pinecone alternative is another way to store embeddings and answer nearest-neighbor queries. Pinecone is a managed vector index with namespaces, sparse and dense retrieval, and a hosted query API. Alternatives are other ANN engines, a Postgres extension, an embedded lake, or an index declared on the table that already holds the source file.
- [Best LanceDB alternatives](https://www.pixeltable.com/learn/best-lancedb-alternatives) — A LanceDB alternative is another place to keep multimodal blobs and vectors together, or another engine for nearest-neighbor search. LanceDB is a multimodal lakehouse on Lance: images, video, audio, text, embeddings, and features in one versioned table, as embedded OSS or Enterprise. Alternatives are other lakes, other ANN engines, or an application schema that is not a lake.
- [Best Weaviate alternatives](https://www.pixeltable.com/learn/best-weaviate-alternatives) — A Weaviate alternative is another way to store objects and vectors and answer similarity queries, with or without hybrid BM25 plus dense fusion. Weaviate is an open-source vector database of collections, named vectors, and hybrid search. Alternatives are other ANN engines, a Postgres extension, or an index on the table that holds the source file.
- [Best Twelve Labs alternatives](https://www.pixeltable.com/learn/best-twelve-labs-alternatives) — A Twelve Labs alternative is another way to search or describe video. Twelve Labs is a hosted video-understanding product: Marengo for search embeddings, Pegasus for generated text, and Jockey for agent-style questions over a knowledge store. Alternatives are other hosted video APIs, or frames and models you run on a table you own.
- [Best FiftyOne alternatives](https://www.pixeltable.com/learn/best-fiftyone-alternatives) — A FiftyOne alternative is another way to look at, label, or evaluate a computer-vision dataset. FiftyOne, from Voxel51, is the dataset app: embeddings, mistake views, zoo models, plugins, and COCO-style evaluation. Alternatives are annotation platforms, other dataset UIs, or a production table that is not a visual debugger.
- [Best Unstructured alternatives](https://www.pixeltable.com/learn/best-unstructured-alternatives) — An Unstructured alternative is another way to turn PDFs, scans, and office files into text or structured fields. Unstructured is document ETL: open-source partitioning for prototypes, Unstructured Pipelines for production. Alternatives are other parsers, hosted OCR APIs, or a table that stores the file and runs extraction as computed columns.
- [Mem0 vs Letta vs Zep](https://www.pixeltable.com/learn/mem0-vs-letta-vs-zep) — Mem0, Letta, and Zep are agent-memory products. Each stores facts an agent can retrieve on a later turn. They differ on how memory is shaped (extracted memories, in-context blocks plus archival search, or a temporal knowledge graph) and on what "forget" means (rank decay, developer delete, or fact invalidation).
- [Ray Data vs Daft vs Spark](https://www.pixeltable.com/learn/ray-data-vs-daft-vs-spark) — Ray Data, Daft, and Apache Spark are engines that load, transform, and write large datasets as a job. They are dataframes or dataset APIs, not application catalogs. Pick among them for batch inference, preprocessing, and lake scans. A live table that recomputes one inserted row is a different job.
- [DVC vs lakeFS vs Delta Lake](https://www.pixeltable.com/learn/dvc-vs-lakefs-vs-delta-lake) — DVC, lakeFS, and Delta Lake all version data, but they version different things. DVC versions files next to Git. lakeFS versions a data lake with Git-like branches on object storage. Delta Lake is an ACID table format on Parquet with time travel. They are not interchangeable.
- [WhisperX vs faster-whisper vs a hosted speech API](https://www.pixeltable.com/learn/whisperx-vs-faster-whisper-vs-hosted-api) — WhisperX, faster-whisper, and a hosted speech-to-text API all turn audio into text. faster-whisper is a CTranslate2 runtime for Whisper models. WhisperX adds alignment and speaker diarization on top of that family. A hosted API (for example OpenAI transcriptions) runs the model in someone else's account. Pick from timestamps, speakers, and where the file may go.
- [pgvector vs Qdrant vs LanceDB](https://www.pixeltable.com/learn/pgvector-vs-qdrant-vs-lancedb) — pgvector, Qdrant, and LanceDB are three ways to store vectors and search nearest neighbors. pgvector is a PostgreSQL extension. Qdrant is a dedicated vector search engine. LanceDB is a multimodal lake plus ANN on the Lance format. They differ on where the rest of the row lives, how you filter, and whether media bytes sit in the same table.
- [Real-time AI avatar APIs compared: LiveAvatar, Tavus, Simli, Anam, and D-ID](https://www.pixeltable.com/learn/real-time-ai-avatar-apis-compared) — A real-time AI avatar API streams a talking face that answers a user live, usually over WebRTC. Under the face sits a voice agent: speech-to-text, a language model, text-to-speech, and turn-taking. The APIs differ in how much of that stack they run for you. Some run the whole conversation. Others take your agent's audio and return video frames.

## How-to guides

- [How do I ... in Python?](https://www.pixeltable.com/learn/how-to) — A unified multimodal AI backend stores media, runs models, and serves queries from one Python package. These guides start from that category (frames, RAG, knowledge bases, search, transcription, serving, pipelines, migrations, avatar apps), then show the schema that implements it. Install with pip install pixeltable[serve]. Not a vertical SaaS app.
- [How do I extract keyframes from video in Python?](https://www.pixeltable.com/learn/how-to/extract-keyframes-from-video) — Keyframe extraction pulls representative stills from a compressed video so later models run on pictures instead of every encoded frame. You choose I-frames, a fixed frames-per-second rate, or a fixed count. Each still keeps a timestamp on the source clip, which is what a video frame timestamp in Python actually is: a moment, not a filename.
- [How do I build video RAG in Python?](https://www.pixeltable.com/learn/how-to/build-video-rag) — Video RAG retrieves a moment in a clip — a frame, timestamp, or transcript line — and gives that evidence to a language model. It is not captioning one file inside a chat window, and it is not a vector of titles. GitHub examples are a table, a frame view, an index, and a query that returns the time.
- [How do I build a video processing pipeline in Python?](https://www.pixeltable.com/learn/how-to/build-a-video-processing-pipeline) — A video processing pipeline turns clips into frames, detections, transcripts, and searchable moments. Video analysis AI is those models attached to the stills and the soundtrack, not a folder of JPEGs with lost timestamps. The pipeline is incremental: a new file recomputes that row; unchanged clips stay cached.
- [How do I index a video library and search it by text in Python?](https://www.pixeltable.com/learn/how-to/search-a-video-library-by-text) — Text search over video means sampling frames and embedding them with a text-image model such as CLIP, and optionally transcribing the soundtrack and embedding that transcript. Frame search returns a moment (the clip plus seconds). Transcript search returns the clip, because the transcript is one string for the file. A new clip indexes only that clip.
- [How do I turn a script into a talking-head video with an API?](https://www.pixeltable.com/learn/how-to/build-a-talking-head-video-pipeline) — Voice the script with a text-to-speech model, then send a portrait and that audio to a lip-sync model, which returns a video of the face speaking the audio. Keep every script, voice track, and rendered clip in one table, transcribe each render, and index the transcripts so you can find a clip later.
- [How do I give a real-time AI avatar memory of past conversations?](https://www.pixeltable.com/learn/how-to/give-an-ai-avatar-memory) — Save every finished turn, with the user ID and session ID, in a table that embeds the text as it arrives. At the start of the next session, look up this user's closest turns and add them to the language model's prompt. The avatar API renders the face. Memory lives in your own data layer.
- [How do I build a multimodal RAG pipeline in Python?](https://www.pixeltable.com/learn/how-to/build-a-multimodal-rag-pipeline) — A multimodal RAG pipeline retrieves pages, frames, or images — not only text chunks — and passes those pieces to a language model at question time. Vision RAG is the image half of that job: embed stills, rank them, and ground the answer in the retrieved picture. The index is one part of the pipeline, not a second database.
- [How do I chunk PDFs for RAG in Python?](https://www.pixeltable.com/learn/how-to/chunk-pdfs-for-rag) — Chunking a PDF for RAG splits the file into retrieval units small enough to embed and cite: sentences, pages, or token windows. A sentence window does not store a page number. A page split stores a 0-based page index on the parent file. Chunking strategies trade recall against context size; the splitter is the strategy.
- [How do I embed images for search in Python?](https://www.pixeltable.com/learn/how-to/embed-images-for-search) — Image embeddings map pictures into a vector space so similar stills can be ranked. CLIP embeddings put text and images in one space, which is how a sentence retrieves a photo. Indexing images for RAG means those vectors live on the rows that hold the files, so a new picture is searchable when it is inserted.
- [How do I build a company knowledge base for AI from docs, Slack, meeting recordings and videos?](https://www.pixeltable.com/learn/how-to/build-a-multimodal-knowledge-base) — A company knowledge base for AI stores documents, chat exports, meeting recordings, and videos, splits them into passages, transcript slices, or frames, embeds those units, and answers from an agent or RAG route. New files should update only their own chunks and indexes. The usual stack is a parser, a vector database, and an orchestrator.
- [How do I do semantic search in Python?](https://www.pixeltable.com/learn/how-to/semantic-search-in-python) — Semantic search in Python ranks rows by meaning: embed the query and the stored text with the same model, then return nearest neighbors. A vector database in Python is one way to store those vectors. The other is an index on the table that already holds the passages, so insert updates search without a second copy.
- [How do I do hybrid search in Python?](https://www.pixeltable.com/learn/how-to/hybrid-search-in-python) — Hybrid search combines more than one signal. The usual pair is dense similarity plus a structured filter so a semantic hit still respects the row metadata. BM25-plus-dense fusion is a different product: a dedicated search engine that mixes lexical and vector scores. You need an index; you need that engine only when fusion is the contract.
- [How do I store images with embeddings and serve similarity search?](https://www.pixeltable.com/learn/how-to/serve-image-similarity-search) — Store each image as a row with its file, compute a CLIP (or similar) embedding on that row, keep an ANN index on the column, and expose two HTTP endpoints: one that inserts images and one that takes text or an image and returns the nearest rows with scores. New images become searchable at insert.
- [How do I deduplicate a large image dataset and keep embeddings for near-duplicate search?](https://www.pixeltable.com/learn/how-to/deduplicate-images-with-embeddings) — Two passes: exact duplicates by hashing a normalized RGBA PNG; near duplicates by embedding each image (CLIP or similar) and treating pairs above a cosine-similarity threshold as one group. Keep the embeddings indexed so every new image is checked against the set before insert instead of re-running the whole job. POST /images does not run that check.
- [How do I build an AI data pipeline in Python?](https://www.pixeltable.com/learn/how-to/build-an-ai-data-pipeline) — An AI data pipeline ingests files, runs models, and writes derived columns that later steps can query. How to build an AI pipeline is a schema question: typed inputs, transforms that run on insert, and indexes that stay current. AI pipeline tools and a data ingestion pipeline are the same job when storage, orchestration, and serving share one Python package.
- [How do I add computed columns with LLM calls in Python?](https://www.pixeltable.com/learn/how-to/add-computed-columns-with-llm-calls) — A computed column is a value produced by an expression or an LLM call on insert or when a dependency changes, then stored. A declarative data pipeline is that schema: you name the columns, and the engine decides which rows run. Adding an LLM call is an assignment on the class, not a job you schedule around a table.
- [How do I transcribe audio uploads and make them searchable?](https://www.pixeltable.com/learn/how-to/transcribe-audio-and-search-it) — Accept the upload, split it into timestamped slices, run speech-to-text (Whisper or a hosted API) on each slice, embed the text, and query by meaning; each hit points back to the file and the slice where it was said. When a new file arrives, only that file is transcribed and indexed.
- [How do I migrate from FAISS to an embedding index on the table?](https://www.pixeltable.com/learn/how-to/migrate-from-faiss) — Moving off a FAISS index means keeping the passages that produced the vectors, embedding them with the same model you will query with, and ranking neighbors on that table. A pickled IndexFlatL2 file has no source text. Rebuilding search is an insert plus an embedding index, not a converter for the binary file. You still need the original strings.
- [How do I migrate from Pinecone to an embedding index on the table?](https://www.pixeltable.com/learn/how-to/migrate-from-pinecone) — Leaving Pinecone means exporting the source text and metadata you upserted, not the vectors alone, then storing those rows in a table with an embedding index that updates on insert. Pinecone is a hosted ANN service. You keep it when that engine is the serving contract. You drop the upsert worker when the table already holds the passages.
- [How do I migrate from pgvector to an embedding index on the table?](https://www.pixeltable.com/learn/how-to/migrate-from-pgvector) — pgvector stores vectors next to rows in Postgres. Moving off it means keeping those rows and letting an embedding index on the source column replace the vector column and the ANN query you wrote. You still need the original text or image. A COPY of the vector column without the source cannot rebuild search under a new model.
- [How do I replace an Airflow DAG and a vector database with one schema?](https://www.pixeltable.com/learn/how-to/migrate-from-airflow-and-a-vector-database) — An Airflow DAG plus a vector database plus an API is three systems for one retrieval job: extract, embed, upsert, then serve. The table that holds the files can also run the model and the index, and the same file can expose HTTP. Keep Airflow for a fleet of unrelated batch jobs.
- [How do I switch embedding models without a reindex script?](https://www.pixeltable.com/learn/how-to/switch-embedding-models-without-a-reindex-script) — Switching an embedding model is a schema change: the old index is dropped and a new one is added, then every stored row is embedded with the new function. There is no separate reindex script. A destructive schema plan applies nothing unless you pass allow-destructive. Changing the embedder is not the same as recomputing a stored computed column.

## Multimodal data

- [What is a multimodal database?](https://www.pixeltable.com/learn/what-is-a-multimodal-database) — A multimodal database stores multimodal data (structured fields plus typed images, video, audio, and documents) in one schema, so an image or a clip is a column the engine understands rather than a path in a string. Transforms and indexes are declared on that schema, and frames, transcripts, and embeddings stay attached to the same row.
- [What is a multimodal table?](https://www.pixeltable.com/learn/what-is-a-multimodal-table) — A multimodal table is a row-and-column object that holds structured values and typed media together, with derived columns and history on that same object.
- [What is a typed media column?](https://www.pixeltable.com/learn/what-is-a-typed-media-column) — A typed media column stores an image, video, audio clip, or document as a value the engine can decode, iterate, and index, instead of an opaque blob.
- [What is an image column?](https://www.pixeltable.com/learn/what-is-an-image-column) — An image column stores a still picture as a first-class value a schema can caption, embed, or transform.
- [What is a video column?](https://www.pixeltable.com/learn/what-is-a-video-column) — A video column stores a clip with a timeline, so frames, audio, and timestamps stay addressable from the row.
- [What is an audio column?](https://www.pixeltable.com/learn/what-is-an-audio-column) — An audio column stores a waveform or audio container the schema can transcribe, embed, or synthesize from.
- [What is a document column?](https://www.pixeltable.com/learn/what-is-a-document-column) — A document column stores a PDF or similar file so pages and passages can be split, embedded, and cited from the row.
- [What is a TableModel?](https://www.pixeltable.com/learn/what-is-a-tablemodel) — A TableModel is a Python class that declares tables, computed columns, and indexes. HTTP routes are a FastAPIRouter next to the class, not fields on it.
- [What is a view?](https://www.pixeltable.com/learn/what-is-a-view) — A view is a derived table whose rows are produced from a base table, often one row per frame, chunk, or other iterator output, and stay aligned when the base changes.
- [What is an iterator?](https://www.pixeltable.com/learn/what-is-an-iterator) — An iterator expands one source row into many child rows — frames, sentences, pages — and keeps a pointer back to the source.
- [What is a multimodal data plane?](https://www.pixeltable.com/learn/what-is-a-multimodal-data-plane) — A multimodal data plane is the layer that stores media, runs transforms, and serves retrieval as one system of record, rather than glue between a bucket, a warehouse, and an index.
- [What is an application database?](https://www.pixeltable.com/learn/what-is-an-application-database) — An application database stores the scalar rows of an app — users, orders, documents as JSON — and serves CRUD over them.

## Retrieval

- [What is RAG?](https://www.pixeltable.com/learn/what-is-rag) — Retrieval-augmented generation answers from a corpus you supply. The model sees retrieved passages, images, or other snippets at question time, not only what it learned in training.
- [Do I need a vector database if I use Postgres?](https://www.pixeltable.com/learn/do-i-need-a-vector-database-if-i-use-postgres) — You need a separate vector database only if nearest-neighbor search cannot live in Postgres. pgvector stores vectors on the same row and answers similarity in SQL. A dedicated engine is for filtered ANN at scale, or for blobs SQL was not built to serve. Many apps stay on Postgres plus an embed job they already run.
- [What is an embedding?](https://www.pixeltable.com/learn/what-is-an-embedding) — An embedding is a numeric vector that places a passage, frame, or other piece in a space where similar items sit near each other.
- [What are multimodal embeddings?](https://www.pixeltable.com/learn/what-are-multimodal-embeddings) — Multimodal embeddings are vectors that place images, text, and other media in one shared space, so a sentence and a picture that mean similar things sit near each other. A CLIP-style model is the usual example. That shared space is how text-to-image search and multimodal RAG retrieve a still or a page.
- [What is an embedding index?](https://www.pixeltable.com/learn/what-is-an-embedding-index) — An embedding index ranks nearest neighbors for a query and stays attached to the table that owns those rows.
- [How does an embedding index differ from a vector database?](https://www.pixeltable.com/learn/embedding-index-vs-vector-database) — A vector database stores vectors and answers similarity queries. An embedding index is that search capability declared on the same table that holds the source pieces.
- [What is chunking?](https://www.pixeltable.com/learn/what-is-chunking) — Chunking splits a source into retrieval units — sentences, pages, token windows — small enough to embed and cite.
- [What is semantic search?](https://www.pixeltable.com/learn/what-is-semantic-search) — Semantic search ranks items by meaning, using embeddings, not only by exact keyword match.
- [What is cross-modal search?](https://www.pixeltable.com/learn/what-is-cross-modal-search) — Cross-modal search queries one modality with another — a sentence against frames, a still against a video library — because they share an embedding space.
- [What is multimodal RAG?](https://www.pixeltable.com/learn/what-is-multimodal-rag) — Multimodal RAG retrieves pages, frames, or transcript windows, not only plain-text passages, and passes those pieces to a language model at question time. Each retrieved unit keeps a pointer to its source, so the answer can cite a PDF page, a video timestamp, or a spoken line instead of an ungrounded paragraph.
- [What is agentic RAG?](https://www.pixeltable.com/learn/what-is-agentic-rag) — Agentic RAG is retrieval an agent can call as a tool, then decide whether to retrieve again, inspect a source, or answer. The corpus, the index, and the evidence live in a durable store, so later turns reuse the same rows instead of restuffing a growing prompt.
- [What is a retrieval UDF?](https://www.pixeltable.com/learn/what-is-a-retrieval-udf) — A retrieval UDF packages a similarity query so an agent or another column can call retrieval as a function.

## Video

- [How does video search work?](https://www.pixeltable.com/learn/how-video-search-works) — Video search finds a moment inside a clip, not only a filename. The usual path is to sample frames, embed each frame, and rank those frames by similarity to a text phrase or a still image.
- [What is video RAG?](https://www.pixeltable.com/learn/what-is-video-rag) — Video RAG retrieves a moment — a frame, a timestamp, and maybe a transcript line — and gives that evidence to the model.
- [What is a frame iterator?](https://www.pixeltable.com/learn/what-is-a-frame-iterator) — A frame iterator walks a video at a chosen rate and emits one row per frame, with an index and a timestamp on the source clip.
- [What is keyframe extraction?](https://www.pixeltable.com/learn/what-is-keyframe-extraction) — Keyframe extraction selects representative frames — fixed rate or scene changes — so search and models run on stills instead of every encoded frame.
- [What is video intelligence?](https://www.pixeltable.com/learn/what-is-video-intelligence) — Video intelligence is a pipeline that turns clips into structured outputs you can search: frames, detections, transcripts, and embeddings.
- [What is a video moment?](https://www.pixeltable.com/learn/what-is-a-video-moment) — A video moment is a search hit that names the source clip plus a time offset, and often a frame, so you can jump to the match.

## Cost

- [What does an open-source multimodal AI stack cost?](https://www.pixeltable.com/learn/open-source-multimodal-ai-stack) — The bill is the engine, the hosted database if you use one, the media bytes, and the model APIs those pipelines call. A free license does not make the model calls free, and a low subscription does not make you a content-delivery network.
- [What is egress?](https://www.pixeltable.com/learn/what-is-egress) — Egress is network transfer of stored bytes out of a provider, usually billed per gigabyte.
- [How does incremental computation change AI cost?](https://www.pixeltable.com/learn/what-is-incremental-compute-cost) — Incremental compute cost means you pay model APIs mainly for new or changed rows. Cached columns are not sent again.
- [What is model API cost?](https://www.pixeltable.com/learn/what-is-model-api-cost) — Model API cost is the provider’s invoice for embeddings, transcription, vision, and chat. It is usually the surprise next to hosting.

## Agents

- [How do agent memory systems decide what to forget?](https://www.pixeltable.com/learn/how-do-agent-memory-systems-decide-what-to-forget) — Agent memory systems forget by policy, not by a hidden timer. Decay re-ranks idle facts without deleting them. Expiration hides a row after a date. Delete removes it. Invalidation closes a time window on a fact while keeping history. Pick the policy that matches whether the agent must stay auditable or merely stay relevant.
- [What is agent memory?](https://www.pixeltable.com/learn/what-is-agent-memory) — Agent memory is durable, queryable state an agent reads and writes across turns: messages, retrieved facts, and tool results, not a hidden JSON file.
- [What is MCP?](https://www.pixeltable.com/learn/what-is-mcp) — MCP, the Model Context Protocol, is a standard way for models and editors to call tools and read resources from a server.
- [What is a stateful agent?](https://www.pixeltable.com/learn/what-is-a-stateful-agent) — A stateful agent chooses its next action from persisted history and artifacts, not only from the current prompt.
- [What is an agent harness?](https://www.pixeltable.com/learn/what-is-an-agent-harness) — An agent harness is the data and tool layer an agent runs against — tables, memory, retrieval, and HTTP — so the loop is not just a prompt file.
- [What is an agent session log?](https://www.pixeltable.com/learn/what-is-an-agent-session-log) — An agent session log is a table of turns, tool calls, and outcomes you can query later.
- [What is a context graph?](https://www.pixeltable.com/learn/what-is-a-context-graph) — A context graph links what an agent retrieved, chose, and produced, so you can inspect why it acted.

## Orchestration

- [What is AI ETL?](https://www.pixeltable.com/learn/what-is-ai-etl) — AI ETL is extract, transform, and load where the transform is a model: embed a passage, transcribe audio, caption an image, or split a document. Warehouse ETL moves tables with SQL. AI ETL moves files and embeddings. The load target is often a vector index or a lake, not only a star schema.
- [How to run LLM calls over millions of rows](https://www.pixeltable.com/learn/how-to-run-llm-calls-over-millions-of-rows) — Running language-model calls over millions of rows is a cache and scheduling problem. A Python loop that restarts from row zero will re-pay every token. A batch engine such as Spark, Ray Data, or Daft scans a lake once. A computed column stores the result for each row and computes only new or changed rows.
- [What is a declarative pipeline?](https://www.pixeltable.com/learn/what-is-a-declarative-pipeline) — A declarative pipeline is a schema of transforms. The engine decides when rows run, instead of you scheduling every step.
- [What is a computed column?](https://www.pixeltable.com/learn/what-is-a-computed-column) — A computed column is a value produced by an expression or a model when a row is inserted or a dependency is updated, then stored.
- [What is a UDF?](https://www.pixeltable.com/learn/what-is-a-udf) — A UDF, a user-defined function, is your own logic the engine can call from a computed column or a query.
- [What is a UDA?](https://www.pixeltable.com/learn/what-is-a-uda) — A UDA, a user-defined aggregate, reduces many rows — for example the frames of one clip — into a summary with logic you write.
- [What is incremental computation?](https://www.pixeltable.com/learn/what-is-incremental-computation) — Incremental computation recomputes only the rows and downstream columns a change actually affects, instead of rerunning the whole pipeline.
- [What is a dependency graph?](https://www.pixeltable.com/learn/what-is-a-dependency-graph) — A dependency graph records which columns depend on which, so an edit invalidates only descendants.
- [What is an AI function?](https://www.pixeltable.com/learn/what-is-an-ai-function) — An AI function is a model call expressed in the schema — caption, transcribe, generate — rather than a separate pipeline product.
- [How does rate limiting work for model APIs?](https://www.pixeltable.com/learn/what-is-rate-limiting) — Rate limiting throttles and retries provider calls so a burst or an HTTP 429 does not fail the rows that could have waited.
- [What is structured output?](https://www.pixeltable.com/learn/what-is-structured-output) — Structured output constrains a model to JSON or a schema, so downstream columns get typed fields instead of free prose.
- [What is a model provider?](https://www.pixeltable.com/learn/what-is-a-model-provider) — A model provider is the API that serves an embedding, a transcription, a vision model, or a chat model a column can call.
- [What is local inference?](https://www.pixeltable.com/learn/what-is-local-inference) — Local inference runs a model on hardware you control, instead of calling a hosted model API.
- [What is an LLM framework?](https://www.pixeltable.com/learn/what-is-an-llm-framework) — An LLM framework is a library for chaining model calls, tools, and prompts in application code.

## Documents

- [What is PDF RAG?](https://www.pixeltable.com/learn/what-is-pdf-rag) — PDF RAG keeps the file, splits it into passages or pages, embeds those units, and generates an answer that can cite them.
- [What is a document splitter?](https://www.pixeltable.com/learn/what-is-a-document-splitter) — A document splitter cuts a document into retrieval units — sentences, paragraphs, or pages — as rows over the source file.
- [What is OCR?](https://www.pixeltable.com/learn/what-is-ocr) — OCR, optical character recognition, turns pixels of text — scans, screenshots, photos — into strings.
- [What is document extraction?](https://www.pixeltable.com/learn/what-is-document-extraction) — Document extraction pulls text, layout, or tables out of a file so later columns can chunk, embed, or summarize.
- [What is document Q&A?](https://www.pixeltable.com/learn/what-is-document-qa) — Document Q&A answers questions from stored documents using retrieved passages, not a model that only saw the file once in its context window.

## Audio

- [What is speech-to-text?](https://www.pixeltable.com/learn/what-is-speech-to-text) — Speech-to-text transcribes spoken audio into text that can be searched, chunked, or passed to a model.
- [What is Whisper?](https://www.pixeltable.com/learn/what-is-whisper) — Whisper is a speech-recognition model family used to transcribe audio and video soundtracks into text.
- [What is text-to-speech?](https://www.pixeltable.com/learn/what-is-text-to-speech) — Text-to-speech synthesizes spoken audio from text.
- [What is audio intelligence?](https://www.pixeltable.com/learn/what-is-audio-intelligence) — Audio intelligence turns calls, podcasts, or voiceovers into chapters, search, and structured fields on top of a transcript.
- [What is an audio embedding?](https://www.pixeltable.com/learn/what-is-an-audio-embedding) — An audio embedding is a vector for a clip or a transcript window, used to find similar speech or sound rather than only exact words.

## Vision

- [What is computer vision?](https://www.pixeltable.com/learn/what-is-computer-vision) — Computer vision is the set of models and pipelines that detect, classify, segment, or search visual content.
- [What is CLIP?](https://www.pixeltable.com/learn/what-is-clip) — CLIP is a model that maps images and text into one space, so a sentence can retrieve a matching picture or frame.
- [What is object detection?](https://www.pixeltable.com/learn/what-is-object-detection) — Object detection finds instances of objects in an image or frame and returns boxes, usually with a class and a score.
- [What is YOLO?](https://www.pixeltable.com/learn/what-is-yolo) — YOLO is a family of real-time object detectors, including YOLOX, that predict boxes and classes on stills or video frames.
- [What is image segmentation?](https://www.pixeltable.com/learn/what-is-image-segmentation) — Image segmentation labels the pixels or regions that belong to an object or a prompt, rather than only a bounding box.
- [What is visual search?](https://www.pixeltable.com/learn/what-is-visual-search) — Visual search finds similar images or frames from a picture or a text description, using visual embeddings.
- [What is image annotation?](https://www.pixeltable.com/learn/what-is-image-annotation) — Image annotation is human or model labels — boxes, captions, classes — stored on visual rows so training and review can reuse them.
- [What is image generation?](https://www.pixeltable.com/learn/what-is-image-generation) — Image generation synthesizes or edits a picture from a prompt or another picture, and stores the result as an image.

## Storage

- [What is a media store?](https://www.pixeltable.com/learn/what-is-a-media-store) — A media store holds the bytes for images, video, audio, and documents. The catalog stores a typed pointer, not the bytes themselves.
- [What is object storage?](https://www.pixeltable.com/learn/what-is-object-storage) — Object storage is a bucket API that holds blobs addressed by key. A database may point at those keys instead of copying every byte.
- [What is a local catalog?](https://www.pixeltable.com/learn/what-is-a-local-catalog) — A local catalog is the on-disk database, caches, and media home where tables live when you run the engine on your own machine.
- [What is bring-your-own-bucket?](https://www.pixeltable.com/learn/what-is-bring-your-own-bucket) — Bring-your-own-bucket means media URIs point at a bucket you already pay for, so the catalog stores typed pointers instead of a second copy of the bytes.
- [What is a file cache?](https://www.pixeltable.com/learn/what-is-a-file-cache) — A file cache keeps a local copy of media bytes so repeated transforms do not download the same object again.
- [What is lakehouse export?](https://www.pixeltable.com/learn/what-is-lakehouse-export) — Lakehouse export ships table data, often as Iceberg or Arrow, into an analytics lake without making the lake the system of record for media pipelines.
- [What is a data warehouse?](https://www.pixeltable.com/learn/what-is-a-warehouse) — A data warehouse stores analytical tables for SQL over large scans. Unstructured files are usually paths or external tables, not typed media with model columns.

## Versioning

- [What is time travel?](https://www.pixeltable.com/learn/what-is-time-travel) — Time travel queries a prior version of a table, so you can see rows and computed outputs as they were after an earlier change.
- [What is data lineage?](https://www.pixeltable.com/learn/what-is-data-lineage) — Data lineage traces an output back to the source rows, the model, and the column definition that produced it.
- [What is dataset versioning?](https://www.pixeltable.com/learn/what-is-dataset-versioning) — Dataset versioning pins which rows, labels, and derived features a training or eval run used.
- [What is reproducibility in a data pipeline?](https://www.pixeltable.com/learn/what-is-reproducibility) — Reproducibility means you can inspect the same inputs and column definitions and get the same cached outputs, or a known diff.

## Serving

- [What is HTTP serving for tables?](https://www.pixeltable.com/learn/what-is-http-serving) — HTTP serving exposes insert, query, and computed results as routes from the same schema that defines the tables.
- [What is a query decorator?](https://www.pixeltable.com/learn/what-is-a-query-decorator) — A query decorator names a reusable query you can call from an agent, from HTTP, or from another column.
- [How does the local-to-cloud loop work?](https://www.pixeltable.com/learn/what-is-the-local-cloud-loop) — The local-to-cloud loop runs the same schema on a laptop catalog and on a hosted database, so you change it locally and then apply it remotely.
- [What is a CLI catalog?](https://www.pixeltable.com/learn/what-is-a-cli-catalog) — A CLI catalog is the same tables and services, operated from the terminal, that a dashboard can also show.
- [What is a multimodal backend?](https://www.pixeltable.com/learn/what-is-a-multimodal-backend) — A multimodal backend is storage, orchestration, retrieval, and HTTP for media and models in one deployable schema.

## Evaluation

- [What is ML evaluation?](https://www.pixeltable.com/learn/what-is-ml-evaluation) — ML evaluation scores model or pipeline outputs against labels or a judge, so you can compare versions.
- [What is a feature store?](https://www.pixeltable.com/learn/what-is-a-feature-store) — A feature store serves consistent numeric or categorical features to training and to inference, usually for tabular models.
- [What is active learning?](https://www.pixeltable.com/learn/what-is-active-learning) — Active learning chooses which unlabeled examples a person should label next, so the model improves faster than if you labeled at random.
- [What is semantic deduplication?](https://www.pixeltable.com/learn/what-is-semantic-deduplication) — Semantic deduplication drops near-duplicate items by embedding similarity, not only by exact hash equality.
- [What is dataset curation?](https://www.pixeltable.com/learn/what-is-dataset-curation) — Dataset curation selects, cleans, and versions the rows that train or evaluate a model.
