From a9160542cc81347e08716a449a8c795baee8bbbf Mon Sep 17 00:00:00 2001 From: Nastasha Solomon Date: Wed, 25 Mar 2026 00:26:23 -0400 Subject: [PATCH 01/14] First draft --- .../ai-assistant-host-doc-artifacts.md | 212 ++++++++++++++++++ .../connect-to-lmstudio-observability.md | 2 +- explore-analyze/toc.yml | 1 + 3 files changed, 214 insertions(+), 1 deletion(-) create mode 100644 explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md diff --git a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md new file mode 100644 index 0000000000..c4b4e11e7d --- /dev/null +++ b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md @@ -0,0 +1,212 @@ +--- +navigation_title: "Host product documentation for AI assistant" +applies_to: + stack: ga + self: ga +products: + - id: kibana + - id: security + - id: observability + - id: elasticsearch +description: Mirror Elastic product documentation ZIP files on infrastructure Kibana can reach so Kibana can install them for the AI assistant when the public artifact repository is unavailable or blocked. +--- + +# Host product documentation artifacts for Elastic AI assistant [host-product-documentation-artifacts-ai-assistant] + +Elastic packages product documentation for AI assistant as versioned ZIP files. When {{kib}} can reach Elastic’s public repository at [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/), {{kib}} downloads those ZIP files from that public host and you install product documentation using the AI assistant UI. + +When {{kib}} can't reach that repository, you still use the same published ZIP files but host them as a documentation mirror on infrastructure that your deployment can reach. This is a common scenario for deployments on isolated, restricted, or air-gapped networks. + +The sections that follow cover how to prepare a documentation mirror, configure hosting, and install product documentation for the AI assistant. + +## Prepare to host your documentation mirror [prepare-to-host-your-documentation-mirror] + +A documentation mirror is your own copy of Elastic’s published product-documentation bundles. It includes the versioned ZIP files for your {{stack}} and the bucket-style listing {{kib}} uses to discover those file names. Typically, you would create a mirror when {{kib}} can't reach Elastic’s public host to download documentation because the deployment is on an isolated, restricted, or air-gapped network. + +Before setting up a documentation mirror, review this section to understand the documentation files you need, mirror layout requirements and hosting options, and {{kib}} settings that control the mirror URL. + +:::::{stepper} + +::::{step} Get product documentation ZIP files for your {{kib}} version + +1. **Identify the documentation ZIP version and file names for your {{kib}} release.** + + Check which stack version you are running (for example, 9.0). The `{{versionMajor}}.{{versionMinor}}` segment in each file name must match that release. If it does not match your {{kib}} release, or the file names differ from what Elastic publishes for that release, mirroring will not work. + + Elastic publishes four documentation bundles for each minor version, one each for {{es}}, {{kib}}, {{observability}}, and {{elastic-sec}}. File names follow this pattern: + + ```yaml + kb-product-doc-{{productName}}-{{versionMajor}}.{{versionMinor}}.zip + ``` + + For example, when {{kib}} is 9.0, the four ZIP files are: + + * `kb-product-doc-elasticsearch-9.0.zip` + * `kb-product-doc-kibana-9.0.zip` + * `kb-product-doc-observability-9.0.zip` + * `kb-product-doc-security-9.0.zip` + +2. **Download or copy the documentation ZIP files.** + + Download all four from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) when you can reach that host, or copy them from another trusted source that already mirrored them if you are fully offline. + +:::: + +::::{step} Understand mirror layout requirements and hosting options + +At the mirror’s repository root, {{kib}} reads a bucket-style listing, then downloads each ZIP from that same URL. Before you connect {{kib}} to the mirror in the next step, confirm the layout {{kib}} expects, then choose how you will host it: + +* **Repository layout**: Keep the bucket-style listing and the four ZIP files under one repository root, matching Elastic’s public host. {{kib}} uses that single base URL for both the listing and the downloads. Don't use a custom layout or modify the file names. If you do this, {{kib}} won't be able to find and download the ZIP files. +* **Hosting**: Choose an S3-compatible bucket or a CDN with a listing file. + + {applies_to}`self: ga 9.1+` You also have the option to host the documentation as local files on the {{kib}} host. + +:::: + +::::{step} Know which {{kib}} settings control the mirror URL + +These settings tell {{kib}} which repository root to call: + +* **`xpack.productDocBase.artifactRepositoryUrl`**: The base address {{kib}} uses to read the file listing and download the documentation ZIPs. You set this in `kibana.yml` (or your deployment’s equivalent). +* **`xpack.productDocBase.artifactRepositoryProxyUrl`**: Only needed when {{kib}} has to go through an HTTP or HTTPS proxy to reach the mirror. + +For defaults, allowed values, and more details, refer to [Knowledge base artifact settings for AI Assistants](kibana://reference/configuration-reference/ai-assistant-settings.md). + +:::: + +::::: + +## Configure your documentation mirror [configuring-product-doc-isolated-restricted-airgap] + +Choose the tab that matches your setup and follow the steps to stage the ZIP files, point {{kib}} at your mirror, and complete the setup configuration. + + +:::::{tab-set} + +::::{tab-item} S3-compatible bucket + +When {{kib}} can’t use Elastic’s public artifact host, hosting product documentation on an S3-compatible bucket is a common choice. You mirror the published ZIP files on an S3-compatible bucket that {{kib}} can reach over HTTPS inside your environment. + +Unlike a CDN, such a bucket can expose S3’s listing API natively, so {{kib}} can read the bucket listing and download the ZIP files without a hand-maintained XML listing file. The following steps cover getting the artifacts, uploading them to your bucket, pointing {{kib}} at the repository URL, and completing setup. + +1. **Get the four product documentation ZIP files for your {{kib}} version.** + + Download them from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) if your network can reach that host. If it can't, get the same files from another system or mirror and transfer them to your environment. + + {{kib}} only installs documentation when the ZIP file names and version segment match Elastic’s published artifacts for your stack. Without those files, the install can't succeed. + +2. **Upload the ZIP files to your bucket and expose a listing.** + + Upload the four files to the bucket. Configure the bucket so its root exposes a listing comparable to Elastic’s public bucket, with your ZIP files visible in that index or listing view. + + {{kib}} reads that listing to discover the exact ZIP file names before it downloads them. + +3. **Tell {{kib}} where to download the artifacts.** + + In `kibana.yml`, set [`xpack.productDocBase.artifactRepositoryUrl`](kibana://reference/configuration-reference/ai-assistant-settings.md) to the HTTPS base URL of the bucket you used in step 2. Use the base URL for the top of the mirror, which will be the same place the listing and the four ZIP files appear together. _Do not_ use a longer URL that points into a subfolder under that mirror. + + For example: + + ```yaml + # Replace with your bucket’s HTTPS base URL (no extra path after the repository root) + xpack.productDocBase.artifactRepositoryUrl: "" + ``` + + {{kib}} calls that single address to read the bucket listing and download the ZIP files; the wrong base URL breaks listing discovery or downloads. + +4. **Restart {{kib}} so the configuration change takes effect.** + + [Stop and restart](/deploy-manage/maintenance/start-stop-services/start-stop-kibana.md) {{kib}}. The new `artifactRepositoryUrl` value in your `kibana.yml` isn't applied until {{kib}} fully restarts. + +5. **Install product documentation in the AI assistant UI.** + + The steps depend on which assistant you use: + + * **AI Assistant for Security**: Product documentation is available when you enable Knowledge Base. Refer to [Give AI Assistant access to Elastic’s product documentation](/solutions/security/ai/ai-assistant-knowledge-base.md#elastic-docs) to learn more. + * **AI Assistant for Observability and Search**: On the **Settings** tab of AI Assistant Settings, use **Install Elastic Documentation**. Refer to [Add Elastic documentation](/solutions/observability/ai/observability-ai-assistant.md#obs-ai-product-documentation) to learn more. + +:::: + +::::{tab-item} CDN + +Unlike an [S3-compatible bucket](#host-using-s3), a CDN can’t expose S3’s listing API natively. Instead, you must rebuild the same behavior with static files. This requires you to publish the ZIP artifacts and an XML file that mimics S3’s listing, configure the CDN so that folder URL returns the XML, then point {{kib}} at that HTTPS base URL. + +1. **Get the four product documentation ZIP files for your {{kib}} version.** + + Download them from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) if your network can reach that host. If it can't, get the same files from another system or mirror and transfer them into your environment. + + {{kib}} only installs documentation when the ZIP file names and version segment match Elastic’s published artifacts for your stack. Without those files, the install can't succeed. + +2. **Stage the ZIP files on your CDN origin.** + + Upload all four files to one folder on the CDN origin or on the storage your CDN pulls from so they share a single base path. In the next step, you add a listing file to this same folder. Later you set [`xpack.productDocBase.artifactRepositoryUrl`](kibana://reference/configuration-reference/ai-assistant-settings.md) to that folder’s HTTPS URL. + + One folder under one HTTPS base URL lets {{kib}} request the listing and fetch each ZIP from the same base URL, which matches how the S3-compatible flow works. + +3. **Create the listing file {{kib}} uses to discover the ZIP file names.** + + Copy the template below and set each `` to match your artifact file names and {{kib}} version. For {{kib}} 9.1, replace every `9.0` in the keys with `9.1`. + + ```xml + + kibana-ai-assistant-kb-artifacts + false + + kb-product-doc-elasticsearch-9.0.zip + + + kb-product-doc-kibana-9.0.zip + + + kb-product-doc-observability-9.0.zip + + + kb-product-doc-security-9.0.zip + + + ``` + + Put the XML file in the **same folder** as the four ZIP files. Configure the CDN so a request to the folder’s HTTPS URL returns this XML as the **directory index** (your provider may call this a default document or index file). The exact control varies by CDN. + + A CDN does not implement S3’s listing API, so this XML stands in for the listing a bucket would return. {{kib}} requests that listing from the folder base URL, then downloads each ZIP by name from the same origin. The keys in the XML must match the files you uploaded, and the CDN must serve the XML at that URL. + +4. **Tell {{kib}} where to download the artifacts from your CDN mirror.** + + In `kibana.yml`, set `xpack.productDocBase.artifactRepositoryUrl` to the HTTPS base URL of the folder from step 2. It will be the same URL whose index serves the XML from step 3. Do not add an extra path segment beyond that folder. + + For example: + + ```yaml + # Replace with your CDN folder’s HTTPS base URL (no extra path beyond the repository root) + xpack.productDocBase.artifactRepositoryUrl: "" + ``` + + {{kib}} must use one base URL for both the listing response and the ZIP downloads; a deeper path breaks that contract. + + +5. **Restart {{kib}} so the configuration change takes effect.** + + [Stop and restart](/deploy-manage/maintenance/start-stop-services/start-stop-kibana.md){{kib}}. The new `artifactRepositoryUrl` value in your `kibana.yml` isn't applied until {{kib}} fully restarts. + +6. **Install product documentation in the AI assistant UI.** + + The steps depend on which assistant you use: + + * **AI Assistant for Security**: Product documentation is available when you enable Knowledge Base. Refer to [Give AI Assistant access to Elastic’s product documentation](/solutions/security/ai/ai-assistant-knowledge-base.md#elastic-docs) to learn more. + * **AI Assistant for Observability and Search**: On the **Settings** tab of AI Assistant Settings, use **Install Elastic Documentation**. Refer to [Add Elastic documentation](/solutions/observability/ai/observability-ai-assistant.md#obs-ai-product-documentation) to learn more. + +:::: + +::::{tab-item} Local files on the {{kib}} host + +```{applies_to} +self: ga 9.1+ +``` + +You can install product documentation by placing Elastic’s published ZIP files in a directory on the {{kib}} host that {{kib}} can read. {{kib}} uses those files to install the product documentation that AI assistant relies on when answering questions about Elastic products. + +To set this up, configure [`xpack.productDocBase.artifactRepositoryUrl`](kibana://reference/configuration-reference/ai-assistant-settings.md) as a `file://` URL and place the ZIP files in that directory. + +:::: + +::::: diff --git a/explore-analyze/ai-features/llm-guides/connect-to-lmstudio-observability.md b/explore-analyze/ai-features/llm-guides/connect-to-lmstudio-observability.md index 2f78695629..1ab45b7e23 100644 --- a/explore-analyze/ai-features/llm-guides/connect-to-lmstudio-observability.md +++ b/explore-analyze/ai-features/llm-guides/connect-to-lmstudio-observability.md @@ -154,4 +154,4 @@ While local (open-weight) LLMs offer greater privacy and control, they generally Local LLMs in air-gapped environments have specific installation and configuration instructions for deploying ELSER and configuring product documentation. Refer to the following links for more information: - [Deploy ELSER in an air-gapped environment](/explore-analyze/machine-learning/nlp/ml-nlp-elser.md#air-gapped-install) -- [Configure product documentation for air-gapped-environments](kibana://reference/configuration-reference/ai-assistant-settings.md#configuring-product-doc-for-airgap) \ No newline at end of file +- [Configure your mirror (product documentation)](/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md#configuring-product-doc-isolated-restricted-airgap) \ No newline at end of file diff --git a/explore-analyze/toc.yml b/explore-analyze/toc.yml index 97e613c244..b25c8162f4 100644 --- a/explore-analyze/toc.yml +++ b/explore-analyze/toc.yml @@ -231,6 +231,7 @@ toc: children: - file: ai-features/ai-chat-experiences/ai-agent-or-ai-assistant.md - file: ai-features/ai-chat-experiences/ai-assistant.md + - file: ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md - file: ai-features/manage-access-to-ai-assistant.md - file: ai-features/agent-skills.md - file: ai-features/llm-guides/llm-connectors.md From c8a21ce42c7b32c33936fcb157470b1aafaf0b38 Mon Sep 17 00:00:00 2001 From: Nastasha Solomon Date: Wed, 25 Mar 2026 00:28:08 -0400 Subject: [PATCH 02/14] Link fixes --- deploy-manage/deploy/self-managed/air-gapped-install.md | 2 +- .../ai-chat-experiences/ai-assistant-host-doc-artifacts.md | 4 +++- redirects.yml | 7 +++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/deploy-manage/deploy/self-managed/air-gapped-install.md b/deploy-manage/deploy/self-managed/air-gapped-install.md index cb391a84f9..9adcc416ed 100644 --- a/deploy-manage/deploy/self-managed/air-gapped-install.md +++ b/deploy-manage/deploy/self-managed/air-gapped-install.md @@ -462,4 +462,4 @@ Installing the AI Assistant knowledge base content (Elastic documentation and Se xpack.productDocBase.artifactRepositoryProxyUrl: "https://my-proxy-host:port" ``` -For fully air-gapped environments where no external network access is available, refer to the [{{kib}} AI Assistants settings documentation](kibana://reference/configuration-reference/ai-assistant-settings.md) for instructions on deploying a local artifact repository. +For fully air-gapped environments where no external network access is available, refer to [Host product documentation artifacts for Elastic AI assistant](../../../explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md) for how to mirror and host the artifacts, and to the [{{kib}} AI Assistants settings](kibana://reference/configuration-reference/ai-assistant-settings.md) reference for configuration fields. diff --git a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md index c4b4e11e7d..69f9674dea 100644 --- a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md +++ b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md @@ -85,6 +85,8 @@ Choose the tab that matches your setup and follow the steps to stage the ZIP fil ::::{tab-item} S3-compatible bucket +### Host using an S3-compatible bucket [host-using-s3] + When {{kib}} can’t use Elastic’s public artifact host, hosting product documentation on an S3-compatible bucket is a common choice. You mirror the published ZIP files on an S3-compatible bucket that {{kib}} can reach over HTTPS inside your environment. Unlike a CDN, such a bucket can expose S3’s listing API natively, so {{kib}} can read the bucket listing and download the ZIP files without a hand-maintained XML listing file. The following steps cover getting the artifacts, uploading them to your bucket, pointing {{kib}} at the repository URL, and completing setup. @@ -186,7 +188,7 @@ Unlike an [S3-compatible bucket](#host-using-s3), a CDN can’t expose S3’s li 5. **Restart {{kib}} so the configuration change takes effect.** - [Stop and restart](/deploy-manage/maintenance/start-stop-services/start-stop-kibana.md){{kib}}. The new `artifactRepositoryUrl` value in your `kibana.yml` isn't applied until {{kib}} fully restarts. + [Stop and restart](/deploy-manage/maintenance/start-stop-services/start-stop-kibana.md) {{kib}}. The new `artifactRepositoryUrl` value in your `kibana.yml` isn't applied until {{kib}} fully restarts. 6. **Install product documentation in the AI assistant UI.** diff --git a/redirects.yml b/redirects.yml index c6a6cc0024..7bc60790d8 100644 --- a/redirects.yml +++ b/redirects.yml @@ -842,3 +842,10 @@ redirects: # Renamed for SEO - URL now matches page title 'solutions/security/detect-and-alert/requirements-privileges.md': 'solutions/security/detect-and-alert/turn-on-detections.md' + +# Product documentation mirror page — section headings renamed; preserve deep links + 'explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md': + to: 'explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md' + anchors: + 'before-you-begin': 'prepare-to-host-your-documentation-mirror' + 'plan-documentation-mirror': 'prepare-to-host-your-documentation-mirror' From 5676399dc8f09fce67ccc37803f01358a34f39dc Mon Sep 17 00:00:00 2001 From: Nastasha Solomon Date: Wed, 25 Mar 2026 00:51:52 -0400 Subject: [PATCH 03/14] Remove uneeded anchor --- .../ai-chat-experiences/ai-assistant-host-doc-artifacts.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md index 69f9674dea..aee3e54ebf 100644 --- a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md +++ b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md @@ -85,7 +85,7 @@ Choose the tab that matches your setup and follow the steps to stage the ZIP fil ::::{tab-item} S3-compatible bucket -### Host using an S3-compatible bucket [host-using-s3] +### Host using an S3-compatible bucket When {{kib}} can’t use Elastic’s public artifact host, hosting product documentation on an S3-compatible bucket is a common choice. You mirror the published ZIP files on an S3-compatible bucket that {{kib}} can reach over HTTPS inside your environment. @@ -131,7 +131,7 @@ Unlike a CDN, such a bucket can expose S3’s listing API natively, so {{kib}} c ::::{tab-item} CDN -Unlike an [S3-compatible bucket](#host-using-s3), a CDN can’t expose S3’s listing API natively. Instead, you must rebuild the same behavior with static files. This requires you to publish the ZIP artifacts and an XML file that mimics S3’s listing, configure the CDN so that folder URL returns the XML, then point {{kib}} at that HTTPS base URL. +Unlike the S3-compatible bucket flow in the previous tab, a CDN can’t expose S3’s listing API natively. Instead, you must rebuild the same behavior with static files. This requires you to publish the ZIP artifacts and an XML file that mimics S3’s listing, configure the CDN so that folder URL returns the XML, then point {{kib}} at that HTTPS base URL. 1. **Get the four product documentation ZIP files for your {{kib}} version.** From 85be9b58b5dc159c9369c3a2bb6cb700c7b69f9a Mon Sep 17 00:00:00 2001 From: Nastasha Solomon Date: Wed, 25 Mar 2026 01:06:03 -0400 Subject: [PATCH 04/14] applies to tags --- .../ai-chat-experiences/ai-assistant-host-doc-artifacts.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md index aee3e54ebf..83c07c4975 100644 --- a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md +++ b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md @@ -68,7 +68,7 @@ At the mirror’s repository root, {{kib}} reads a bucket-style listing, then do These settings tell {{kib}} which repository root to call: * **`xpack.productDocBase.artifactRepositoryUrl`**: The base address {{kib}} uses to read the file listing and download the documentation ZIPs. You set this in `kibana.yml` (or your deployment’s equivalent). -* **`xpack.productDocBase.artifactRepositoryProxyUrl`**: Only needed when {{kib}} has to go through an HTTP or HTTPS proxy to reach the mirror. +* {applies_to}`self: ga 9.4+`**`xpack.productDocBase.artifactRepositoryProxyUrl`**: Only needed when {{kib}} has to go through an HTTP or HTTPS proxy to reach the mirror. For defaults, allowed values, and more details, refer to [Knowledge base artifact settings for AI Assistants](kibana://reference/configuration-reference/ai-assistant-settings.md). @@ -147,7 +147,7 @@ Unlike the S3-compatible bucket flow in the previous tab, a CDN can’t expose S 3. **Create the listing file {{kib}} uses to discover the ZIP file names.** - Copy the template below and set each `` to match your artifact file names and {{kib}} version. For {{kib}} 9.1, replace every `9.0` in the keys with `9.1`. + Copy the template below and set each `` to match your artifact file names and {{kib}} version. For example, for {{kib}} 9.1, replace every `9.0` in the keys with `9.1`. ```xml From 625d4ae219ef5c9ef78a530ce4e7fce9c4af00d4 Mon Sep 17 00:00:00 2001 From: Nastasha Solomon Date: Wed, 25 Mar 2026 01:10:00 -0400 Subject: [PATCH 05/14] adjusts changes from previous PR Adjusts changes that were made in https://github.com/elastic/docs-content/pull/5521 --- solutions/security/ai/ai-assistant-knowledge-base.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/security/ai/ai-assistant-knowledge-base.md b/solutions/security/ai/ai-assistant-knowledge-base.md index c2fef52980..03ff0799b6 100644 --- a/solutions/security/ai/ai-assistant-knowledge-base.md +++ b/solutions/security/ai/ai-assistant-knowledge-base.md @@ -42,7 +42,7 @@ The `Elastic AI Assistant: All` role privilege allows you to use AI Assistant an When you enable Knowledge Base, AI Assistant automatically gains access to Elastic's product documentation. This improves its answers to questions related to Elastic products and features. -In air-gapped environments or environments where outbound traffic must go through an HTTP proxy, this requires additional configuration. Refer to the [{{kib}} AI Assistant settings documentation](kibana://reference/configuration-reference/ai-assistant-settings.md) for detailed instructions on configuring a proxy or deploying a local artifact repository. Once you complete the instructions on that page, AI Assistant will automatically gain access to Elastic's documentation as soon as you start a new conversation. +In air-gapped environments or environments where outbound traffic must go through an HTTP proxy, this requires additional configuration. Refer to the [Knowledge base artifact settings for AI Assistants](kibana://reference/configuration-reference/ai-assistant-settings.md) for detailed instructions on configuring a proxy or deploying a local artifact repository. Once you complete the instructions on that page, AI Assistant will automatically gain access to Elastic's documentation as soon as you start a new conversation. ## Enable Knowledge Base [enable-knowledge-base] From 9fe111168b1c63ee2cf65c4da4d4c3143b732f37 Mon Sep 17 00:00:00 2001 From: Nastasha Solomon <79124755+nastasha-solomon@users.noreply.github.com> Date: Wed, 25 Mar 2026 02:47:00 -0400 Subject: [PATCH 06/14] Update explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md --- .../ai-chat-experiences/ai-assistant-host-doc-artifacts.md | 1 - 1 file changed, 1 deletion(-) diff --git a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md index 83c07c4975..19682c93c8 100644 --- a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md +++ b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md @@ -1,7 +1,6 @@ --- navigation_title: "Host product documentation for AI assistant" applies_to: - stack: ga self: ga products: - id: kibana From f9bd766aba45e951e42c67b60bc74cf2facb010c Mon Sep 17 00:00:00 2001 From: Nastasha Solomon Date: Thu, 26 Mar 2026 00:56:24 -0400 Subject: [PATCH 07/14] Revise main page --- .../deploy/self-managed/air-gapped-install.md | 4 +- .../ai-assistant-host-doc-artifacts.md | 277 +++++++++++------- .../connect-to-lmstudio-observability.md | 2 +- redirects.yml | 7 - .../ai/observability-ai-assistant.md | 2 +- 5 files changed, 169 insertions(+), 123 deletions(-) diff --git a/deploy-manage/deploy/self-managed/air-gapped-install.md b/deploy-manage/deploy/self-managed/air-gapped-install.md index 9adcc416ed..41b5cc7064 100644 --- a/deploy-manage/deploy/self-managed/air-gapped-install.md +++ b/deploy-manage/deploy/self-managed/air-gapped-install.md @@ -456,10 +456,10 @@ Some {{ml}} features, like natural language processing (NLP), require you to dep Installing the AI Assistant knowledge base content (Elastic documentation and Security Labs) requires network access to the artifact repository at `https://kibana-knowledge-base-artifacts.elastic.co`. -{applies_to}`stack: ga 9.4` In environments where outbound traffic must go through an HTTP proxy, you can configure {{kib}} to reach the artifact repository through the proxy by adding the following to `kibana.yml`: +{applies_to}`self: ga 9.4` In environments where outbound traffic must go through an HTTP proxy, you can configure {{kib}} to reach the artifact repository through the proxy by adding the following to `kibana.yml`: ```yaml xpack.productDocBase.artifactRepositoryProxyUrl: "https://my-proxy-host:port" ``` -For fully air-gapped environments where no external network access is available, refer to [Host product documentation artifacts for Elastic AI assistant](../../../explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md) for how to mirror and host the artifacts, and to the [{{kib}} AI Assistants settings](kibana://reference/configuration-reference/ai-assistant-settings.md) reference for configuration fields. +For fully air-gapped environments where no external network access is available, refer to [Host a knowledge base artifact repo for AI assistants](../../../explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md) for how to manually deploy the knowledge base artifact repository or use a `file://` path for {{kib}}, and to the [{{kib}} AI Assistants settings](kibana://reference/configuration-reference/ai-assistant-settings.md) reference for configuration fields. diff --git a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md index 19682c93c8..0b18a6b6f6 100644 --- a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md +++ b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md @@ -1,5 +1,5 @@ --- -navigation_title: "Host product documentation for AI assistant" +navigation_title: "Knowledge base artifact repo for AI assistants" applies_to: self: ga products: @@ -7,207 +7,260 @@ products: - id: security - id: observability - id: elasticsearch -description: Mirror Elastic product documentation ZIP files on infrastructure Kibana can reach so Kibana can install them for the AI assistant when the public artifact repository is unavailable or blocked. +description: Host AI assistant knowledge base artifacts via S3-compatible storage, CDN, or local paths when Kibana cannot reach Elastic’s public URL, then set the repository URL and install from the assistant UI. --- -# Host product documentation artifacts for Elastic AI assistant [host-product-documentation-artifacts-ai-assistant] +# Host a knowledge base artifact repo for AI assistants [host-knowledge-base-artifact-repo-for-ai-assistants] -Elastic packages product documentation for AI assistant as versioned ZIP files. When {{kib}} can reach Elastic’s public repository at [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/), {{kib}} downloads those ZIP files from that public host and you install product documentation using the AI assistant UI. +When {{kib}} can't use Elastic’s [public artifact URL](https://kibana-knowledge-base-artifacts.elastic.co/), which is common for deployments in air-gapped or restricted networks, you must deploy the knowledge base artifact repository manually. -When {{kib}} can't reach that repository, you still use the same published ZIP files but host them as a documentation mirror on infrastructure that your deployment can reach. This is a common scenario for deployments on isolated, restricted, or air-gapped networks. +Deploying the artifact repository manually requires you to mirror Elastic’s versioned ZIP bundles to infrastructure that {{kib}} can reach, then install knowledge base content from the AI assistant UI. -The sections that follow cover how to prepare a documentation mirror, configure hosting, and install product documentation for the AI assistant. +## Choose a hosting option [choose-a-hosting-option-for-knowledge-base-artifacts] -## Prepare to host your documentation mirror [prepare-to-host-your-documentation-mirror] +Use this list to figure out the best deployment and hosting option for your environment, then go to the [Deploy the repository](#deploy-the-knowledge-base-artifact-repository) section for detailed steps. -A documentation mirror is your own copy of Elastic’s published product-documentation bundles. It includes the versioned ZIP files for your {{stack}} and the bucket-style listing {{kib}} uses to discover those file names. Typically, you would create a mirror when {{kib}} can't reach Elastic’s public host to download documentation because the deployment is on an isolated, restricted, or air-gapped network. +* **S3-compatible bucket**: You store the bundles in an S3-compatible bucket over HTTPS and the bucket exposes a normal object listing at the repository root, so {{kib}} can discover the ZIPs without you maintaining a separate listing XML file (unlike the CDN option). +* **CDN**: You serve the bundles through a CDN and publish S3-style listing XML yourself, served as the folder’s default document or directory index. +* **Local files on the {{kib}} host**: The bundles exist only as files on the {{kib}} host and you configure a `file://` repository URL. Requires {{kib}} 9.1 or later. -Before setting up a documentation mirror, review this section to understand the documentation files you need, mirror layout requirements and hosting options, and {{kib}} settings that control the mirror URL. +## Deploy the repository [deploy-the-knowledge-base-artifact-repository] -:::::{stepper} +Open the tab that matches your deployment and hosting setup, then complete the steps in that tab. + +:::::::{tab-set} + +::::::{tab-item} S3-compatible bucket -::::{step} Get product documentation ZIP files for your {{kib}} version +### Deploy using an S3-compatible bucket -1. **Identify the documentation ZIP version and file names for your {{kib}} release.** +An S3-compatible bucket can expose a listing comparable to Elastic’s public bucket, so {{kib}} can read the index and fetch the ZIP files without maintaining listing XML manually. + +:::::{stepper} - Check which stack version you are running (for example, 9.0). The `{{versionMajor}}.{{versionMinor}}` segment in each file name must match that release. If it does not match your {{kib}} release, or the file names differ from what Elastic publishes for that release, mirroring will not work. +::::{step} Get the product documentation ZIP files for your {{kib}} version - Elastic publishes four documentation bundles for each minor version, one each for {{es}}, {{kib}}, {{observability}}, and {{elastic-sec}}. File names follow this pattern: +:::{tip} +Check which stack version you’re running (for example, 9.0). The `{{versionMajor}}.{{versionMinor}}` segment in each file name must match that release. If it doesn’t match your {{kib}} release, or the file names differ from what Elastic publishes for that release, installation will fail. +::: - ```yaml - kb-product-doc-{{productName}}-{{versionMajor}}.{{versionMinor}}.zip - ``` +Elastic publishes four knowledge base artifact bundles for each minor version, one each for {{es}}, {{kib}}, {{observability}}, and {{elastic-sec}}. File names follow this pattern: - For example, when {{kib}} is 9.0, the four ZIP files are: +```yaml +kb-product-doc-{{productName}}-{{versionMajor}}.{{versionMinor}}.zip +``` - * `kb-product-doc-elasticsearch-9.0.zip` - * `kb-product-doc-kibana-9.0.zip` - * `kb-product-doc-observability-9.0.zip` - * `kb-product-doc-security-9.0.zip` +For example, when {{kib}} is 9.0, the four ZIP files are: -2. **Download or copy the documentation ZIP files.** +* `kb-product-doc-elasticsearch-9.0.zip` +* `kb-product-doc-kibana-9.0.zip` +* `kb-product-doc-observability-9.0.zip` +* `kb-product-doc-security-9.0.zip` - Download all four from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) when you can reach that host, or copy them from another trusted source that already mirrored them if you are fully offline. +Download all four from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) when you can reach that host, or copy them from another trusted source that already hosts the same bundles if you’re fully offline. :::: -::::{step} Understand mirror layout requirements and hosting options +::::{step} Upload the artifacts to your bucket + +Configure the bucket root so its listing matches `https://kibana-knowledge-base-artifacts.elastic.co/` and lists all four ZIPs. Over HTTPS, use S3-style listing from a compatible bucket. + +:::{important} +For S3-compatible storage, a single HTTPS repository root must expose the bucket’s list response (the same S3-style listing {{kib}} would get from `ListObjects`-style APIs) and the four object keys at that same root. **Do not** rely on a separate path for the ZIPs. Object key names must match the bundle file names from the previous step so each listing entry resolves to a downloadable ZIP. +::: + +:::: -At the mirror’s repository root, {{kib}} reads a bucket-style listing, then downloads each ZIP from that same URL. Before you connect {{kib}} to the mirror in the next step, confirm the layout {{kib}} expects, then choose how you will host it: +::::{step} Set the repository URL in {{kib}} -* **Repository layout**: Keep the bucket-style listing and the four ZIP files under one repository root, matching Elastic’s public host. {{kib}} uses that single base URL for both the listing and the downloads. Don't use a custom layout or modify the file names. If you do this, {{kib}} won't be able to find and download the ZIP files. -* **Hosting**: Choose an S3-compatible bucket or a CDN with a listing file. +In `kibana.yml`, set [`xpack.productDocBase.artifactRepositoryUrl`](kibana://reference/configuration-reference/ai-assistant-settings.md) to the bucket root’s HTTPS URL (the base that serves both the listing and the four ZIPs). **Do not** point it at a subdirectory of that root. - {applies_to}`self: ga 9.1+` You also have the option to host the documentation as local files on the {{kib}} host. +```yaml +# Replace with your bucket’s HTTPS base URL (repository root only) +xpack.productDocBase.artifactRepositoryUrl: "" +``` :::: -::::{step} Know which {{kib}} settings control the mirror URL +::::{step} Restart {{kib}} + +[Stop and restart](/deploy-manage/maintenance/start-stop-services/start-stop-kibana.md) {{kib}}. The new `artifactRepositoryUrl` value isn’t applied until {{kib}} fully restarts. -These settings tell {{kib}} which repository root to call: +:::: -* **`xpack.productDocBase.artifactRepositoryUrl`**: The base address {{kib}} uses to read the file listing and download the documentation ZIPs. You set this in `kibana.yml` (or your deployment’s equivalent). -* {applies_to}`self: ga 9.4+`**`xpack.productDocBase.artifactRepositoryProxyUrl`**: Only needed when {{kib}} has to go through an HTTP or HTTPS proxy to reach the mirror. +::::{step} Install knowledge base content from the AI assistant UI -For defaults, allowed values, and more details, refer to [Knowledge base artifact settings for AI Assistants](kibana://reference/configuration-reference/ai-assistant-settings.md). +The steps to install knowledge base content depend on the assistant that you use: + +* **AI Assistant for Security**: Refer to [Give AI Assistant access to Elastic’s product documentation](/solutions/security/ai/ai-assistant-knowledge-base.md#elastic-docs). +* **AI Assistant for Observability and Search**: Refer to [Add Elastic documentation](/solutions/observability/ai/observability-ai-assistant.md#obs-ai-product-documentation). :::: ::::: -## Configure your documentation mirror [configuring-product-doc-isolated-restricted-airgap] - -Choose the tab that matches your setup and follow the steps to stage the ZIP files, point {{kib}} at your mirror, and complete the setup configuration. +:::::: +::::::{tab-item} CDN -:::::{tab-set} +### Deploy to a CDN -::::{tab-item} S3-compatible bucket +Deploying with a CDN matches the S3 flow, except you must publish a bucket-listing XML file and configure the CDN to serve it as the folder’s directory index (default document). -### Host using an S3-compatible bucket +:::::{stepper} -When {{kib}} can’t use Elastic’s public artifact host, hosting product documentation on an S3-compatible bucket is a common choice. You mirror the published ZIP files on an S3-compatible bucket that {{kib}} can reach over HTTPS inside your environment. +::::{step} Get the product documentation ZIP files for your {{kib}} version -Unlike a CDN, such a bucket can expose S3’s listing API natively, so {{kib}} can read the bucket listing and download the ZIP files without a hand-maintained XML listing file. The following steps cover getting the artifacts, uploading them to your bucket, pointing {{kib}} at the repository URL, and completing setup. +:::{tip} +Check which stack version you’re running (for example, 9.0). The `{{versionMajor}}.{{versionMinor}}` segment in each file name must match that release. If it doesn’t match your {{kib}} release, or the file names differ from what Elastic publishes for that release, installation will fail. +::: -1. **Get the four product documentation ZIP files for your {{kib}} version.** +Elastic publishes four knowledge base artifact bundles for each minor version, one each for {{es}}, {{kib}}, {{observability}}, and {{elastic-sec}}. File names follow this pattern: - Download them from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) if your network can reach that host. If it can't, get the same files from another system or mirror and transfer them to your environment. +```yaml +kb-product-doc-{{productName}}-{{versionMajor}}.{{versionMinor}}.zip +``` - {{kib}} only installs documentation when the ZIP file names and version segment match Elastic’s published artifacts for your stack. Without those files, the install can't succeed. +For example, when {{kib}} is 9.0, the four ZIP files are: -2. **Upload the ZIP files to your bucket and expose a listing.** +* `kb-product-doc-elasticsearch-9.0.zip` +* `kb-product-doc-kibana-9.0.zip` +* `kb-product-doc-observability-9.0.zip` +* `kb-product-doc-security-9.0.zip` - Upload the four files to the bucket. Configure the bucket so its root exposes a listing comparable to Elastic’s public bucket, with your ZIP files visible in that index or listing view. +Download all four from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) when you can reach that host, or copy them from another trusted source that already hosts the same bundles if you’re fully offline. - {{kib}} reads that listing to discover the exact ZIP file names before it downloads them. +:::: -3. **Tell {{kib}} where to download the artifacts.** +::::{step} Upload the artifacts to the CDN - In `kibana.yml`, set [`xpack.productDocBase.artifactRepositoryUrl`](kibana://reference/configuration-reference/ai-assistant-settings.md) to the HTTPS base URL of the bucket you used in step 2. Use the base URL for the top of the mirror, which will be the same place the listing and the four ZIP files appear together. _Do not_ use a longer URL that points into a subfolder under that mirror. +Put all four ZIP files in one folder on the CDN origin (or backing storage) so they share a single HTTPS base path. You add the listing XML in the next step and wire the CDN to serve it as that folder’s index. - For example: +:::: - ```yaml - # Replace with your bucket’s HTTPS base URL (no extra path after the repository root) - xpack.productDocBase.artifactRepositoryUrl: "" - ``` +::::{step} Create and upload the bucket listing + +Copy the template, set each `` to your real file names and minor version (for {{kib}} 9.1, replace `9.0` in the example with `9.1` everywhere in the keys). + +```xml + + kibana-ai-assistant-kb-artifacts + false + + kb-product-doc-elasticsearch-9.0.zip + + + kb-product-doc-kibana-9.0.zip + + + kb-product-doc-observability-9.0.zip + + + kb-product-doc-security-9.0.zip + + +``` - {{kib}} calls that single address to read the bucket listing and download the ZIP files; the wrong base URL breaks listing discovery or downloads. +Place the XML in the same folder as the ZIP files. Configure the CDN so a request to that folder’s base URL returns this XML (often as the index or default document). -4. **Restart {{kib}} so the configuration change takes effect.** +:::{important} +On a CDN, each `` must match a real ZIP file name in that origin folder, and the XML must be what clients get when they request the folder URL (default document or directory index). {{kib}} reads that listing from the same HTTPS base path it uses to download the ZIPs, so don’t split the listing and the ZIP files across different URLs or path roots. +::: - [Stop and restart](/deploy-manage/maintenance/start-stop-services/start-stop-kibana.md) {{kib}}. The new `artifactRepositoryUrl` value in your `kibana.yml` isn't applied until {{kib}} fully restarts. +:::: -5. **Install product documentation in the AI assistant UI.** +::::{step} Set the repository URL in {{kib}} - The steps depend on which assistant you use: +Set [`xpack.productDocBase.artifactRepositoryUrl`](kibana://reference/configuration-reference/ai-assistant-settings.md) to that folder’s HTTPS base URL (the URL whose index serves the XML). Don’t append an extra path past that root. - * **AI Assistant for Security**: Product documentation is available when you enable Knowledge Base. Refer to [Give AI Assistant access to Elastic’s product documentation](/solutions/security/ai/ai-assistant-knowledge-base.md#elastic-docs) to learn more. - * **AI Assistant for Observability and Search**: On the **Settings** tab of AI Assistant Settings, use **Install Elastic Documentation**. Refer to [Add Elastic documentation](/solutions/observability/ai/observability-ai-assistant.md#obs-ai-product-documentation) to learn more. +```yaml +# Replace with your CDN folder’s HTTPS base URL (repository root only) +xpack.productDocBase.artifactRepositoryUrl: "" +``` :::: -::::{tab-item} CDN +::::{step} Restart {{kib}} -Unlike the S3-compatible bucket flow in the previous tab, a CDN can’t expose S3’s listing API natively. Instead, you must rebuild the same behavior with static files. This requires you to publish the ZIP artifacts and an XML file that mimics S3’s listing, configure the CDN so that folder URL returns the XML, then point {{kib}} at that HTTPS base URL. +[Stop and restart](/deploy-manage/maintenance/start-stop-services/start-stop-kibana.md) {{kib}}. -1. **Get the four product documentation ZIP files for your {{kib}} version.** +:::: - Download them from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) if your network can reach that host. If it can't, get the same files from another system or mirror and transfer them into your environment. +::::{step} Install knowledge base content from the AI assistant UI - {{kib}} only installs documentation when the ZIP file names and version segment match Elastic’s published artifacts for your stack. Without those files, the install can't succeed. +The steps to install knowledge base content depend on the assistant that you use: -2. **Stage the ZIP files on your CDN origin.** +* **AI Assistant for Security**: Refer to [Give AI Assistant access to Elastic’s product documentation](/solutions/security/ai/ai-assistant-knowledge-base.md#elastic-docs). +* **AI Assistant for Observability and Search**: Refer to [Add Elastic documentation](/solutions/observability/ai/observability-ai-assistant.md#obs-ai-product-documentation). + +:::: - Upload all four files to one folder on the CDN origin or on the storage your CDN pulls from so they share a single base path. In the next step, you add a listing file to this same folder. Later you set [`xpack.productDocBase.artifactRepositoryUrl`](kibana://reference/configuration-reference/ai-assistant-settings.md) to that folder’s HTTPS URL. +::::: - One folder under one HTTPS base URL lets {{kib}} request the listing and fetch each ZIP from the same base URL, which matches how the S3-compatible flow works. +:::::: -3. **Create the listing file {{kib}} uses to discover the ZIP file names.** +::::::{tab-item} Local files on the {{kib}} host - Copy the template below and set each `` to match your artifact file names and {{kib}} version. For example, for {{kib}} 9.1, replace every `9.0` in the keys with `9.1`. +### Use a local path on the {{kib}} host - ```xml - - kibana-ai-assistant-kb-artifacts - false - - kb-product-doc-elasticsearch-9.0.zip - - - kb-product-doc-kibana-9.0.zip - - - kb-product-doc-observability-9.0.zip - - - kb-product-doc-security-9.0.zip - - - ``` +```{applies_to} +self: ga 9.1+ +``` - Put the XML file in the **same folder** as the four ZIP files. Configure the CDN so a request to the folder’s HTTPS URL returns this XML as the **directory index** (your provider may call this a default document or index file). The exact control varies by CDN. +When {{kib}} can’t reach Elastic’s public host over HTTPS but can read local disk, you can point `artifactRepositoryUrl` at a directory on the {{kib}} host using a `file://` URI. - A CDN does not implement S3’s listing API, so this XML stands in for the listing a bucket would return. {{kib}} requests that listing from the folder base URL, then downloads each ZIP by name from the same origin. The keys in the XML must match the files you uploaded, and the CDN must serve the XML at that URL. +:::::{stepper} -4. **Tell {{kib}} where to download the artifacts from your CDN mirror.** +::::{step} Get the product documentation ZIP files for your {{kib}} version - In `kibana.yml`, set `xpack.productDocBase.artifactRepositoryUrl` to the HTTPS base URL of the folder from step 2. It will be the same URL whose index serves the XML from step 3. Do not add an extra path segment beyond that folder. +:::{tip} +Check which stack version you’re running (for example, 9.0). The `{{versionMajor}}.{{versionMinor}}` segment in each file name must match that release. If it doesn’t match your {{kib}} release, or the file names differ from what Elastic publishes for that release, installation will fail. +::: - For example: +Put the four version-matched bundles in one directory on the {{kib}} host. File names use this pattern: - ```yaml - # Replace with your CDN folder’s HTTPS base URL (no extra path beyond the repository root) - xpack.productDocBase.artifactRepositoryUrl: "" - ``` +```yaml +kb-product-doc-{{productName}}-{{versionMajor}}.{{versionMinor}}.zip +``` - {{kib}} must use one base URL for both the listing response and the ZIP downloads; a deeper path breaks that contract. +For example, when {{kib}} is 9.0: +* `kb-product-doc-elasticsearch-9.0.zip` +* `kb-product-doc-kibana-9.0.zip` +* `kb-product-doc-observability-9.0.zip` +* `kb-product-doc-security-9.0.zip` -5. **Restart {{kib}} so the configuration change takes effect.** +Download all four from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) when you can reach that host, or copy them from another trusted source that already hosts the same bundles if you’re fully offline. - [Stop and restart](/deploy-manage/maintenance/start-stop-services/start-stop-kibana.md) {{kib}}. The new `artifactRepositoryUrl` value in your `kibana.yml` isn't applied until {{kib}} fully restarts. +:::: -6. **Install product documentation in the AI assistant UI.** +::::{step} Set the repository URL in {{kib}} - The steps depend on which assistant you use: +Set [`xpack.productDocBase.artifactRepositoryUrl`](kibana://reference/configuration-reference/ai-assistant-settings.md) to the `file://` URL of that directory. - * **AI Assistant for Security**: Product documentation is available when you enable Knowledge Base. Refer to [Give AI Assistant access to Elastic’s product documentation](/solutions/security/ai/ai-assistant-knowledge-base.md#elastic-docs) to learn more. - * **AI Assistant for Observability and Search**: On the **Settings** tab of AI Assistant Settings, use **Install Elastic Documentation**. Refer to [Add Elastic documentation](/solutions/observability/ai/observability-ai-assistant.md#obs-ai-product-documentation) to learn more. +:::{important} +With a `file://` repository, the directory must sit on the {{kib}} host, or on storage mounted there. It must also be readable by the user that runs {{kib}}. Use the `file://` URL of the folder that directly contains the four ZIPs. **Do not** point at a parent directory. File names must stay exactly as in the previous step, or {{kib}} won’t pick up the bundles. +::: :::: -::::{tab-item} Local files on the {{kib}} host +::::{step} Restart {{kib}} -```{applies_to} -self: ga 9.1+ -``` +[Stop and restart](/deploy-manage/maintenance/start-stop-services/start-stop-kibana.md) {{kib}}. -You can install product documentation by placing Elastic’s published ZIP files in a directory on the {{kib}} host that {{kib}} can read. {{kib}} uses those files to install the product documentation that AI assistant relies on when answering questions about Elastic products. +:::: + +::::{step} Install knowledge base content from the AI assistant UI + +The steps to install knowledge base content depend on the assistant that you use: -To set this up, configure [`xpack.productDocBase.artifactRepositoryUrl`](kibana://reference/configuration-reference/ai-assistant-settings.md) as a `file://` URL and place the ZIP files in that directory. +* **AI Assistant for Security**: Refer to [Give AI Assistant access to Elastic’s product documentation](/solutions/security/ai/ai-assistant-knowledge-base.md#elastic-docs). +* **AI Assistant for Observability and Search**: Refer to [Add Elastic documentation](/solutions/observability/ai/observability-ai-assistant.md#obs-ai-product-documentation). :::: ::::: + +:::::: + +::::::: diff --git a/explore-analyze/ai-features/llm-guides/connect-to-lmstudio-observability.md b/explore-analyze/ai-features/llm-guides/connect-to-lmstudio-observability.md index 1ab45b7e23..8e4bc4b65c 100644 --- a/explore-analyze/ai-features/llm-guides/connect-to-lmstudio-observability.md +++ b/explore-analyze/ai-features/llm-guides/connect-to-lmstudio-observability.md @@ -154,4 +154,4 @@ While local (open-weight) LLMs offer greater privacy and control, they generally Local LLMs in air-gapped environments have specific installation and configuration instructions for deploying ELSER and configuring product documentation. Refer to the following links for more information: - [Deploy ELSER in an air-gapped environment](/explore-analyze/machine-learning/nlp/ml-nlp-elser.md#air-gapped-install) -- [Configure your mirror (product documentation)](/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md#configuring-product-doc-isolated-restricted-airgap) \ No newline at end of file +- [Host a knowledge base artifact repo for AI assistants](/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md) \ No newline at end of file diff --git a/redirects.yml b/redirects.yml index 7bc60790d8..c6a6cc0024 100644 --- a/redirects.yml +++ b/redirects.yml @@ -842,10 +842,3 @@ redirects: # Renamed for SEO - URL now matches page title 'solutions/security/detect-and-alert/requirements-privileges.md': 'solutions/security/detect-and-alert/turn-on-detections.md' - -# Product documentation mirror page — section headings renamed; preserve deep links - 'explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md': - to: 'explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md' - anchors: - 'before-you-begin': 'prepare-to-host-your-documentation-mirror' - 'plan-documentation-mirror': 'prepare-to-host-your-documentation-mirror' diff --git a/solutions/observability/ai/observability-ai-assistant.md b/solutions/observability/ai/observability-ai-assistant.md index ff05046a63..3d0a277bd3 100644 --- a/solutions/observability/ai/observability-ai-assistant.md +++ b/solutions/observability/ai/observability-ai-assistant.md @@ -484,7 +484,7 @@ You can make the official Elastic documentation available to the AI Assistant, w Enable this feature from the **Settings** tab in AI Assistant Settings by using the "Install Elastic Documentation" action. ::::{important} -For air-gapped environments or environments where outbound traffic must go through an HTTP proxy, installing product documentation requires special configuration. Refer to the [{{kib}} AI Assistants settings documentation](kibana://reference/configuration-reference/ai-assistant-settings.md) for detailed instructions. +For air-gapped environments or environments where outbound traffic must go through an HTTP proxy, installing product documentation requires special configuration. Refer to the [Knowledge base artifact settings for AI Assistants](kibana://reference/configuration-reference/ai-assistant-settings.md) for detailed instructions. :::: ## Anonymization [obs-ai-anonymization] From 797f0be645eb5fc05cd3cef087b7d0926dfda239 Mon Sep 17 00:00:00 2001 From: Nastasha Solomon Date: Thu, 26 Mar 2026 01:07:53 -0400 Subject: [PATCH 08/14] remove numbers --- .../ai-assistant-host-doc-artifacts.md | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md index 0b18a6b6f6..0e612cedbe 100644 --- a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md +++ b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md @@ -12,21 +12,21 @@ description: Host AI assistant knowledge base artifacts via S3-compatible storag # Host a knowledge base artifact repo for AI assistants [host-knowledge-base-artifact-repo-for-ai-assistants] -When {{kib}} can't use Elastic’s [public artifact URL](https://kibana-knowledge-base-artifacts.elastic.co/), which is common for deployments in air-gapped or restricted networks, you must deploy the knowledge base artifact repository manually. +When {{kib}} can't use Elastic’s [public artifact URL](https://kibana-knowledge-base-artifacts.elastic.co/), which is common for deployments in air-gapped or restricted networks, you must deploy the knowledge base artifact repository manually. You do that by mirroring Elastic’s versioned knowledge base artifact ZIP files to infrastructure that {{kib}} can reach. -Deploying the artifact repository manually requires you to mirror Elastic’s versioned ZIP bundles to infrastructure that {{kib}} can reach, then install knowledge base content from the AI assistant UI. +This page walks you through hosting those ZIP files, configuring the repository URL in {{kib}}, and installing knowledge base content from the AI assistant so assistants can use Elastic product documentation without reaching Elastic’s public artifact host. ## Choose a hosting option [choose-a-hosting-option-for-knowledge-base-artifacts] -Use this list to figure out the best deployment and hosting option for your environment, then go to the [Deploy the repository](#deploy-the-knowledge-base-artifact-repository) section for detailed steps. +Use this list to figure out the best deployment and hosting setup for your environment, then go to the [Deploy the repository](#deploy-the-knowledge-base-artifact-repository) section for detailed steps. -* **S3-compatible bucket**: You store the bundles in an S3-compatible bucket over HTTPS and the bucket exposes a normal object listing at the repository root, so {{kib}} can discover the ZIPs without you maintaining a separate listing XML file (unlike the CDN option). -* **CDN**: You serve the bundles through a CDN and publish S3-style listing XML yourself, served as the folder’s default document or directory index. -* **Local files on the {{kib}} host**: The bundles exist only as files on the {{kib}} host and you configure a `file://` repository URL. Requires {{kib}} 9.1 or later. +* **S3-compatible bucket**: You store the artifact ZIP files in an S3-compatible bucket over HTTPS and the bucket exposes a normal object listing at the repository root, so {{kib}} can discover the ZIPs without you maintaining a separate listing XML file (unlike the CDN option). +* **CDN**: You serve the ZIP files through a CDN and publish S3-style listing XML yourself, served as the folder’s default document or directory index. +* **Local files on the {{kib}} host**: The ZIP files exist only on the {{kib}} host filesystem and you configure a `file://` repository URL. Requires {{kib}} 9.1 or later. ## Deploy the repository [deploy-the-knowledge-base-artifact-repository] -Open the tab that matches your deployment and hosting setup, then complete the steps in that tab. +Choose the tab that matches your deployment and hosting setup: :::::::{tab-set} @@ -44,36 +44,36 @@ An S3-compatible bucket can expose a listing comparable to Elastic’s public bu Check which stack version you’re running (for example, 9.0). The `{{versionMajor}}.{{versionMinor}}` segment in each file name must match that release. If it doesn’t match your {{kib}} release, or the file names differ from what Elastic publishes for that release, installation will fail. ::: -Elastic publishes four knowledge base artifact bundles for each minor version, one each for {{es}}, {{kib}}, {{observability}}, and {{elastic-sec}}. File names follow this pattern: +Elastic publishes knowledge base artifact ZIP files for each minor version, one each for {{es}}, {{kib}}, {{observability}}, and {{elastic-sec}}. File names follow this pattern: ```yaml kb-product-doc-{{productName}}-{{versionMajor}}.{{versionMinor}}.zip ``` -For example, when {{kib}} is 9.0, the four ZIP files are: +For example, when {{kib}} is 9.0, the ZIP files are: * `kb-product-doc-elasticsearch-9.0.zip` * `kb-product-doc-kibana-9.0.zip` * `kb-product-doc-observability-9.0.zip` * `kb-product-doc-security-9.0.zip` -Download all four from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) when you can reach that host, or copy them from another trusted source that already hosts the same bundles if you’re fully offline. +Download the ZIP files from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) when you can reach that host, or copy them from another trusted source that already hosts the same ZIP files if you’re fully offline. :::: -::::{step} Upload the artifacts to your bucket +::::{step} Upload the ZIP files to your bucket -Configure the bucket root so its listing matches `https://kibana-knowledge-base-artifacts.elastic.co/` and lists all four ZIPs. Over HTTPS, use S3-style listing from a compatible bucket. +Configure the bucket root so its listing matches `https://kibana-knowledge-base-artifacts.elastic.co/` and lists all ZIPs. Over HTTPS, use S3-style listing from a compatible bucket. :::{important} -For S3-compatible storage, a single HTTPS repository root must expose the bucket’s list response (the same S3-style listing {{kib}} would get from `ListObjects`-style APIs) and the four object keys at that same root. **Do not** rely on a separate path for the ZIPs. Object key names must match the bundle file names from the previous step so each listing entry resolves to a downloadable ZIP. +For S3-compatible storage, a single HTTPS repository root must expose the bucket’s list response (the same S3-style listing {{kib}} would get from `ListObjects`-style APIs) and the object keys at that same root. **Do not** rely on a separate path for the ZIPs. Object key names must match the ZIP file names from the previous step so each listing entry resolves to a downloadable file. ::: :::: ::::{step} Set the repository URL in {{kib}} -In `kibana.yml`, set [`xpack.productDocBase.artifactRepositoryUrl`](kibana://reference/configuration-reference/ai-assistant-settings.md) to the bucket root’s HTTPS URL (the base that serves both the listing and the four ZIPs). **Do not** point it at a subdirectory of that root. +In `kibana.yml`, set [`xpack.productDocBase.artifactRepositoryUrl`](kibana://reference/configuration-reference/ai-assistant-settings.md) to the bucket root’s HTTPS URL (the base that serves both the listing and the ZIPs). **Do not** point it at a subdirectory of that root. ```yaml # Replace with your bucket’s HTTPS base URL (repository root only) @@ -115,26 +115,26 @@ Deploying with a CDN matches the S3 flow, except you must publish a bucket-listi Check which stack version you’re running (for example, 9.0). The `{{versionMajor}}.{{versionMinor}}` segment in each file name must match that release. If it doesn’t match your {{kib}} release, or the file names differ from what Elastic publishes for that release, installation will fail. ::: -Elastic publishes four knowledge base artifact bundles for each minor version, one each for {{es}}, {{kib}}, {{observability}}, and {{elastic-sec}}. File names follow this pattern: +Elastic publishes knowledge base artifact ZIP files for each minor version, one each for {{es}}, {{kib}}, {{observability}}, and {{elastic-sec}}. File names follow this pattern: ```yaml kb-product-doc-{{productName}}-{{versionMajor}}.{{versionMinor}}.zip ``` -For example, when {{kib}} is 9.0, the four ZIP files are: +For example, when {{kib}} is 9.0, the ZIP files are: * `kb-product-doc-elasticsearch-9.0.zip` * `kb-product-doc-kibana-9.0.zip` * `kb-product-doc-observability-9.0.zip` * `kb-product-doc-security-9.0.zip` -Download all four from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) when you can reach that host, or copy them from another trusted source that already hosts the same bundles if you’re fully offline. +Download the ZIP files from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) when you can reach that host, or copy them from another trusted source that already hosts the same ZIP files if you’re fully offline. :::: -::::{step} Upload the artifacts to the CDN +::::{step} Upload the ZIP files to the CDN -Put all four ZIP files in one folder on the CDN origin (or backing storage) so they share a single HTTPS base path. You add the listing XML in the next step and wire the CDN to serve it as that folder’s index. +Put all ZIP files in one folder on the CDN origin (or backing storage) so they share a single HTTPS base path. You add the listing XML in the next step and wire the CDN to serve it as that folder’s index. :::: @@ -217,7 +217,7 @@ When {{kib}} can’t reach Elastic’s public host over HTTPS but can read local Check which stack version you’re running (for example, 9.0). The `{{versionMajor}}.{{versionMinor}}` segment in each file name must match that release. If it doesn’t match your {{kib}} release, or the file names differ from what Elastic publishes for that release, installation will fail. ::: -Put the four version-matched bundles in one directory on the {{kib}} host. File names use this pattern: +Put the version-matched ZIP files in one directory on the {{kib}} host. File names use this pattern: ```yaml kb-product-doc-{{productName}}-{{versionMajor}}.{{versionMinor}}.zip @@ -230,7 +230,7 @@ For example, when {{kib}} is 9.0: * `kb-product-doc-observability-9.0.zip` * `kb-product-doc-security-9.0.zip` -Download all four from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) when you can reach that host, or copy them from another trusted source that already hosts the same bundles if you’re fully offline. +Download the ZIP files from [kibana-knowledge-base-artifacts.elastic.co](https://kibana-knowledge-base-artifacts.elastic.co/) when you can reach that host, or copy them from another trusted source that already hosts the same ZIP files if you’re fully offline. :::: @@ -239,7 +239,7 @@ Download all four from [kibana-knowledge-base-artifacts.elastic.co](https://kiba Set [`xpack.productDocBase.artifactRepositoryUrl`](kibana://reference/configuration-reference/ai-assistant-settings.md) to the `file://` URL of that directory. :::{important} -With a `file://` repository, the directory must sit on the {{kib}} host, or on storage mounted there. It must also be readable by the user that runs {{kib}}. Use the `file://` URL of the folder that directly contains the four ZIPs. **Do not** point at a parent directory. File names must stay exactly as in the previous step, or {{kib}} won’t pick up the bundles. +With a `file://` repository, the directory must sit on the {{kib}} host, or on storage mounted there. It must also be readable by the user that runs {{kib}}. Use the `file://` URL of the folder that directly contains the ZIPs. **Do not** point at a parent directory. File names must stay exactly as in the previous step, or {{kib}} won’t pick up the ZIP files. ::: :::: From 36c03480898da93c6118348c71c1d30029fc997a Mon Sep 17 00:00:00 2001 From: Nastasha Solomon Date: Thu, 26 Mar 2026 13:02:47 -0400 Subject: [PATCH 09/14] more changes --- .../deploy/self-managed/air-gapped-install.md | 10 +--------- .../ai-assistant-host-doc-artifacts.md | 14 +------------- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/deploy-manage/deploy/self-managed/air-gapped-install.md b/deploy-manage/deploy/self-managed/air-gapped-install.md index 41b5cc7064..7cb08fde9d 100644 --- a/deploy-manage/deploy/self-managed/air-gapped-install.md +++ b/deploy-manage/deploy/self-managed/air-gapped-install.md @@ -454,12 +454,4 @@ Some {{ml}} features, like natural language processing (NLP), require you to dep ## {{kib}} Product documentation for AI Assistants [air-gapped-kibana-product-documentation] -Installing the AI Assistant knowledge base content (Elastic documentation and Security Labs) requires network access to the artifact repository at `https://kibana-knowledge-base-artifacts.elastic.co`. - -{applies_to}`self: ga 9.4` In environments where outbound traffic must go through an HTTP proxy, you can configure {{kib}} to reach the artifact repository through the proxy by adding the following to `kibana.yml`: - -```yaml -xpack.productDocBase.artifactRepositoryProxyUrl: "https://my-proxy-host:port" -``` - -For fully air-gapped environments where no external network access is available, refer to [Host a knowledge base artifact repo for AI assistants](../../../explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md) for how to manually deploy the knowledge base artifact repository or use a `file://` path for {{kib}}, and to the [{{kib}} AI Assistants settings](kibana://reference/configuration-reference/ai-assistant-settings.md) reference for configuration fields. +Installing the AI Assistant knowledge base content (Elastic documentation and Security Labs) requires network access to the artifact repository at `https://kibana-knowledge-base-artifacts.elastic.co/`. If you don't have access, which is common for deployments in air-gapped or restricted networks, you must deploy the knowledge base artifact repository manually. For details, refer to [Host a knowledge base artifact repo for AI assistants](../../../explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md). \ No newline at end of file diff --git a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md index 0e612cedbe..7635f086e9 100644 --- a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md +++ b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md @@ -22,7 +22,7 @@ Use this list to figure out the best deployment and hosting setup for your envir * **S3-compatible bucket**: You store the artifact ZIP files in an S3-compatible bucket over HTTPS and the bucket exposes a normal object listing at the repository root, so {{kib}} can discover the ZIPs without you maintaining a separate listing XML file (unlike the CDN option). * **CDN**: You serve the ZIP files through a CDN and publish S3-style listing XML yourself, served as the folder’s default document or directory index. -* **Local files on the {{kib}} host**: The ZIP files exist only on the {{kib}} host filesystem and you configure a `file://` repository URL. Requires {{kib}} 9.1 or later. +* {applies_to}`self: ga 9.1+` **Local files on the {{kib}} host**: The ZIP files exist only on the {{kib}} host filesystem and you configure a `file://` repository URL. ## Deploy the repository [deploy-the-knowledge-base-artifact-repository] @@ -32,10 +32,6 @@ Choose the tab that matches your deployment and hosting setup: ::::::{tab-item} S3-compatible bucket -### Deploy using an S3-compatible bucket - -An S3-compatible bucket can expose a listing comparable to Elastic’s public bucket, so {{kib}} can read the index and fetch the ZIP files without maintaining listing XML manually. - :::::{stepper} ::::{step} Get the product documentation ZIP files for your {{kib}} version @@ -103,10 +99,6 @@ The steps to install knowledge base content depend on the assistant that you use ::::::{tab-item} CDN -### Deploy to a CDN - -Deploying with a CDN matches the S3 flow, except you must publish a bucket-listing XML file and configure the CDN to serve it as the folder’s directory index (default document). - :::::{stepper} ::::{step} Get the product documentation ZIP files for your {{kib}} version @@ -201,14 +193,10 @@ The steps to install knowledge base content depend on the assistant that you use ::::::{tab-item} Local files on the {{kib}} host -### Use a local path on the {{kib}} host - ```{applies_to} self: ga 9.1+ ``` -When {{kib}} can’t reach Elastic’s public host over HTTPS but can read local disk, you can point `artifactRepositoryUrl` at a directory on the {{kib}} host using a `file://` URI. - :::::{stepper} ::::{step} Get the product documentation ZIP files for your {{kib}} version From 97df5f97349c20211852d2ccec98247f24c390c2 Mon Sep 17 00:00:00 2001 From: Nastasha Solomon Date: Thu, 26 Mar 2026 13:03:13 -0400 Subject: [PATCH 10/14] tags --- .../ai-chat-experiences/ai-assistant-host-doc-artifacts.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md index 7635f086e9..e4ebbb8fdd 100644 --- a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md +++ b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md @@ -7,7 +7,7 @@ products: - id: security - id: observability - id: elasticsearch -description: Host AI assistant knowledge base artifacts via S3-compatible storage, CDN, or local paths when Kibana cannot reach Elastic’s public URL, then set the repository URL and install from the assistant UI. +description: Host AI assistant knowledge base artifacts using S3-compatible storage, CDN, or local paths when Kibana cannot reach Elastic’s public URL, then set the repository URL and install from the assistant UI. --- # Host a knowledge base artifact repo for AI assistants [host-knowledge-base-artifact-repo-for-ai-assistants] @@ -22,7 +22,7 @@ Use this list to figure out the best deployment and hosting setup for your envir * **S3-compatible bucket**: You store the artifact ZIP files in an S3-compatible bucket over HTTPS and the bucket exposes a normal object listing at the repository root, so {{kib}} can discover the ZIPs without you maintaining a separate listing XML file (unlike the CDN option). * **CDN**: You serve the ZIP files through a CDN and publish S3-style listing XML yourself, served as the folder’s default document or directory index. -* {applies_to}`self: ga 9.1+` **Local files on the {{kib}} host**: The ZIP files exist only on the {{kib}} host filesystem and you configure a `file://` repository URL. +* **Local files on the {{kib}} host** {applies_to}`stack: 9.1+`:: The ZIP files exist only on the {{kib}} host filesystem and you configure a `file://` repository URL. ## Deploy the repository [deploy-the-knowledge-base-artifact-repository] From 56d6d2326e9d61899a3eebe9e41be6c422356e09 Mon Sep 17 00:00:00 2001 From: Nastasha Solomon Date: Thu, 26 Mar 2026 13:03:49 -0400 Subject: [PATCH 11/14] extra colon --- .../ai-chat-experiences/ai-assistant-host-doc-artifacts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md index e4ebbb8fdd..d66fe88b80 100644 --- a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md +++ b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md @@ -22,7 +22,7 @@ Use this list to figure out the best deployment and hosting setup for your envir * **S3-compatible bucket**: You store the artifact ZIP files in an S3-compatible bucket over HTTPS and the bucket exposes a normal object listing at the repository root, so {{kib}} can discover the ZIPs without you maintaining a separate listing XML file (unlike the CDN option). * **CDN**: You serve the ZIP files through a CDN and publish S3-style listing XML yourself, served as the folder’s default document or directory index. -* **Local files on the {{kib}} host** {applies_to}`stack: 9.1+`:: The ZIP files exist only on the {{kib}} host filesystem and you configure a `file://` repository URL. +* **Local files on the {{kib}} host** {applies_to}`stack: 9.1+`: The ZIP files exist only on the {{kib}} host filesystem and you configure a `file://` repository URL. ## Deploy the repository [deploy-the-knowledge-base-artifact-repository] From b777f220dd89b39edbdd2785d46ef80b481f75e1 Mon Sep 17 00:00:00 2001 From: Nastasha Solomon Date: Thu, 26 Mar 2026 13:06:55 -0400 Subject: [PATCH 12/14] ga --- .../ai-chat-experiences/ai-assistant-host-doc-artifacts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md index d66fe88b80..bd4d0fabd8 100644 --- a/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md +++ b/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md @@ -22,7 +22,7 @@ Use this list to figure out the best deployment and hosting setup for your envir * **S3-compatible bucket**: You store the artifact ZIP files in an S3-compatible bucket over HTTPS and the bucket exposes a normal object listing at the repository root, so {{kib}} can discover the ZIPs without you maintaining a separate listing XML file (unlike the CDN option). * **CDN**: You serve the ZIP files through a CDN and publish S3-style listing XML yourself, served as the folder’s default document or directory index. -* **Local files on the {{kib}} host** {applies_to}`stack: 9.1+`: The ZIP files exist only on the {{kib}} host filesystem and you configure a `file://` repository URL. +* **Local files on the {{kib}} host** {applies_to}`stack: ga 9.1+`: The ZIP files exist only on the {{kib}} host filesystem and you configure a `file://` repository URL. ## Deploy the repository [deploy-the-knowledge-base-artifact-repository] From 9521013ce34bf2d36754ba8e91023a15c024dbbe Mon Sep 17 00:00:00 2001 From: Nastasha Solomon Date: Thu, 26 Mar 2026 16:40:28 -0400 Subject: [PATCH 13/14] modify ref --- solutions/security/ai/ai-assistant-knowledge-base.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/security/ai/ai-assistant-knowledge-base.md b/solutions/security/ai/ai-assistant-knowledge-base.md index 03ff0799b6..b067b7d3e8 100644 --- a/solutions/security/ai/ai-assistant-knowledge-base.md +++ b/solutions/security/ai/ai-assistant-knowledge-base.md @@ -42,7 +42,7 @@ The `Elastic AI Assistant: All` role privilege allows you to use AI Assistant an When you enable Knowledge Base, AI Assistant automatically gains access to Elastic's product documentation. This improves its answers to questions related to Elastic products and features. -In air-gapped environments or environments where outbound traffic must go through an HTTP proxy, this requires additional configuration. Refer to the [Knowledge base artifact settings for AI Assistants](kibana://reference/configuration-reference/ai-assistant-settings.md) for detailed instructions on configuring a proxy or deploying a local artifact repository. Once you complete the instructions on that page, AI Assistant will automatically gain access to Elastic's documentation as soon as you start a new conversation. +In air-gapped environments or environments where outbound traffic must go through an HTTP proxy, [additional configuration](/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md) is required. After completing this, AI Assistant automatically gains access to Elastic's documentation as soon as you start a new conversation. ## Enable Knowledge Base [enable-knowledge-base] From 4d6248f1d6bb0fe406c41f7dfd15911253fadbcf Mon Sep 17 00:00:00 2001 From: Nastasha Solomon Date: Thu, 26 Mar 2026 16:46:52 -0400 Subject: [PATCH 14/14] alignment --- solutions/security/ai/ai-assistant-knowledge-base.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/security/ai/ai-assistant-knowledge-base.md b/solutions/security/ai/ai-assistant-knowledge-base.md index b067b7d3e8..eb9646bee3 100644 --- a/solutions/security/ai/ai-assistant-knowledge-base.md +++ b/solutions/security/ai/ai-assistant-knowledge-base.md @@ -42,7 +42,7 @@ The `Elastic AI Assistant: All` role privilege allows you to use AI Assistant an When you enable Knowledge Base, AI Assistant automatically gains access to Elastic's product documentation. This improves its answers to questions related to Elastic products and features. -In air-gapped environments or environments where outbound traffic must go through an HTTP proxy, [additional configuration](/explore-analyze/ai-features/ai-chat-experiences/ai-assistant-host-doc-artifacts.md) is required. After completing this, AI Assistant automatically gains access to Elastic's documentation as soon as you start a new conversation. +For air-gapped environments or environments where outbound traffic must go through an HTTP proxy, installing product documentation requires special configuration. Refer to the [Knowledge base artifact settings for AI Assistants](kibana://reference/configuration-reference/ai-assistant-settings.md) for detailed instructions. ## Enable Knowledge Base [enable-knowledge-base]