Skip to content

[AI Infra] Chat experience documentation links#246334

Merged
KodeRad merged 14 commits intoelastic:mainfrom
KodeRad:ml-chat-experience-documentation-links
Dec 16, 2025
Merged

[AI Infra] Chat experience documentation links#246334
KodeRad merged 14 commits intoelastic:mainfrom
KodeRad:ml-chat-experience-documentation-links

Conversation

@KodeRad
Copy link
Copy Markdown
Contributor

@KodeRad KodeRad commented Dec 15, 2025

Summary

Implements: https://github.com/elastic/ml-team/issues/1755
Follow up to: #244532

The goal of this PR is to:

  • add missing documentation links
  • create more space between settings in GenAI Settings page
  • adding (Beta) to AI Agent drop-down Chat Experience option
  • update messages
  • fix: show documentation section to users with only Agent privileges

To test it you have to activate feature flag in kibana.dev.yml

feature_flags.overrides:
  aiAssistant.aiAgents.enabled: true

Screenshots

Screenshot 2025-12-15 at 10 35 09 Screenshot 2025-12-15 at 11 27 36 Screenshot 2025-12-15 at 10 35 18 Screenshot 2025-12-15 at 10 33 59

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, uses sentence case text and includes i18n support
  • Documentation was added for features that require explanation or tutorials
  • Unit or functional tests 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
  • 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 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
  • Review the backport guidelines and apply applicable backport:* labels.

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.

@KodeRad KodeRad self-assigned this Dec 15, 2025
@KodeRad KodeRad added release_note:enhancement :ml backport:skip This PR does not require backporting Team:ML Team label for ML (also use :ml) t// Team:AI Infra Platform AppEx AI Infrastructure Team t// v9.3.0 labels Dec 15, 2025
@KodeRad KodeRad marked this pull request as ready for review December 15, 2025 10:55
@KodeRad KodeRad requested review from a team as code owners December 15, 2025 10:55
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/ml-ui (:ml)

@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/appex-ai-infra (Team:AI Infra)

@KodeRad KodeRad requested a review from isaclfreire December 15, 2025 10:56
@botelastic botelastic Bot added the ci:project-deploy-observability Create an Observability project label Dec 15, 2025
@github-actions
Copy link
Copy Markdown
Contributor

🤖 GitHub comments

Expand to view the GitHub comments

Just comment with:

  • /oblt-deploy : Deploy a Kibana instance using the Observability test environments.
  • run docs-build : Re-trigger the docs validation. (use unformatted text in the comment!)

Copy link
Copy Markdown
Member

@florent-leborgne florent-leborgne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link and copy lgtm overall - Left a few suggestions for you to consider on the strings actually changed by this PR

id="aiAssistantManagementSelection.headerButton.description"
defaultMessage={
'Choose which chat experience to use throughout Kibana. {learnMoreLink}. <bold>This setting applies to all users in the space.</bold> To change it later, go to {genAiSettings}.'
'Choose which chat experience to use throughout Kibana. {learnMoreLink}. <bold>This setting applies to all users in the space.</bold> To change it later, go to {genAiSettings}'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
'Choose which chat experience to use throughout Kibana. {learnMoreLink}. <bold>This setting applies to all users in the space.</bold> To change it later, go to {genAiSettings}'
'Choose which chat experience to use throughout Kibana. {learnMoreLink}. <bold>This setting applies to all users in the space.</bold> To change it later, go to {genAiSettings}.'

It's still a sentence we should keep the punctuation

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! This is fixed here ed38b53c01d0299f932aa8aa6ff7977e2e1fe5b4

By default, Elastic uses its Elastic Managed LLM connector ({additionalCostsIncur}) when no custom connectors are available.
When available, Elastic uses the last used custom connector. Set up your own connectors or disable the AI Assistant from the AI feature visibility setting below.
Select a default AI connector to enforce the choice for your space. {manageConnectors}`}
defaultMessage={`AI-powered features require a large language model (LLM) connector. You can configure a third-party connector or use the Elastic Managed LLM ({atAdditionalCost}).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
defaultMessage={`AI-powered features require a large language model (LLM) connector. You can configure a third-party connector or use the Elastic Managed LLM ({atAdditionalCost}).
defaultMessage={`AI-powered features require a large language model (LLM) connector. You can use the Elastic Managed LLM ({atAdditionalCost}) or configure a third-party connector.

we should mention ours first I think - Isn't "Elastic Managed LLM" getting a new name by the way?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed here c2075bf

When available, Elastic uses the last used custom connector. Set up your own connectors or disable the AI Assistant from the AI feature visibility setting below.
Select a default AI connector to enforce the choice for your space. {manageConnectors}`}
defaultMessage={`AI-powered features require a large language model (LLM) connector. You can configure a third-party connector or use the Elastic Managed LLM ({atAdditionalCost}).
When using these features, this space's Default AI connector is pre-selected. To prevent the use of other connectors, enable Disallow all other connectors.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When using these features, this space's Default AI connector is pre-selected. To prevent the use of other connectors, enable Disallow all other connectors.
When you set a default AI connector, it is pre-selected for all of these features in this space.

2 considerations here:

  • A suggestion to make the 1st part of this paragraph sound a bit better
  • Is the second sentence really necessary? The "Disallow..." option is visible in the UI with a clear title and it looks like it has a tooltip

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed here c2075bf

Select a default AI connector to enforce the choice for your space. {manageConnectors}`}
defaultMessage={`AI-powered features require a large language model (LLM) connector. You can configure a third-party connector or use the Elastic Managed LLM ({atAdditionalCost}).
When using these features, this space's Default AI connector is pre-selected. To prevent the use of other connectors, enable Disallow all other connectors.
If no default is set, the last-used connector will be selected automatically. {manageConnectors}`}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If no default is set, the last-used connector will be selected automatically. {manageConnectors}`}
If you haven't set a default, the most recently used connector is selected automatically. {manageConnectors}`}

Sounds slightly better IMO and is consistent with the rest of the suggestions above

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed here c2075bf

// TODO: add the actual link when available
link: '<a href="" target="_blank" rel="noopener noreferrer" class="euiLink euiLink--primary">Learn more</a>',
},
defaultMessage: 'Choose which chat experience to use for everyone in this space.',
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
defaultMessage: 'Choose which chat experience to use for everyone in this space.',
defaultMessage: 'Choose which chat experience to use for all users in this space.',

