update knowledge base installation flow#214133
Conversation
|
Pinging @elastic/obs-ai-assistant (Team:Obs AI Assistant) |
|
I tried testing the component and nearly all the unit tests were failing https://github.com/elastic/kibana/blob/main/x-pack/platform/packages/shared/kbn-ai-assistant/src/chat/welcome_message_knowledge_base.test.tsx . We should update/add tests to track every possible state this component could be in as it's very prone to regressions because there are so many states and we are trying to map ML stats and the inference endpoint state to the concept of an installation state and a general health state. |
| * 2.0; you may not use this file except in compliance with the Elastic License | ||
| * 2.0. | ||
| */ | ||
|
|
There was a problem hiding this comment.
was this file not in use? I wonder why it stopped being used. It has the messaging "Improve your experience by setting up the knowledge base." which seems like what we should show users who haven't yet installed it instead of "You knowledge base hasn't been setup".
CC @isaclfreire
There was a problem hiding this comment.
it wasn’t being used. that's why I deleted it, should we keep it in case we want to use it in the future @isaclfreire?
|
@arturoliduena Just a heads up, and certainly not a blocker to this PR: the "error state" is currently being unified between A lot of this feedback is useful to @isaclfreire and @julianrosado, as it's an early indication of whether the new design is going to cover the edge cases. That said, I'd happily work with you to revise this PR to adopt the new error state design! Let me know where this stands in your current workload. Regardless, I'll be in touch to make sure the new component works as intended. |
This would be inconsistent with the unified design. |
Agreee - I don't think we should install the KB automatically. Even after selecting a model. |
|
| const MAX_ATTEMPTS = 5; | ||
|
|
||
| try { | ||
| // install |
There was a problem hiding this comment.
why was this code moved from the hook?
There was a problem hiding this comment.
The code was moved from the hook because the logic belongs to the Installation KB component. There aren’t any other components handling KB installation, so keeping it here makes it more self-contained and easier to manage.
There was a problem hiding this comment.
The component is more difficult to read with all the installation state here. I think having it in the hook was a lot neater for this amount of state complexity. I don't think the fact it's used by one component means we cannot have it there.
Also agree. Though, In that case I think we need better messaging. Right now it almost seems like we're displaying a message when something is amiss where it appears there used to be CTA messaging https://github.com/elastic/kibana/pull/214133/files#diff-e7c52625ed5cb6328bc801e2cfd5c7a96a02c5679526e0ca1458b359f4a32618L100 |
06b76b3 to
39f8301
Compare
| const prevIsInstalling = usePrevious(knowledgeBase.isInstalling); | ||
| const { notifications, ml } = useKibana().services; | ||
|
|
||
| const isInstalling = !!knowledgeBase.status.value?.endpoint && !knowledgeBase.status.value?.ready; |
There was a problem hiding this comment.
Wouldn't this mean if, for eg, deployment_stats?.allocation_status?.allocation_count became 0, we'd be showing instaling message again? That's what i'm seeing.
isInstalling used to be part of the install process: https://github.com/elastic/kibana/blob/main/x-pack/platform/packages/shared/kbn-ai-assistant/src/hooks/use_knowledge_base.tsx#L41
There was a problem hiding this comment.
We discussed this in our meeting and this is intentional. The idea is to keep the user in the "installing" process with an "inspect" if the node is being created after being scaled down. I do find this UX to be confusing as the user already "installed the knowledge base" at this point and we're showing the same message as when they first install it plus an inspect link. So a user would probably see this often depending how often auto scaling occurs? Fine with it as an improvement from the current functionality of showing the installation button. CC @isaclfreire
There was a problem hiding this comment.
Could we change the message to:
Knowledge base has been installed. Waiting for the model to be deployed on an available ML node.
or alternatively omitting anything about installing the KB and simply stating:
Waiting for the model to be deployed on an available ML node.
There was a problem hiding this comment.
That way we clearly indicate what's the holdup, thereby also helping them diagnosing the problem (no available ML nodes)
|
FYI-- I've opened #215207 which will undoubtedly impact this PR, and vice versa. I'd definitely want this team's expertise in making sure these changes are compatible with the conversations here, but also if there are any changes I can make. Keep in mind: unified generic components for Knowledge Base installation and error handling are up next. |
f48c2b1 to
c8f3cd4
Compare
x-pack/platform/packages/shared/kbn-ai-assistant/src/hooks/use_knowledge_base.tsx
Outdated
Show resolved
Hide resolved
x-pack/platform/packages/shared/kbn-ai-assistant/src/hooks/use_knowledge_base.tsx
Outdated
Show resolved
Hide resolved
x-pack/platform/packages/shared/kbn-ai-assistant/src/hooks/use_knowledge_base.tsx
Outdated
Show resolved
Hide resolved
x-pack/platform/packages/shared/kbn-ai-assistant/src/chat/welcome_message_knowledge_base.tsx
Outdated
Show resolved
Hide resolved
Keep in mind: unified generic components for Knowledge Base installation and error handling are up next. Thanks, @clintandrewhall for the heads up! I’ve reviewed the changes on #215207 to make sure we’re aligned. It seems there isn’t much overlap, so I’ll keep an eye on it and provide feedback as needed. We’re currently figuring out how to show the progress of the KB installation, so it might be best to merge this PR first and handle the UX changes in a separate PR where both (mine and yours PR) changes were apply. |
|
Hi @isaclfreire, I’d like to get your input on improving the UX for the KB installation process. There are a few areas in the setup and reconfiguration readiness deployment that are unclear, and I’d appreciate your insights. I’ll walk you through the current process:
the deployment status is show within the inspect button
3.2 error
I’d love to hear your thoughts on how we can improve this flow and make the experience clearer for the user. |
With https://github.com/elastic/obs-ai-assistant-team/issues/161 we will have to ask users to pick a model before installing the knowledge base. So I don't believe we will be able to install the KB automatically, even if we wanted to |
💔 All backports failed
Manual backportTo create the backport manually run: Questions ?Please refer to the Backport tool documentation |
|
Friendly reminder: Looks like this PR hasn’t been backported yet. |
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
## Summary Closes [elastic#209791](elastic#209791) Closes [elastic#204378](elastic#204378) ### Improve Knowledge Base Installation and Inference Endpoint Management #### Enhancements - The **"Install Knowledge Base"** button is only shown when there is no inference endpoint. If the inference endpoint creation fails, an error notification is displayed. - When an inference endpoint **exists and is ready**, no buttons or messages are shown. - If the installation was in progress and **succeeded**, a success message is displayed. - If an inference endpoint is present, users can **inspect the state of the model deployment** to diagnose issues. - When an inference endpoint exists but has an **error**, users can retry the installation. #### Inspection & Troubleshooting Users can inspect the inference endpoint's deployment status, including: - **Model is deploying** - **No ML node available** - **Insufficient memory available** https://github.com/user-attachments/assets/03a91120-173c-4dc9-b6f2-59a8c8c8defb ### Suggested Improvements - Display **autoscaling information** for better resource insights. - Show **ML node details** to help users understand the infrastructure. - Allow users to **install, deploy, and stop the model** directly from the inspection popup. These changes enhance visibility, troubleshooting, and control over inference endpoint deployment. 🚀 ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations. - [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [ ] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) ### Identify risks Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss. Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging. - [ ] [See some risk examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) - [ ] ... (cherry picked from commit 4109420) # Conflicts: # x-pack/platform/plugins/shared/observability_ai_assistant/server/service/inference_endpoint.ts # x-pack/platform/plugins/shared/observability_ai_assistant/server/service/knowledge_base_service/index.ts
|
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
1 similar comment
|
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
|
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
5 similar comments
|
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
|
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
|
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
|
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
|
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
|
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
|
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
|
Friendly reminder: Looks like this PR hasn’t been backported yet. |
4 similar comments
|
Friendly reminder: Looks like this PR hasn’t been backported yet. |
|
Friendly reminder: Looks like this PR hasn’t been backported yet. |
|
Friendly reminder: Looks like this PR hasn’t been backported yet. |
|
Friendly reminder: Looks like this PR hasn’t been backported yet. |
## Summary Closes [elastic#209791](elastic#209791) Closes [elastic#204378](elastic#204378) ### Improve Knowledge Base Installation and Inference Endpoint Management #### Enhancements - The **"Install Knowledge Base"** button is only shown when there is no inference endpoint. If the inference endpoint creation fails, an error notification is displayed. - When an inference endpoint **exists and is ready**, no buttons or messages are shown. - If the installation was in progress and **succeeded**, a success message is displayed. - If an inference endpoint is present, users can **inspect the state of the model deployment** to diagnose issues. - When an inference endpoint exists but has an **error**, users can retry the installation. #### Inspection & Troubleshooting Users can inspect the inference endpoint's deployment status, including: - **Model is deploying** - **No ML node available** - **Insufficient memory available** https://github.com/user-attachments/assets/03a91120-173c-4dc9-b6f2-59a8c8c8defb ### Suggested Improvements - Display **autoscaling information** for better resource insights. - Show **ML node details** to help users understand the infrastructure. - Allow users to **install, deploy, and stop the model** directly from the inspection popup. These changes enhance visibility, troubleshooting, and control over inference endpoint deployment. 🚀 ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations. - [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [ ] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) ### Identify risks Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss. Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging. - [ ] [See some risk examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) - [ ] ... (cherry picked from commit 4109420)
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
… Assistant] Replace Task Manager usage with Lock Manager (#216916) | update knowledge base installation flow (#214133) | [Obs AI Assistant] Specify embedding model during onboarding for the Knowledge Base (#218448) (#220041) # Backport This will backport the following commits from `main` to `8.19`: - [[Obs AI Assistant] Minor cleanup api tests (#215181)](#215181) - [[Obs AI Assistant] Replace Task Manager usage with Lock Manager (#216916)](#216916) - [update knowledge base installation flow (#214133)](#214133) - [[Obs AI Assistant] Specify embedding model during onboarding for the Knowledge Base (#218448)](#218448) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Søren Louv-Jansen","email":"soren.louv@elastic.co"},"sourceCommit":{"committedDate":"2025-03-20T09:59:59Z","message":"[Obs AI Assistant] Minor cleanup api tests (#215181)\n\n- Remove duplicated helpers\n- improve log messages\n- Clear intercepted requests after every test\n\n---------\n\nCo-authored-by: Viduni Wickramarachchi <viduni.ushanka@gmail.com>","sha":"b9cd2c80404b0a0eb8ee51257ef01bdc1a71def6","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","Team:Obs AI Assistant","ci:project-deploy-observability","v9.1.0"],"title":"[Obs AI Assistant] Minor cleanup api tests","number":215181,"url":"https://github.com/elastic/kibana/pull/215181","mergeCommit":{"message":"[Obs AI Assistant] Minor cleanup api tests (#215181)\n\n- Remove duplicated helpers\n- improve log messages\n- Clear intercepted requests after every test\n\n---------\n\nCo-authored-by: Viduni Wickramarachchi <viduni.ushanka@gmail.com>","sha":"b9cd2c80404b0a0eb8ee51257ef01bdc1a71def6"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/215181","number":215181,"mergeCommit":{"message":"[Obs AI Assistant] Minor cleanup api tests (#215181)\n\n- Remove duplicated helpers\n- improve log messages\n- Clear intercepted requests after every test\n\n---------\n\nCo-authored-by: Viduni Wickramarachchi <viduni.ushanka@gmail.com>","sha":"b9cd2c80404b0a0eb8ee51257ef01bdc1a71def6"}}]},{"author":{"name":"Søren Louv-Jansen","email":"soren.louv@elastic.co"},"sourceCommit":{"committedDate":"2025-04-08T08:13:00Z","message":"[Obs AI Assistant] Replace Task Manager usage with Lock Manager (#216916)\n\nThis PR replaces usage of the Kibana Task Manager with the [LockManager\nutility](#216397) that ensures\nstrict mutual exclusion when running operations such as re-indexing or\ndata migrations.\n\n---------\n\nCo-authored-by: Viduni Wickramarachchi <viduni.ushanka@gmail.com>\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"624410524f1a07dc72d92759464a3f4a85466c7a","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","Team:Obs AI Assistant","v9.1.0","v8.19.0"],"title":"[Obs AI Assistant] Replace Task Manager usage with Lock Manager","number":216916,"url":"https://github.com/elastic/kibana/pull/216916","mergeCommit":{"message":"[Obs AI Assistant] Replace Task Manager usage with Lock Manager (#216916)\n\nThis PR replaces usage of the Kibana Task Manager with the [LockManager\nutility](#216397) that ensures\nstrict mutual exclusion when running operations such as re-indexing or\ndata migrations.\n\n---------\n\nCo-authored-by: Viduni Wickramarachchi <viduni.ushanka@gmail.com>\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"624410524f1a07dc72d92759464a3f4a85466c7a"}},"sourceBranch":"main","suggestedTargetBranches":["8.19"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216916","number":216916,"mergeCommit":{"message":"[Obs AI Assistant] Replace Task Manager usage with Lock Manager (#216916)\n\nThis PR replaces usage of the Kibana Task Manager with the [LockManager\nutility](#216397) that ensures\nstrict mutual exclusion when running operations such as re-indexing or\ndata migrations.\n\n---------\n\nCo-authored-by: Viduni Wickramarachchi <viduni.ushanka@gmail.com>\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"624410524f1a07dc72d92759464a3f4a85466c7a"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]},{"author":{"name":"Arturo Lidueña","email":"arturo.liduena@elastic.co"},"sourceCommit":{"committedDate":"2025-04-09T09:38:41Z","message":"update knowledge base installation flow (#214133)\n\n## Summary\nCloses [#209791](https://github.com/elastic/kibana/issues/209791)\nCloses [#204378](https://github.com/elastic/kibana/issues/204378)\n### Improve Knowledge Base Installation and Inference Endpoint\nManagement\n\n#### Enhancements \n- The **\"Install Knowledge Base\"** button is only shown when there is no\ninference endpoint. If the inference endpoint creation fails, an error\nnotification is displayed.\n- When an inference endpoint **exists and is ready**, no buttons or\nmessages are shown.\n- If the installation was in progress and **succeeded**, a success\nmessage is displayed.\n- If an inference endpoint is present, users can **inspect the state of\nthe model deployment** to diagnose issues.\n- When an inference endpoint exists but has an **error**, users can\nretry the installation.\n\n#### Inspection & Troubleshooting \nUsers can inspect the inference endpoint's deployment status, including:\n- **Model is deploying** \n- **No ML node available** \n- **Insufficient memory available** \n\n\nhttps://github.com/user-attachments/assets/03a91120-173c-4dc9-b6f2-59a8c8c8defb\n\n### Suggested Improvements \n- Display **autoscaling information** for better resource insights. \n- Show **ML node details** to help users understand the infrastructure.\n- Allow users to **install, deploy, and stop the model** directly from\nthe inspection popup.\n\nThese changes enhance visibility, troubleshooting, and control over\ninference endpoint deployment. 🚀\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [ ] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n- [ ]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials\n- [ ] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n- [ ] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [ ] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n### Identify risks\n\nDoes this PR introduce any risks? For example, consider risks like hard\nto test bugs, performance regression, potential of data loss.\n\nDescribe the risk, its severity, and mitigation for each identified\nrisk. Invite stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See some risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n- [ ] ...","sha":"4109420186d586f91fd999cea0087bb8e06bfc59","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","backport missing","Team:Obs AI Assistant","backport:version","v9.1.0","v8.19.0"],"title":"update knowledge base installation flow","number":214133,"url":"https://github.com/elastic/kibana/pull/214133","mergeCommit":{"message":"update knowledge base installation flow (#214133)\n\n## Summary\nCloses [#209791](https://github.com/elastic/kibana/issues/209791)\nCloses [#204378](https://github.com/elastic/kibana/issues/204378)\n### Improve Knowledge Base Installation and Inference Endpoint\nManagement\n\n#### Enhancements \n- The **\"Install Knowledge Base\"** button is only shown when there is no\ninference endpoint. If the inference endpoint creation fails, an error\nnotification is displayed.\n- When an inference endpoint **exists and is ready**, no buttons or\nmessages are shown.\n- If the installation was in progress and **succeeded**, a success\nmessage is displayed.\n- If an inference endpoint is present, users can **inspect the state of\nthe model deployment** to diagnose issues.\n- When an inference endpoint exists but has an **error**, users can\nretry the installation.\n\n#### Inspection & Troubleshooting \nUsers can inspect the inference endpoint's deployment status, including:\n- **Model is deploying** \n- **No ML node available** \n- **Insufficient memory available** \n\n\nhttps://github.com/user-attachments/assets/03a91120-173c-4dc9-b6f2-59a8c8c8defb\n\n### Suggested Improvements \n- Display **autoscaling information** for better resource insights. \n- Show **ML node details** to help users understand the infrastructure.\n- Allow users to **install, deploy, and stop the model** directly from\nthe inspection popup.\n\nThese changes enhance visibility, troubleshooting, and control over\ninference endpoint deployment. 🚀\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [ ] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n- [ ]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials\n- [ ] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n- [ ] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [ ] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n### Identify risks\n\nDoes this PR introduce any risks? For example, consider risks like hard\nto test bugs, performance regression, potential of data loss.\n\nDescribe the risk, its severity, and mitigation for each identified\nrisk. Invite stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See some risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n- [ ] ...","sha":"4109420186d586f91fd999cea0087bb8e06bfc59"}},"sourceBranch":"main","suggestedTargetBranches":["8.19"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/214133","number":214133,"mergeCommit":{"message":"update knowledge base installation flow (#214133)\n\n## Summary\nCloses [#209791](https://github.com/elastic/kibana/issues/209791)\nCloses [#204378](https://github.com/elastic/kibana/issues/204378)\n### Improve Knowledge Base Installation and Inference Endpoint\nManagement\n\n#### Enhancements \n- The **\"Install Knowledge Base\"** button is only shown when there is no\ninference endpoint. If the inference endpoint creation fails, an error\nnotification is displayed.\n- When an inference endpoint **exists and is ready**, no buttons or\nmessages are shown.\n- If the installation was in progress and **succeeded**, a success\nmessage is displayed.\n- If an inference endpoint is present, users can **inspect the state of\nthe model deployment** to diagnose issues.\n- When an inference endpoint exists but has an **error**, users can\nretry the installation.\n\n#### Inspection & Troubleshooting \nUsers can inspect the inference endpoint's deployment status, including:\n- **Model is deploying** \n- **No ML node available** \n- **Insufficient memory available** \n\n\nhttps://github.com/user-attachments/assets/03a91120-173c-4dc9-b6f2-59a8c8c8defb\n\n### Suggested Improvements \n- Display **autoscaling information** for better resource insights. \n- Show **ML node details** to help users understand the infrastructure.\n- Allow users to **install, deploy, and stop the model** directly from\nthe inspection popup.\n\nThese changes enhance visibility, troubleshooting, and control over\ninference endpoint deployment. 🚀\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [ ] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n- [ ]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials\n- [ ] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n- [ ] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [ ] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n### Identify risks\n\nDoes this PR introduce any risks? For example, consider risks like hard\nto test bugs, performance regression, potential of data loss.\n\nDescribe the risk, its severity, and mitigation for each identified\nrisk. Invite stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See some risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n- [ ] ...","sha":"4109420186d586f91fd999cea0087bb8e06bfc59"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]},{"author":{"name":"Viduni Wickramarachchi","email":"viduni.wickramarachchi@elastic.co"},"sourceCommit":{"committedDate":"2025-05-05T08:13:10Z","message":"[Obs AI Assistant] Specify embedding model during onboarding for the Knowledge Base (#218448)\n\nCloses https://github.com/elastic/obs-ai-assistant-team/issues/230\nCloses https://github.com/elastic/obs-ai-assistant-team/issues/232\n\nRelated to https://github.com/elastic/kibana/pull/215591\n\n## Summary\n\nThis PR implements the changes related to the first phase of supporing\nmultilingual Knowledge Base. The users have the ability to pick the\n`e5-small` model for the Knowledge Base, if they want support for\nlanguages other than English.\n\n<img width=\"610\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/4c815aa4-aa97-4845-98c5-e079dd92f23a\"\n/>\n\n<img width=\"1281\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/7c1bcd82-5464-497f-a053-7fe271da1cdd\"\n/>\n\n<img width=\"1280\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/bc084e90-c291-44ea-8560-e033729bfcca\"\n/>\n\nWhen the KB model is not allocated due to nodes scaling down:\n\n\n\n\n\n### Checklist\n\n- [x] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n\n## Upgrade testing steps\n\n### 9.0 - 9.1 (main)\n\nCheckout `9.0` branch and start Kibana and ES. ES must be started with\n`path.data` to persist data:\n\n```\nyarn es snapshot --license trial --E path.data=/Users/sorenlouv/elastic/es_data/upgrade_test_9.0\n```\n\n---------\n\nCo-authored-by: Søren Louv-Jansen <soren.louv@elastic.co>\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Søren Louv-Jansen <sorenlouv@gmail.com>","sha":"dc019f85e19de28c1e2573108c47caa0080247c8","branchLabelMapping":{"^v9.1.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:feature","Team:Obs AI Assistant","ci:project-deploy-observability","backport:version","v9.1.0","v8.19.0"],"title":"[Obs AI Assistant] Specify embedding model during onboarding for the Knowledge Base","number":218448,"url":"https://github.com/elastic/kibana/pull/218448","mergeCommit":{"message":"[Obs AI Assistant] Specify embedding model during onboarding for the Knowledge Base (#218448)\n\nCloses https://github.com/elastic/obs-ai-assistant-team/issues/230\nCloses https://github.com/elastic/obs-ai-assistant-team/issues/232\n\nRelated to https://github.com/elastic/kibana/pull/215591\n\n## Summary\n\nThis PR implements the changes related to the first phase of supporing\nmultilingual Knowledge Base. The users have the ability to pick the\n`e5-small` model for the Knowledge Base, if they want support for\nlanguages other than English.\n\n<img width=\"610\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/4c815aa4-aa97-4845-98c5-e079dd92f23a\"\n/>\n\n<img width=\"1281\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/7c1bcd82-5464-497f-a053-7fe271da1cdd\"\n/>\n\n<img width=\"1280\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/bc084e90-c291-44ea-8560-e033729bfcca\"\n/>\n\nWhen the KB model is not allocated due to nodes scaling down:\n\n\n\n\n\n### Checklist\n\n- [x] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n\n## Upgrade testing steps\n\n### 9.0 - 9.1 (main)\n\nCheckout `9.0` branch and start Kibana and ES. ES must be started with\n`path.data` to persist data:\n\n```\nyarn es snapshot --license trial --E path.data=/Users/sorenlouv/elastic/es_data/upgrade_test_9.0\n```\n\n---------\n\nCo-authored-by: Søren Louv-Jansen <soren.louv@elastic.co>\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Søren Louv-Jansen <sorenlouv@gmail.com>","sha":"dc019f85e19de28c1e2573108c47caa0080247c8"}},"sourceBranch":"main","suggestedTargetBranches":["8.19"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218448","number":218448,"mergeCommit":{"message":"[Obs AI Assistant] Specify embedding model during onboarding for the Knowledge Base (#218448)\n\nCloses https://github.com/elastic/obs-ai-assistant-team/issues/230\nCloses https://github.com/elastic/obs-ai-assistant-team/issues/232\n\nRelated to https://github.com/elastic/kibana/pull/215591\n\n## Summary\n\nThis PR implements the changes related to the first phase of supporing\nmultilingual Knowledge Base. The users have the ability to pick the\n`e5-small` model for the Knowledge Base, if they want support for\nlanguages other than English.\n\n<img width=\"610\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/4c815aa4-aa97-4845-98c5-e079dd92f23a\"\n/>\n\n<img width=\"1281\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/7c1bcd82-5464-497f-a053-7fe271da1cdd\"\n/>\n\n<img width=\"1280\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/bc084e90-c291-44ea-8560-e033729bfcca\"\n/>\n\nWhen the KB model is not allocated due to nodes scaling down:\n\n\n\n\n\n### Checklist\n\n- [x] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n\n## Upgrade testing steps\n\n### 9.0 - 9.1 (main)\n\nCheckout `9.0` branch and start Kibana and ES. ES must be started with\n`path.data` to persist data:\n\n```\nyarn es snapshot --license trial --E path.data=/Users/sorenlouv/elastic/es_data/upgrade_test_9.0\n```\n\n---------\n\nCo-authored-by: Søren Louv-Jansen <soren.louv@elastic.co>\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Søren Louv-Jansen <sorenlouv@gmail.com>","sha":"dc019f85e19de28c1e2573108c47caa0080247c8"}},{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: Arturo Lidueña <arturo.liduena@elastic.co> Co-authored-by: Viduni Wickramarachchi <viduni.wickramarachchi@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>











Summary
Closes #209791
Closes #204378
Improve Knowledge Base Installation and Inference Endpoint Management
Enhancements
Inspection & Troubleshooting
Users can inspect the inference endpoint's deployment status, including:
My.Movie.1.-.1.mp4
Suggested Improvements
These changes enhance visibility, troubleshooting, and control over inference endpoint deployment. 🚀
Checklist
Check the PR satisfies following conditions.
Reviewers should verify this PR satisfies this list as well.
release_note:breakinglabel should be applied in these situations.release_note:*label is applied per the guidelinesIdentify risks
Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss.
Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging.