Back to Workshops
Workshop Basic or above

Cloudflare Workers Vectorize Agent

June 17, 2026

We take the FAQ agent from the earlier deployment workshops and move the whole online path to Cloudflare. The Worker serves the UI and API, Workers AI embeds the query and generates the answer, and Vectorize stores the FAQ vectors.

We test whether Cloudflare can replace the usual stack for a small FAQ agent:

  • FastAPI for the API server
  • a separate vector database
  • a paid always-on host

Cloudflare can run the full online path, with one caveat. Ingestion still runs locally as an operator task instead of becoming a public endpoint.

flowchart LR subgraph ingest["local ingest"] FAQ["FAQ JSON"] --> INGEST["ingestion script"] INGEST -->|embed batches| WAI1["Workers AI REST"] INGEST -->|upsert vectors| VEC[("Vectorize")] end subgraph serve["Cloudflare runtime"] USER["browser"] --> WORKER["Worker UI + API"] WORKER -->|embed query| WAI2["Workers AI binding"] WORKER -->|semantic search| VEC WORKER -->|stream answer| WAI3["Workers AI binding"] end

We start with the Cloudflare architecture decision: the deployed app stays on Workers, while ingestion runs locally as an operator command.

Then we build the Cloudflare-first path. We create credentials, create a Vectorize index, and ingest the FAQ. After that, we run the Worker locally against real Cloudflare services, deploy it, and clean it up.

In the session, we also try a Python Worker rewrite. That version is useful if you prefer Python, but Cloudflare Python Workers are still beta. The TypeScript Worker stays the stable path for the main build.

Links

Resources used here:

Upgrade to Basic to access this workshop

The workshop overview and page list are visible now; membership unlocks the step-by-step tutorial.

Basic or above required

View Pricing