to be consistent with other similar sentences I've seen

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed here c2075bf

@KodeRad KodeRad requested a review from a team as a code owner December 15, 2025 13:01
Copy link
Copy Markdown
Member

@jgowdyelastic jgowdyelastic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code LGTM

Copy link
Copy Markdown
Member

@spong spong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Security changes LGTM! 👍 Thanks @KodeRad!

@elastic-vault-github-plugin-prod elastic-vault-github-plugin-prod Bot requested a review from a team as a code owner December 16, 2025 10:44
Copy link
Copy Markdown
Contributor

@walterra walterra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

vis team code review: LGTM, just removal of an eslint ignore.

@KodeRad KodeRad requested review from a team as code owners December 16, 2025 13:23
@botelastic botelastic Bot added the Team:obs-ai Observability AI team label Dec 16, 2025
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/obs-ai-team (Team:obs-ai)

@KodeRad KodeRad enabled auto-merge (squash) December 16, 2025 16:39
@elasticmachine
Copy link
Copy Markdown
Contributor

elasticmachine commented Dec 16, 2025

💛 Build succeeded, but was flaky

  • Buildkite Build
  • Commit: 95d92f3
  • Kibana Serverless Image: docker.elastic.co/kibana-ci/kibana-serverless:pr-246334-95d92f3fb9c5

Failed CI Steps

Test Failures

  • [job] [logs] Jest Tests #6 / useSyntheticsRules dispatches enableDefaultAlertingSilentlyAction when canSave is true and popover opens
  • [job] [logs] Jest Tests #6 / useSyntheticsRules dispatches getDefaultAlertingAction when canSave is false and popover opens

Metrics [docs]

Public APIs missing comments

Total count of every public API that lacks a comment. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats comments for more detailed information.

id before after diff
@kbn/ai-agent-confirmation-modal 5 6 +1

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
aiAssistantManagementSelection 90.7KB 90.8KB +122.0B
genAiSettings 56.0KB 56.8KB +855.0B
lists 129.6KB 129.7KB +69.0B
observabilityAIAssistantApp 267.8KB 267.9KB +86.0B
searchAssistant 113.8KB 113.9KB +86.0B
total +1.2KB

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
aiAssistantManagementSelection 12.2KB 12.3KB +32.0B
core 496.5KB 496.6KB +69.0B
elasticAssistant 312.3KB 312.3KB +60.0B
observabilityAIAssistant 52.9KB 53.0KB +49.0B
total +210.0B
Unknown metric groups

API count

id before after diff
@kbn/ai-agent-confirmation-modal 5 6 +1

History

cc @KodeRad

@KodeRad KodeRad merged commit dfb768c into elastic:main Dec 16, 2025
13 checks passed
spong added a commit that referenced this pull request Dec 17, 2025
…46657)

## Summary

As a follow-up to #246099 and
#246334, this PR adds `docLinks`
off to the [AI Assistant Settings
Docs](https://www.elastic.co/docs/reference/kibana/configuration-reference/ai-assistant-settings)
to both the `Documentation` panel and error toasts when the artifact
fails to install (in aid of those in air-gapped environments).

Note: Yes, air-gapped deployments won't be able to load the
documentation link, but they'll at least have the URL they need to get
further information.

<p align="center">
<img width="700"
src="https://github.com/user-attachments/assets/c15afd58-31b4-4f03-a489-ad21a983b6cf"
/>
</p> 

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [X] 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)
- [X]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [X] [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

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
@peteharverson peteharverson added release_note:skip Skip the PR/issue when compiling release notes and removed release_note:enhancement labels Jan 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting ci:project-deploy-observability Create an Observability project :ml release_note:skip Skip the PR/issue when compiling release notes Team:AI Infra Platform AppEx AI Infrastructure Team t// Team:ML Team label for ML (also use :ml) t// Team:obs-ai Observability AI team v9.3.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.