---
title: "AI Assistant | Nutrient"
canonical_url: "https://www.nutrient.io/guides/ai-assistant/intro/"
md_url: "https://www.nutrient.io/guides/ai-assistant/intro.md"
last_updated: "2026-05-29T15:33:59.342Z"
description: "Welcome to the AI Assistant developer guides. These guides show how to set up AI Assistant to provide AI functionality in Nutrient Web SDK."
---

# Developer guides

Welcome to the AI Assistant developer guides. These guides show how to set up AI Assistant to provide AI functionality in Nutrient Web SDK.

## A quick infrastructure primer

To have a fully functional AI setup, you’ll need:

- [Nutrient Web SDK](https://www.nutrient.io/sdk/web/) — A document viewer in the browser that also exposes the user interface (UI) for the AI features

- AI Assistant — A service to process the AI request and process documents

- [Document Engine](https://www.nutrient.io/sdk/document-engine/) (optional) — A service that stores and serves documents to AI Assistant and Nutrient Web SDK

If you’re brand new to Nutrient, take a look at our [getting started](https://www.nutrient.io/sdk/ai-assistant/getting-started.md) guides to quickly add AI functionality to a new web project.

## Concepts

There are two important concepts to be aware of when integrating AI Assistant:

- `documentId` — A unique identifier for your document. When using Document Engine, this is returned upon document upload (see the [API reference](https://www.nutrient.io/api/reference/document-engine/upstream/#tag/Documents/operation/upload-document)).

- `sessionId` — An alphanumeric unique ID specified by you to allow recall of a chat history if a user navigates away.

These two concepts are used in the configuration object passed to [Nutrient Web SDK](https://www.nutrient.io/guides/ai-assistant/viewer-integration/nutrient-web-sdk.md), and they can be used to limit user access to specific documents and sessions via the [claims of a JSON Web Token (JWT)](https://www.nutrient.io/guides/ai-assistant/viewer-integration/client-authentication/generate-a-jwt.md#token-requirements).

There’s one additional concept, which is loosely linked with `sessionId`s, but this is optional, depending on your requirements:

- `userId` (optional) — Although it’s not required, this is an ID you specify that makes it possible to implement usage limits via [claims in a JWT](https://www.nutrient.io/guides/ai-assistant/viewer-integration/client-authentication/generate-a-jwt.md#token-requirements), or to purge data specifically related to a single user via the [server API](https://www.nutrient.io/guides/ai-assistant/api.md).

## Guides

**[Docker configuration](https://www.nutrient.io/guides/ai-assistant/service-configuration/docker-configuration.md)**

How to customize AI Assistant’s options

**[Selecting the right LLM hosting strategy](https://www.nutrient.io/guides/ai-assistant/service-configuration/selecting-right-llm-hosting-strategy.md)**

How to choose between hosted and self-hosted models

**[AI model configuration](https://www.nutrient.io/guides/ai-assistant/service-configuration/ai-configuration.md)**

How to specify the models AI Assistant uses

**[Upgrade and migration guides](https://www.nutrient.io/guides/ai-assistant/upgrade.md)**

How to migrate AI Assistant model configuration to the latest format

**[Document ingestion](https://www.nutrient.io/guides/ai-assistant/document-ingestion/overview.md)**

Learn how AI Assistant ingests documents for AI processing

**[Deployment](https://www.nutrient.io/guides/ai-assistant/deployment/docker-registry.md)**

How to deploy AI Assistant

**[Viewer integration](https://www.nutrient.io/guides/ai-assistant/viewer-integration/nutrient-web-sdk.md)**

Learn how to connect Nutrient Web SDK with your AI Assistant instance

**[Data management](https://www.nutrient.io/guides/ai-assistant/api.md)**

Take control of your users’ data with the server API
---

## Related pages

- [AI Assistant API reference](/guides/ai-assistant/api.md)
- [Download AI Assistant](/guides/ai-assistant/downloads.md)
- [Changelog for AI Assistant](/guides/ai-assistant/changelog.md)
- [Example projects](/guides/ai-assistant/example-projects.md)
- [AI Assistant](/guides/ai-assistant.md)
- [Upgrade and migration guides](/guides/ai-assistant/upgrade.md)
- [Nightly build](/guides/ai-assistant/nightly.md)

