像素表 是 AI Skill Hub 本期精选AI工具之一。已获得 1.6k 颗 GitHub Star,综合评分 8.5 分,整体质量较高。我们强烈推荐将其纳入你的 AI 工具库,帮助提升工作效率。
像素表 是一款基于 Python 开发的开源工具,专注于 ai、artificial-intelligence、chatbot 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
像素表 是一款基于 Python 开发的开源工具,专注于 ai、artificial-intelligence、chatbot 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 方式一:pip 安装(推荐)
pip install pixeltable
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install pixeltable
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/pixeltable/pixeltable
cd pixeltable
pip install -e .
# 验证安装
python -c "import pixeltable; print('安装成功')"
# 命令行使用
pixeltable --help
# 基本用法
pixeltable input_file -o output_file
# Python 代码中调用
import pixeltable
# 示例
result = pixeltable.process("input")
print(result)
# pixeltable 配置文件示例(config.yml) app: name: "pixeltable" debug: false log_level: "INFO" # 运行时指定配置文件 pixeltable --config config.yml # 或通过环境变量配置 export PIXELTABLE_API_KEY="your-key" export PIXELTABLE_OUTPUT_DIR="./output"
<picture class="github-only"> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/e9bf82b2-cace-4bd8-9523-b65495eb8131"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/c5ab123e-806c-49bf-93e7-151353719b16"> <img alt="Pixeltable Logo" src="https://github.com/user-attachments/assets/e9bf82b2-cace-4bd8-9523-b65495eb8131" width="40%"> </picture>
Quick Start | Documentation | API Reference | Starter Kit | AI Coding Skill | Pixeltable Cloud | Discord
Pixeltable is the unified multimodal backend for AI applications. One pip install, one Python API, one place to store, transform, index, retrieve, serve, version, observe, and debug.
Every multimodal AI app needs the same five things: store media, run models, index embeddings, serve endpoints, version everything. Most teams glue together 5-8 services and spend more time on infrastructure than on the product. Pixeltable is a single system that handles all five.
| What you need | Without Pixeltable | With Pixeltable |
|---|---|---|
| Store video, images, docs | S3 + Postgres + glue code | pxt.create_table() with media types |
| Connect cloud storage | boto3 / gsutil + sync scripts | destination='s3://…' per column or globally |
| Transform media | FFmpeg, Pillow, spaCy + custom scripts | Built-in: chunk, extract frames, resize, rotate, transcribe... |
| Run AI on every insert | Airflow DAGs + retry logic | add_computed_column(), incremental + cached |
| Extend with custom logic | Glue code, no caching or retries | @pxt.udf with automatic parallelization, caching, retries |
| Vector search | Pinecone + ETL pipelines | add_embedding_index(), always in sync |
| HTTP endpoints | Hand-written FastAPI + Pydantic | FastAPIRouter or pxt serve |
| Versioning & rollback | DVC / MLflow / custom scripts | Built-in history(), revert() |
Transaction integrity, parallelization, caching, retries, and observability are built in. Schema changes are one line. Model upgrades are zero-downtime. Extensible via @pxt.udf, @pxt.uda, @pxt.query.
Three deployment patterns (docs / starter kit):
| Pattern | What it is | You write |
|---|---|---|
| **Full Backend** | FastAPI + React web app | Python schema + endpoints + frontend |
| **Batch Processing** | Cron / queue / Cloud Run Job | Python script: ingest, compute, export_sql, exit |
| **Declarative API** | REST API from TOML config | pyproject.toml routes + pxt serve |
---
<details> <summary><b>Store:</b> Unified Multimodal Interface</summary> <br>
pxt.Image, pxt.Video, pxt.Audio, pxt.Document, pxt.Json – manage diverse data consistently.
t = pxt.create_table(
'media',
{
'img': pxt.Image,
'video': pxt.Video,
'audio': pxt.Audio,
'document': pxt.Document,
'metadata': pxt.Json,
},
)
→ Type System · Tables & Data </details>
<details> <summary><b>Orchestrate:</b> Declarative Computed Columns</summary> <br>
Define processing steps once; they run automatically on new/updated data. Supports API calls (OpenAI, Anthropic, Gemini), local inference (Hugging Face, YOLOX, Whisper), vision models, and any Python logic.
```python
pxt.publish(source='my-table', destination_uri='pxt://myorg/my-dataset')
pip install pixeltable
or with uv:
uv add pixeltable
Pixeltable bundles its own transactional database, orchestration engine, and local dashboard. No Docker, no external services — one install is all you need. All data is managed in ~/.pixeltable and accessed through the Python SDK. See Working with External Files and Storage Architecture for details.
Define your data processing and AI workflow declaratively using computed columns on tables. Focus on your logic, not the data plumbing.
pip install pixeltable google-genai torch transformers scenedetect
Set your API keys via environment variables or ~/.pixeltable/config.toml. See Configuration for all provider keys and options.
import pixeltable as pxt
from pixeltable.functions import gemini, huggingface
videos = pxt.create_table('video_search', {'video': pxt.Video, 'title': pxt.String})
videos.add_computed_column(scenes=videos.video.scene_detect_adaptive())
videos.add_computed_column(
response=gemini.generate_content(
[videos.video, 'Describe this video in detail.'], model='gemini-3-flash-preview'
)
)
videos.add_computed_column(
description=videos.response.candidates[0].content.parts[0].text.astype(pxt.String)
)
videos.add_embedding_index('description', embedding=gemini.embed_content.using(model='gemini-embedding-2-preview'))
base_url = 'https://raw.githubusercontent.com/pixeltable/pixeltable/release/docs/resources'
videos.insert([
{'video': f'{base_url}/bangkok.mp4', 'title': 'Bangkok Street Tour'},
{'video': f'{base_url}/The-Pursuit-of-Happiness-Video-Extract.mp4', 'title': 'The Pursuit of Happiness'},
])
videos.select(
videos.title,
videos.description,
detections=huggingface.detr_for_object_detection(
videos.video.extract_frame(timestamp=2.0),
model_id='facebook/detr-resnet-50',
),
).collect()
sim = videos.description.similarity(string='street food')
videos.order_by(sim, asc=False).limit(5).select(videos.title, sim).collect()
Wrap any query as an HTTP endpoint and serve it:
@pxt.query
def search_videos(query_text: str, limit: int = 5):
sim = videos.description.similarity(string=query_text)
return videos.order_by(sim, asc=False).limit(limit).select(videos.title, videos.description, sim)
```toml
| Fundamentals | Cookbooks | Providers | Sample Apps |
|---|---|---|---|
| [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/overview/ten-minute-tour.ipynb) | [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/cookbooks/agents/agentic-patterns.ipynb) | [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/providers/working-with-openai.ipynb) | [](https://github.com/pixeltable/pixeltable-starter-kit) |
| [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/tutorials/computed-columns.ipynb) | [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/use-cases/rag-demo.ipynb) | [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/providers/working-with-anthropic.ipynb) | [](https://github.com/pixeltable/pixeltable/tree/main/docs/sample-apps/jfk-files-mcp-server) |
| [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/tutorials/tables-and-data-operations.ipynb) | [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/cookbooks/agents/llm-tool-calling.ipynb) | [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/providers/working-with-gemini.ipynb) | [](https://github.com/pixeltable/pixeltable/tree/release/docs/sample-apps/text-and-image-similarity-search-nextjs-fastapi) |
| [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/platform/udfs-in-pixeltable.ipynb) | [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/use-cases/audio-transcriptions.ipynb) | [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/providers/working-with-ollama.ipynb) | [](https://github.com/pixeltable/pixeltable/tree/main/docs/sample-apps/multimodal-chat) |
| [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/platform/embedding-indexes.ipynb) | [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/use-cases/object-detection-in-videos.ipynb) | [](https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/providers/working-with-deepseek.ipynb) | [](https://github.com/pixeltable/pixeltable/blob/release/docs/sample-apps/context-aware-discord-bot) |
| [**All →**](https://docs.pixeltable.com/overview/ten-minute-tour) | [**All →**](https://docs.pixeltable.com/howto/cookbooks/agents/pattern-rag-pipeline) | [**All providers →**](https://docs.pixeltable.com/integrations/frameworks) | [**All →**](https://github.com/pixeltable/pixeltable/tree/release/docs/sample-apps) |
See Pixeltable in action: table creation, computed columns, multimodal processing, and querying in a single workflow.
https://github.com/user-attachments/assets/b50fd6df-5169-4881-9dbe-1b6e5d06cede
results = ( t.where(t.score > 0.8) .order_by(t.timestamp) .select(t.image, score=t.score) .limit(10) .collect() )
t.sample(5).select(t.text, summary=summarize(t.text)).collect()
**Highlights:** Table browser with sorting & filtering · Media preview (images, video, audio) · Column lineage visualization · Pipeline graph · Per-column error tracking · CSV export · Auto-refresh
No extra dependencies. No setup. It's just there.
</details>
<details>
<summary><b>Import/Export:</b> I/O & Integration</summary>
<br>
[Import from any source](https://docs.pixeltable.com/howto/cookbooks/data/data-import-csv) and [export to ML formats](https://docs.pixeltable.com/howto/cookbooks/data/data-export-pytorch).
python
t.add_computed_column( summary=openai.chat_completions( messages=[{'role': 'user', 'content': t.text}], model='gpt-4o-mini' ) )
pxt.create_label_studio_project(table, label_config) # Annotation pxt.export_images_as_fo_dataset(table, table.image) # FiftyOne ```
→ Data Import · PyTorch Export · Label Studio · Data Wrangling for ML </details>
高质量的开源AI工具,支持多模态AI应用开发
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
经综合评估,像素表 在AI工具赛道中表现稳健,质量优秀。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | pixeltable |
| 原始描述 | 开源AI工具:Declarative and Incremental Backend for Multimodal AI Applications。⭐1.6k · Python |
| Topics | aiartificial-intelligencechatbotcomputer-visiondata-science |
| GitHub | https://github.com/pixeltable/pixeltable |
| License | Apache-2.0 |
| 语言 | Python |
收录时间:2026-05-27 · 更新时间:2026-05-27 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。