WebLLM

API Reference

Complete reference for the WebLLM Client SDK

WebLLM Client API

Complete reference documentation for the WebLLM Client SDK.

generateText()

Generate text from a prompt using the best available model.

Parameters

Returns

streamText()

Stream text generation in real-time.

Parameters

Same as generateText()

Returns

An async iterable that yields text chunks as they are generated.

generateObject()

Generate a structured object from a prompt using JSON Schema validation.

Parameters

Returns

streamObject()

Stream structured object generation with partial updates as the model generates.

Parameters

Returns

generateImage()

Generate images from a text prompt using AI image generation models.

Parameters

Returns

embed()

Generate an embedding vector for a single text value. Useful for semantic search, similarity comparison, and clustering.

Parameters

Returns

embedMany()

Generate embeddings for multiple text values in batch. Optimized for RAG data preparation and bulk processing.

Parameters

Returns

WebLLMClient

Advanced client for fine-grained control over requests.

Constructor

Mock Mode

All WebLLM methods support a mock parameter for instant responses without requiring any provider, extension, or daemon connection. This is useful for testing, UI development, and offline scenarios.

How It Works

  • generateText / streamText: Returns lorem ipsum text
  • generateObject / streamObject: Returns an object matching the provided schema
  • generateImage: Returns a placeholder image
  • embed / embedMany: Returns mock embedding vectors

Use Cases

  • UI Development: Build and test UI components without API costs
  • Unit Testing: Write tests without mocking the entire client
  • Offline Development: Work without network connectivity
  • Quick Prototyping: Rapidly iterate on integrations

Browser API (navigator.llm)

When the WebLLM extension is installed, the navigator.llm API is available on all web pages.

Methods

  • navigator.llm.isAvailable() - Check if WebLLM is available
  • navigator.llm.generate(options) - Generate text
  • navigator.llm.stream(options) - Stream text generation
  • navigator.llm.generateImage(options) - Generate images from text prompts
  • navigator.llm.embed(options) - Generate embedding for a single value
  • navigator.llm.embedMany(options) - Generate embeddings for multiple values