From 82378479c47731844c20c005a502be3308c13c30 Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Mon, 18 Aug 2025 16:43:05 -0700 Subject: [PATCH 01/10] first complete draft (bad) --- .../ai/usecase-knowledge-base-walkthrough.md | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 solutions/security/ai/usecase-knowledge-base-walkthrough.md diff --git a/solutions/security/ai/usecase-knowledge-base-walkthrough.md b/solutions/security/ai/usecase-knowledge-base-walkthrough.md new file mode 100644 index 0000000000..256240549d --- /dev/null +++ b/solutions/security/ai/usecase-knowledge-base-walkthrough.md @@ -0,0 +1,101 @@ +--- +applies_to: + stack: ga 9.1 + serverless: + security: all +products: + - id: security +--- + + +# Use the AI Assistant's Knowledge Base to Supercharge Security Operations + +AI Assistant Knowledge Base feature lets you provide custom, organization-specific context to the AI Assistant, making its responses more accurate, relevant, and actionable. By adding documents, indices, and external data sources, you can tailor the assistant to your environment, SOC strategy, threat intelligence, and operational workflows. + +## Overview + +- **What is the Knowledge Base?** + - A feature that allows the AI Assistant to recall and use custom documents and indices as context for its responses. + - Supports everything from infrastructure details, on-call rotations, SOC playbooks, threat intelligence, and more. + - Entries can be private (user-specific) or global (shared across the space). + +- **Why use it?** + - Increases the utility of the Security AI Assistant by grounding answers in your organization’s real data and processes. + - Enables richer, more actionable responses for incident response, alert investigation, and SOC operations. + +## Prerequisites + +- Required privileges: `Elastic AI Assistant: All` (with sub-privileges for Knowledge Base and Field Selection/Anonymization). +- Machine Learning enabled (minimum 4 GB ML node). +- [Enable autoscaling](https://www.elastic.co/guide/en/cloud/current/autoscaling.html) is recommended. +- Knowledge Base must be enabled for each Kibana space individually. + +## Step 1: Enable the Knowledge Base + +- **From an AI Assistant conversation:** + - Open a chat, select a model, and click **Setup Knowledge Base** (button only appears if not already enabled). +- **From Security AI settings:** + - Use the global search field to find "AI Assistant for Security". + - On the **Knowledge Base** tab, click **Setup Knowledge Base**. + +> _Comment: Confirm if enabling from the conversation is available in all environments or only certain versions._ + +## Step 2: Configure Alert Context + +- AI Assistant can use up to N (configurable, up to 500) open or acknowledged alerts from the last 24 hours as context. +- Use the slider in the Knowledge Base tab to select how many alerts to include. +- Alerts are ordered by risk score and recency; building block alerts are excluded. + +> _Comment: Confirm maximum number of alerts supported for context (docs mention up to 500, but token limits may apply)._ + +## Step 3: Add Knowledge Sources + +### Add Individual Documents + +- Click **New → Document** in the Knowledge Base tab. +- Name the document, choose sharing (Global/Private), and enter content in Markdown. +- Optionally mark as "Required knowledge" to always include as context. + +### Add Indices + +- Click **New → Index**. +- Specify index name, sharing, semantic text field(s), data description, query instructions, and output fields. +- Indices must have at least one [semantic text](https://www.elastic.co/guide/en/elasticsearch/reference/current/semantic-text.html) field. + +### Add Data via Connectors or Web Crawlers + +- Use Elastic connectors (GitHub, Jira, Google Drive, S3, etc.) or web crawlers to ingest external data into indices. +- Add those indices to the Knowledge Base as above. + +> _Comment: Confirm if there are any limitations on connector types or index sizes for Knowledge Base ingestion._ + +## Step 4: Use Knowledge Base in Conversations + +- When enabled, the AI Assistant automatically leverages Knowledge Base entries to inform its responses. +- You can instruct the assistant to "remember" information during chat (creates a private document). +- Required knowledge entries are always included as context. + +## Step 5: Manage and Share Knowledge + +- Entries can be edited, deleted, or marked as required. +- Global entries affect all users in the space; private entries are user-specific. +- Elastic Security Labs research is pre-populated as global knowledge. + +## Best Practices + +- Include operational details (on-call rotations, escalation contacts, infrastructure maps). +- Add threat intelligence feeds and SOC playbooks. +- Use connectors to keep knowledge sources up-to-date automatically. +- Monitor token limits—too much context may exceed LLM limits. + +## Troubleshooting & Known Limitations + +- Token/context window limits depend on the selected LLM model. +- Large indices or too many alerts may cause errors—reduce context size if needed. +- ML node sizing and autoscaling are critical for performance. + +## Additional Resources + +- [AI Assistant Knowledge Base documentation](https://www.elastic.co/guide/en/security/current/ai-assistant-knowledge-base.html) +- [Elastic Security Labs](https://www.elastic.co/security-labs) +- [Ingest data with Elastic connectors](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-connectors.html) From 9e0d286f60282d28dc3aadfc1e773affa43dff6e Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Tue, 19 Aug 2025 11:27:40 -0700 Subject: [PATCH 02/10] adds new file to ToC --- solutions/toc.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/solutions/toc.yml b/solutions/toc.yml index 54af20115c..3839c7e167 100644 --- a/solutions/toc.yml +++ b/solutions/toc.yml @@ -507,6 +507,7 @@ toc: - file: security/ai/ai-assistant.md children: - file: security/ai/ai-assistant-knowledge-base.md + - file: solutions/security/ai/usecase-knowledge-base-walkthrough.md - file: security/ai/attack-discovery.md - file: security/ai/set-up-connectors-for-large-language-models-llm.md children: From 111e50ce29cba0c223767abb1869c36031ca7f66 Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Tue, 19 Aug 2025 14:27:45 -0700 Subject: [PATCH 03/10] fixes build error, other updates --- .../ai/ai-assistant-knowledge-base.md | 3 +- .../ai/usecase-knowledge-base-walkthrough.md | 42 +++---------------- solutions/toc.yml | 2 +- 3 files changed, 7 insertions(+), 40 deletions(-) diff --git a/solutions/security/ai/ai-assistant-knowledge-base.md b/solutions/security/ai/ai-assistant-knowledge-base.md index eeeb7f8de4..7901744fa7 100644 --- a/solutions/security/ai/ai-assistant-knowledge-base.md +++ b/solutions/security/ai/ai-assistant-knowledge-base.md @@ -27,7 +27,7 @@ AI Assistant’s Knowledge Base feature enables AI Assistant to recall specific :::: ::::{note} -It is highly recommended to [enable autoscaling](/deploy-manage/autoscaling.md#cluster-autoscaling) to use the AI Assistant Knowledge Base. +We strongly recommend you [enable autoscaling](/deploy-manage/autoscaling.md#cluster-autoscaling) before using Knowledge Base. :::: ## Role-based access control (RBAC) for Knowledge Base [knowledge-base-rbac] @@ -53,7 +53,6 @@ You must individually enable Knowledge Base for each {{kib}} space where you wan :::: - ### Option 1: Enable Knowledge Base from an AI Assistant conversation [_option_1_enable_knowledge_base_from_an_ai_assistant_conversation] Open a conversation with AI Assistant, select a large language model, then click **Setup Knowledge Base**. If the button doesn’t appear, Knowledge Base is already enabled. diff --git a/solutions/security/ai/usecase-knowledge-base-walkthrough.md b/solutions/security/ai/usecase-knowledge-base-walkthrough.md index 256240549d..72f8d1c7e3 100644 --- a/solutions/security/ai/usecase-knowledge-base-walkthrough.md +++ b/solutions/security/ai/usecase-knowledge-base-walkthrough.md @@ -8,45 +8,13 @@ products: --- -# Use the AI Assistant's Knowledge Base to Supercharge Security Operations +# Use AI Assistant's Knowledge Base to Supercharge Security Operations -AI Assistant Knowledge Base feature lets you provide custom, organization-specific context to the AI Assistant, making its responses more accurate, relevant, and actionable. By adding documents, indices, and external data sources, you can tailor the assistant to your environment, SOC strategy, threat intelligence, and operational workflows. - -## Overview - -- **What is the Knowledge Base?** - - A feature that allows the AI Assistant to recall and use custom documents and indices as context for its responses. - - Supports everything from infrastructure details, on-call rotations, SOC playbooks, threat intelligence, and more. - - Entries can be private (user-specific) or global (shared across the space). - -- **Why use it?** - - Increases the utility of the Security AI Assistant by grounding answers in your organization’s real data and processes. - - Enables richer, more actionable responses for incident response, alert investigation, and SOC operations. +This guide walks you through an example of how you can give custom information to the AI Assistant to customize it for your needs and improve the quality of its responses. It can remember everything from threat hunting playbooks, to on-call rotations, security research, infrastructure information, your team's internal communications from platforms like Slack or Teams, and more — constrained only by your creativity. ## Prerequisites -- Required privileges: `Elastic AI Assistant: All` (with sub-privileges for Knowledge Base and Field Selection/Anonymization). -- Machine Learning enabled (minimum 4 GB ML node). -- [Enable autoscaling](https://www.elastic.co/guide/en/cloud/current/autoscaling.html) is recommended. -- Knowledge Base must be enabled for each Kibana space individually. - -## Step 1: Enable the Knowledge Base - -- **From an AI Assistant conversation:** - - Open a chat, select a model, and click **Setup Knowledge Base** (button only appears if not already enabled). -- **From Security AI settings:** - - Use the global search field to find "AI Assistant for Security". - - On the **Knowledge Base** tab, click **Setup Knowledge Base**. - -> _Comment: Confirm if enabling from the conversation is available in all environments or only certain versions._ - -## Step 2: Configure Alert Context - -- AI Assistant can use up to N (configurable, up to 500) open or acknowledged alerts from the last 24 hours as context. -- Use the slider in the Knowledge Base tab to select how many alerts to include. -- Alerts are ordered by risk score and recency; building block alerts are excluded. - -> _Comment: Confirm maximum number of alerts supported for context (docs mention up to 500, but token limits may apply)._ +Before following this guide, review the [Knowlege Base](/solutions/security/ai/ai-assistant-knowledge-base.md) topic for general information and prerequisites, and [enable knowledge base](/solutions/security/ai/ai-assistant-knowledge-base.md#enable-knowledge-base). ## Step 3: Add Knowledge Sources @@ -96,6 +64,6 @@ AI Assistant Knowledge Base feature lets you provide custom, organization-specif ## Additional Resources -- [AI Assistant Knowledge Base documentation](https://www.elastic.co/guide/en/security/current/ai-assistant-knowledge-base.html) -- [Elastic Security Labs](https://www.elastic.co/security-labs) +- [Knowledge Base](https://www.elastic.co/guide/en/security/current/ai-assistant-knowledge-base.html) +- [] - [Ingest data with Elastic connectors](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-connectors.html) diff --git a/solutions/toc.yml b/solutions/toc.yml index 3839c7e167..416734be82 100644 --- a/solutions/toc.yml +++ b/solutions/toc.yml @@ -507,7 +507,7 @@ toc: - file: security/ai/ai-assistant.md children: - file: security/ai/ai-assistant-knowledge-base.md - - file: solutions/security/ai/usecase-knowledge-base-walkthrough.md + - file: security/ai/usecase-knowledge-base-walkthrough.md - file: security/ai/attack-discovery.md - file: security/ai/set-up-connectors-for-large-language-models-llm.md children: From 5c758f74d763d97cafd32150b1d482a675077e4e Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Tue, 19 Aug 2025 15:02:38 -0700 Subject: [PATCH 04/10] adds new data upload method --- .../ai/ai-assistant-knowledge-base.md | 42 +++++++++++++------ 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/solutions/security/ai/ai-assistant-knowledge-base.md b/solutions/security/ai/ai-assistant-knowledge-base.md index 7901744fa7..5145f7ec4e 100644 --- a/solutions/security/ai/ai-assistant-knowledge-base.md +++ b/solutions/security/ai/ai-assistant-knowledge-base.md @@ -104,9 +104,9 @@ When you enable Knowledge Base, it comes pre-populated with articles from [Elast -### Add an individual document [knowledge-base-add-knowledge-document] +### Add a markdown document [knowledge-base-add-knowledge-document] -Add an individual document to Knowledge Base when you want AI Assistant to remember a specific piece of information. +Add a markdown document to Knowledge Base when you want AI Assistant to remember a specific piece of information. 1. To open **Security AI settings**, use the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md) to find "AI Assistant for Security." Select the **Knowledge Base** tab. 2. Click **New → Document** and give it a name. @@ -119,17 +119,39 @@ Refer to the following video for an example of adding a document to Knowledge Ba [![Add knowledge document video](https://play.vidyard.com/rQsTujEfikpx3vv1vrbfde.jpg)](https://videos.elastic.co/watch/rQsTujEfikpx3vv1vrbfde?) +### Add a text, PDF, ODF, Word, Excel, PowerPoint, NDJSON, CSV, TSV, or log file [add-specific-file] + +To add an individual file to knowledge base, you first need to ingest it into an index and ensure that it includes a semantic text field. + +1. Access the **Upload file** interface by using the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md) to find "File upload". +2. Review the list of currently supported file formats and sizes, then select the file you want to upload. Click **Import**. +3. In the **Index name** section, name the index that will contain the data in the uploaded file. Go to the **Advanced** tab. +4. (Optional) Review and update the mappings and ingest pipeline for your new index. +5. Click **Add additional field -> Add semantic text field**. + - For **Field** select the field you want to use as a semantic text field. It should contain information that AI Assistant can use to determine whether a document is relevant to a given query. Do not select a metadata field. Click **Add**. + - For **Copy to field**, enter a name for your new semantic text field. + - For **Inference service**, use the default or select another model that's enabled in your environment. + - Click **Add**. + :::{note} + For more information about semantic search and inference models, refer to [Elasticsearch semantic_text mapping](https://www.elastic.co/search-labs/blog/semantic-search-simplified-semantic-text). + ::: +6. Click **Import**. File ingest begins and should complete within a few seconds. +7. Once your file has been ingested to an index, add it to Knowledge Base by following the steps to [add an index](#add-an-index-knowledge-base-add-knowledge-index). + +Refer to the following video for an example of this process (click to play video): + +[![Add knowledge index video](https://play.vidyard.com/Q5CjXMN4R2GYLGLUy5P177.jpg)](https://videos.elastic.co/watch/Q5CjXMN4R2GYLGLUy5P177?) + ### Add an index [knowledge-base-add-knowledge-index] -Add an index as a knowledge source when you want new information added to that index to automatically inform AI Assistant’s responses. Common security examples include asset inventories, network configuration information, on-call matrices, threat intelligence reports, and vulnerability scans. +Add an index as a knowledge source when you want information in that index to inform AI Assistant’s responses. Common security examples include asset inventories, network configuration information, on-call matrices, threat intelligence reports, and vulnerability scans. When you update the index with new information, AI Assistant will gain access to the new information. ::::{important} Indices added to Knowledge Base must have at least one field mapped as [semantic text](elasticsearch://reference/elasticsearch/mapping-reference/semantic-text.md). :::: - 1. To open **Security AI settings**, use the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md) to find "AI Assistant for Security." Select the **Knowledge Base** tab. 2. Click **New → Index**. 3. Name the knowledge source. @@ -137,21 +159,15 @@ Indices added to Knowledge Base must have at least one field mapped as [semantic 5. Under **Index**, enter the name of the index you want to use as a knowledge source. 6. Under **Field**, enter the names of one or more semantic text fields within the index. 7. Under **Data Description**, describe when this information should be used by AI Assistant. -8. Under **Query Instruction**, describe how AI Assistant should query this index to retrieve relevant information. -9. Under **Output Fields**, list the fields which should be sent to AI Assistant. If none are listed, all fields will be sent. +8. Under **Query Instruction**, describe how AI Assistant should query this index to retrieve relevant documents. +9. Under **Output Fields**, list the fields which AI Assistant should look at when reviewing documents in this index. If none are listed, all fields are sent. :::{image} /solutions/images/security-knowledge-base-add-index-config.png :alt: Knowledge base's Edit index entry menu ::: -Refer to the following video for an example of adding an index to Knowledge Base (click to play video). - - -[![Add knowledge index video](https://play.vidyard.com/Q5CjXMN4R2GYLGLUy5P177.jpg)](https://videos.elastic.co/watch/Q5CjXMN4R2GYLGLUy5P177?) - - -### Add knowledge with a connector or web crawler [knowledge-base-crawler-or-connector] +### Add knowledge to an index using a connector or web crawler [knowledge-base-crawler-or-connector] You can use an {{es}} connector or web crawler to create an index that contains data you want to add to Knowledge Base. From 348fdb80ead9f8b8e054f3661d32bc03c593e5ce Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Tue, 19 Aug 2025 15:44:37 -0700 Subject: [PATCH 05/10] minor fixes --- solutions/security/ai/ai-assistant-knowledge-base.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solutions/security/ai/ai-assistant-knowledge-base.md b/solutions/security/ai/ai-assistant-knowledge-base.md index 5145f7ec4e..e0a6eb16f5 100644 --- a/solutions/security/ai/ai-assistant-knowledge-base.md +++ b/solutions/security/ai/ai-assistant-knowledge-base.md @@ -131,12 +131,12 @@ To add an individual file to knowledge base, you first need to ingest it into an - For **Field** select the field you want to use as a semantic text field. It should contain information that AI Assistant can use to determine whether a document is relevant to a given query. Do not select a metadata field. Click **Add**. - For **Copy to field**, enter a name for your new semantic text field. - For **Inference service**, use the default or select another model that's enabled in your environment. - - Click **Add**. + - Click **Add**. The new field appears in the **Mappings** section. :::{note} - For more information about semantic search and inference models, refer to [Elasticsearch semantic_text mapping](https://www.elastic.co/search-labs/blog/semantic-search-simplified-semantic-text). + To learn more about semantic search and inference models, refer to [Elasticsearch semantic_text mapping](https://www.elastic.co/search-labs/blog/semantic-search-simplified-semantic-text). ::: 6. Click **Import**. File ingest begins and should complete within a few seconds. -7. Once your file has been ingested to an index, add it to Knowledge Base by following the steps to [add an index](#add-an-index-knowledge-base-add-knowledge-index). +7. Once your file has been ingested to an index, add it to Knowledge Base by following the steps to [add an index](#knowledge-base-add-knowledge-index). Refer to the following video for an example of this process (click to play video): From 056c4e1bd79ed6ae65d6df03dca0d71a7368acd8 Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Tue, 19 Aug 2025 17:15:43 -0700 Subject: [PATCH 06/10] Many updates. Almost ready for review --- ...ty-knowledge-base-add-on-call-rotation.png | Bin 0 -> 132345 bytes .../ai/ai-assistant-knowledge-base.md | 30 +++++--- .../ai/usecase-knowledge-base-walkthrough.md | 64 +++++++++--------- 3 files changed, 54 insertions(+), 40 deletions(-) create mode 100644 solutions/images/security-knowledge-base-add-on-call-rotation.png diff --git a/solutions/images/security-knowledge-base-add-on-call-rotation.png b/solutions/images/security-knowledge-base-add-on-call-rotation.png new file mode 100644 index 0000000000000000000000000000000000000000..14217534a4c67f6a95b88d312dd82106b72c364f GIT binary patch literal 132345 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 z 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 _Comment: Confirm if there are any limitations on connector types or index sizes for Knowledge Base ingestion._ +If information about your on-call rotation is contained in a file, you can follow the steps to [add an individual file](/solutions/security/ai/ai-assistant-knowledge-base.md#add-specific-file) to Knowledge Base. -## Step 4: Use Knowledge Base in Conversations +However, you can also copy and paste the information to directly [add it as a markdown document](/solutions/security/ai/ai-assistant-knowledge-base.md#knowledge-base-add-knowledge-document). Adding it as a markdown document is fast, and easy to update when the on-call rotation changes. -- When enabled, the AI Assistant automatically leverages Knowledge Base entries to inform its responses. +### Add your threat hunting playbooks to Knowledge Base + +If you have threat hunting playbooks stored in a GitHub repository, you can add them to Knowledge Base using the GitHub content connector. This enables AI Assistant to tell your team about your organization's standard practices for responding to a wide range of potential threats. + +1. Use the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md) to find "Content connectors". Click **+ New Connector** to open the **Create a connector** interface. +2. Follow the steps to [create a content connector](/solutions/security/get-started/content-connectors.md). This ingests your selected data into {{es}}. During setup, select `GitHub`, and configure the connector to ingest your desired data. +3. Follow the instructions to [add an index to Knowledge Base](/solutions/security/ai/ai-assistant-knowledge-base.md#). Select the index you created while setting up your new connector. + + +:::{image} /solutions/images/security-knowledge-base-add-on-call-rotation.png +:alt: Knowledge base's Edit document entry menu showing a snippet of an on call rotation document +::: + +Whichever method you use to add the information to Knowledge Base, consier making it **Required knowledge**. This will ensure that all of AI Assistant's responses are informed by the on-call rotation, even if your prompt doesn't specify that the information is relevant. This makes it more likely that AI Assistant will suggest appropriate escalation steps when you ask it about a threat. + + +## Use Knowledge Base in conversations + +AI Assistant will automatically use information you've added to Knowledge Base to inform its responses to your questions. With the information we've added in this example - You can instruct the assistant to "remember" information during chat (creates a private document). - Required knowledge entries are always included as context. @@ -49,19 +64,6 @@ Before following this guide, review the [Knowlege Base](/solutions/security/ai/a - Global entries affect all users in the space; private entries are user-specific. - Elastic Security Labs research is pre-populated as global knowledge. -## Best Practices - -- Include operational details (on-call rotations, escalation contacts, infrastructure maps). -- Add threat intelligence feeds and SOC playbooks. -- Use connectors to keep knowledge sources up-to-date automatically. -- Monitor token limits—too much context may exceed LLM limits. - -## Troubleshooting & Known Limitations - -- Token/context window limits depend on the selected LLM model. -- Large indices or too many alerts may cause errors—reduce context size if needed. -- ML node sizing and autoscaling are critical for performance. - ## Additional Resources - [Knowledge Base](https://www.elastic.co/guide/en/security/current/ai-assistant-knowledge-base.html) From 39af712c3ae9a88eb54cb1c0b02519b5c6a8f97d Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Tue, 19 Aug 2025 17:20:59 -0700 Subject: [PATCH 07/10] Update usecase-knowledge-base-walkthrough.md --- .../ai/usecase-knowledge-base-walkthrough.md | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/solutions/security/ai/usecase-knowledge-base-walkthrough.md b/solutions/security/ai/usecase-knowledge-base-walkthrough.md index f4d2a29785..b37a94e643 100644 --- a/solutions/security/ai/usecase-knowledge-base-walkthrough.md +++ b/solutions/security/ai/usecase-knowledge-base-walkthrough.md @@ -18,7 +18,7 @@ Before attempting to follow this guide, review the [Knowlege Base](/solutions/se ## Add relevant data from various sources to Knowledge Base -AI Assistant is more useful for incident response when it can access information about your organization's specific infrastructure, threat hunting playbooks, personnel, and processes. How you can add this data to Knowledge Base depends on its format and structure. This section provides several examples of useful data and how to add it. +AI Assistant is more useful for incident response when it can access information about your organization's specific infrastructure, threat hunting playbooks, personnel, and processes. How you can add this data to Knowledge Base depends on its format and structure. This section provides several examples of useful data and how to add it. ### Add your Slack messages to Knowledge Base @@ -36,6 +36,12 @@ If information about your on-call rotation is contained in a file, you can follo However, you can also copy and paste the information to directly [add it as a markdown document](/solutions/security/ai/ai-assistant-knowledge-base.md#knowledge-base-add-knowledge-document). Adding it as a markdown document is fast, and easy to update when the on-call rotation changes. +:::{image} /solutions/images/security-knowledge-base-add-on-call-rotation.png +:alt: Knowledge base's Edit document entry menu showing a snippet of an on call rotation document +::: + +Whichever method you use to add the information to Knowledge Base, consier making it **Required knowledge**. This will ensure that all of AI Assistant's responses are informed by the on-call rotation, even if your prompt doesn't specify that the information is relevant. This makes it more likely that AI Assistant will suggest appropriate escalation steps when you ask it about a threat. + ### Add your threat hunting playbooks to Knowledge Base If you have threat hunting playbooks stored in a GitHub repository, you can add them to Knowledge Base using the GitHub content connector. This enables AI Assistant to tell your team about your organization's standard practices for responding to a wide range of potential threats. @@ -44,28 +50,23 @@ If you have threat hunting playbooks stored in a GitHub repository, you can add 2. Follow the steps to [create a content connector](/solutions/security/get-started/content-connectors.md). This ingests your selected data into {{es}}. During setup, select `GitHub`, and configure the connector to ingest your desired data. 3. Follow the instructions to [add an index to Knowledge Base](/solutions/security/ai/ai-assistant-knowledge-base.md#). Select the index you created while setting up your new connector. +## Use Knowledge Base in conversations -:::{image} /solutions/images/security-knowledge-base-add-on-call-rotation.png -:alt: Knowledge base's Edit document entry menu showing a snippet of an on call rotation document -::: - -Whichever method you use to add the information to Knowledge Base, consier making it **Required knowledge**. This will ensure that all of AI Assistant's responses are informed by the on-call rotation, even if your prompt doesn't specify that the information is relevant. This makes it more likely that AI Assistant will suggest appropriate escalation steps when you ask it about a threat. +AI Assistant will use the information you've added to Knowledge Base to inform its responses to your prompts. With the information we've added in this example, you can ask questions like: +- Is this alert related to any ongoing incidents? +- Who should I contact to escalate this potential threat? +- What should I do to respond to this threat? -## Use Knowledge Base in conversations +Be creative, and experiment with adding different types of information to optimize AI Assistant for your team's purposes. -AI Assistant will automatically use information you've added to Knowledge Base to inform its responses to your questions. With the information we've added in this example -- You can instruct the assistant to "remember" information during chat (creates a private document). -- Required knowledge entries are always included as context. +## Video demo: investigate an Attack Discovery using AI Assistant's Knowledge Base -## Step 5: Manage and Share Knowledge +The following video demo starts with a potential threat identified using Attack Discovery, and shows how the information you've added to Knowledge Base greatly increases AI Assistant's ability to help guide your team's incident response (click to play): -- Entries can be edited, deleted, or marked as required. -- Global entries affect all users in the space; private entries are user-specific. -- Elastic Security Labs research is pre-populated as global knowledge. +[![Add knowledge index video](https://play.vidyard.com/SGrcygEFBCEJRURGjR8sMh.jpg)](https://videos.elastic.co/watch/SGrcygEFBCEJRURGjR8sMh?) ## Additional Resources -- [Knowledge Base](https://www.elastic.co/guide/en/security/current/ai-assistant-knowledge-base.html) -- [] -- [Ingest data with Elastic connectors](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-connectors.html) +- Learn more about [Knowledge Base](https://www.elastic.co/guide/en/security/current/ai-assistant-knowledge-base.html) +- Learn to [Ingest data with Elastic connectors](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-connectors.html) From c8a3025d70fdb54989f0eb94e6e7e3927a9f1f78 Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Tue, 19 Aug 2025 17:30:50 -0700 Subject: [PATCH 08/10] fixes tag --- 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 f19b1f0a60..38f4501a70 100644 --- a/solutions/security/ai/ai-assistant-knowledge-base.md +++ b/solutions/security/ai/ai-assistant-knowledge-base.md @@ -157,7 +157,7 @@ Indices added to Knowledge Base must have at least one field mapped as [semantic 6. Under **Field**, enter the names of one or more semantic text fields within the index. :::{note} - {applies_to}`stack: ga 9.1` {applies_to}`serverless: security` You can use a text field instead of a semantic text field, though semantic text fields still offer better performance. + {applies_to}`stack: ga 9.1` {applies_to}`serverless: ga` You can use a text field instead of a semantic text field, though semantic text fields still offer better performance. ::: 7. Under **Data Description**, describe when this information should be used by AI Assistant. From 1eb247409e87c4a5b1e12caebcf244bbf78b6a5c Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Tue, 19 Aug 2025 17:51:50 -0700 Subject: [PATCH 09/10] updates applies to formatting --- solutions/security/ai/ai-assistant-knowledge-base.md | 11 ++++------- .../security/ai/usecase-knowledge-base-walkthrough.md | 4 ++-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/solutions/security/ai/ai-assistant-knowledge-base.md b/solutions/security/ai/ai-assistant-knowledge-base.md index 38f4501a70..0e7e345d4d 100644 --- a/solutions/security/ai/ai-assistant-knowledge-base.md +++ b/solutions/security/ai/ai-assistant-knowledge-base.md @@ -146,7 +146,9 @@ Refer to the following video for an example of this process (click to play video Add an index as a knowledge source when you want information in that index to inform AI Assistant’s responses. Common security examples include asset inventories, network configuration information, on-call matrices, threat intelligence reports, and vulnerability scans. When you update the index with new information, AI Assistant will gain access to the new information. ::::{important} -Indices added to Knowledge Base must have at least one field mapped as [semantic text](elasticsearch://reference/elasticsearch/mapping-reference/semantic-text.md). +Indices added to Knowledge Base must have at least one field mapped as [semantic text](elasticsearch://reference/elasticsearch/mapping-reference/semantic-text.md). + +{applies_to}`stack: ga 9.1` {applies_to}`serverless: ga` You can use a text field instead of a semantic text field, though semantic text fields still offer better performance. :::: 1. To open **Security AI settings**, use the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md) to find "AI Assistant for Security." Select the **Knowledge Base** tab. @@ -154,12 +156,7 @@ Indices added to Knowledge Base must have at least one field mapped as [semantic 3. Name the knowledge source. 4. Under **Sharing**, select whether this knowledge should be **Global** or **Private**. 5. Under **Index**, enter the name of the index you want to use as a knowledge source. -6. Under **Field**, enter the names of one or more semantic text fields within the index. - - :::{note} - {applies_to}`stack: ga 9.1` {applies_to}`serverless: ga` You can use a text field instead of a semantic text field, though semantic text fields still offer better performance. - ::: - +6. Under **Field**, enter the names of one or more semantic text ({applies_to}`stack: ga 9.1` {applies_to}`serverless: ga` or text) fields within the index. 7. Under **Data Description**, describe when this information should be used by AI Assistant. 8. Under **Query Instruction**, describe how AI Assistant should query this index to retrieve relevant documents. 9. Under **Output Fields**, list the fields which AI Assistant should look at when reviewing documents in this index. If none are listed, all fields are sent. diff --git a/solutions/security/ai/usecase-knowledge-base-walkthrough.md b/solutions/security/ai/usecase-knowledge-base-walkthrough.md index b37a94e643..32c8754ab8 100644 --- a/solutions/security/ai/usecase-knowledge-base-walkthrough.md +++ b/solutions/security/ai/usecase-knowledge-base-walkthrough.md @@ -40,7 +40,7 @@ However, you can also copy and paste the information to directly [add it as a ma :alt: Knowledge base's Edit document entry menu showing a snippet of an on call rotation document ::: -Whichever method you use to add the information to Knowledge Base, consier making it **Required knowledge**. This will ensure that all of AI Assistant's responses are informed by the on-call rotation, even if your prompt doesn't specify that the information is relevant. This makes it more likely that AI Assistant will suggest appropriate escalation steps when you ask it about a threat. +Whichever method you use to add the information to Knowledge Base, consider making it **Required knowledge**. This will ensure that all of AI Assistant's responses are informed by the on-call rotation, even if your prompt doesn't specify that the information is relevant. This makes it more likely that AI Assistant will suggest appropriate escalation steps when you ask it about a threat. ### Add your threat hunting playbooks to Knowledge Base @@ -62,7 +62,7 @@ Be creative, and experiment with adding different types of information to optimi ## Video demo: investigate an Attack Discovery using AI Assistant's Knowledge Base -The following video demo starts with a potential threat identified using Attack Discovery, and shows how the information you've added to Knowledge Base greatly increases AI Assistant's ability to help guide your team's incident response (click to play): +The following video demo starts with a potential threat identified using Attack Discovery, and shows how the information you've added to Knowledge Base greatly increases AI Assistant's ability to help guide your team's incident response (click to play video): [![Add knowledge index video](https://play.vidyard.com/SGrcygEFBCEJRURGjR8sMh.jpg)](https://videos.elastic.co/watch/SGrcygEFBCEJRURGjR8sMh?) From db1a62eaec7b0b2dbbe7903ba0bf4d8fb171b9f3 Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Wed, 20 Aug 2025 09:31:41 -0700 Subject: [PATCH 10/10] adds related link --- solutions/security/ai/ai-assistant-knowledge-base.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/solutions/security/ai/ai-assistant-knowledge-base.md b/solutions/security/ai/ai-assistant-knowledge-base.md index 0e7e345d4d..168e0186bb 100644 --- a/solutions/security/ai/ai-assistant-knowledge-base.md +++ b/solutions/security/ai/ai-assistant-knowledge-base.md @@ -179,7 +179,7 @@ Once you've set up a content connector, data from the selected source is ingeste #### Use a web crawler to add threat intelligence to Knowledge Base [_use_a_web_crawler_to_add_threat_intelligence_to_knowledge_base] -First, you’ll need to set up a web crawler to add the desired data to an index, then you’ll need to add that index to Knowledge Base. For more information on web crawlers, refer to [Elastic web crawler](https://www.elastic.co/guide/en/enterprise-search/current/crawler.html). +First, you’ll need to set up a web crawler to add the desired data to an index, then you’ll need to add that index to Knowledge Base. For more information on web crawlers, refer to [web crawlers](https://www.elastic.co/guide/en/enterprise-search/current/crawler.html). 1. From the **Search** section of {{kib}}, find **Web crawlers** in the navigation menu or use the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). 2. Click **New web crawler**. @@ -213,5 +213,6 @@ Refer to the following video for an example of creating a web crawler to ingest ## Additional resources +- For a walkthrough of how Knowledge Base can improve the quality of AI Assistant's responses, refer to [Use AI Assistant's Knowledge Base to improve response quality](/solutions/security/ai/usecase-knowledge-base-walkthrough.md). - To learn more about semantic search and inference models, refer to [Elasticsearch semantic_text mapping](https://www.elastic.co/search-labs/blog/semantic-search-simplified-semantic-text). -- For a walkthrough of how Knowledge Base can improve the quality of AI Assistant's responses, refer to [Use AI Assistant's Knowledge Base to improve response quality](/solutions/security/ai/usecase-knowledge-base-walkthrough.md). \ No newline at end of file +- For more information about how the data in Knowledge Base gets chunked, refer to [Intelligent RAG data chunking](https://www.elastic.co/search-labs/blog/advanced-chunking-fetch-surrounding-chunks). \ No newline at end of file