Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Observability AI Assistant] Feature controls #163232

Merged
merged 5 commits into from Aug 7, 2023

Conversation

dgieselaar
Copy link
Member

This adds feature controls for the AI Assistant feature.

@dgieselaar dgieselaar requested review from a team as code owners August 6, 2023 12:42
@botelastic botelastic bot added the Team:APM All issues that need APM UI Team support label Aug 6, 2023
@elasticmachine
Copy link
Contributor

Pinging @elastic/apm-ui (Team:APM)

@apmmachine
Copy link
Contributor

🤖 GitHub comments

Expand to view the GitHub comments

Just comment with:

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

@dgieselaar dgieselaar requested a review from a team as a code owner August 6, 2023 16:51
Copy link
Contributor

@cauemarcondes cauemarcondes left a comment

Choose a reason for hiding this comment

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

Profiling changes LGTM

Copy link
Contributor

@thomheymann thomheymann left a comment

Choose a reason for hiding this comment

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

Can you provide a bit more information about the different components of AI Assistant both client and server side?

The feature controls you have introduced as part of this PR only seem to be toggling the UI so I would like to understand a bit better what services this feature uses.

@dgieselaar
Copy link
Member Author

@thomheymann There are two client-side features:

  • Chat with the LLM, either through a header action menu item, which will be added in a follow-up PR, or a page in the Observability app, which doesn't have a link in the menu item.
  • Contextual insights in specific views, which are LLM-generated based on metadata. E.g., we offer a callout with an accordion that shows performance improvement suggestions for functions detected in Universal Profiling.

We'll have the following APIs:

  • chat (to talk to the LLM)
  • get/delete/put/post conversation(s)
  • connectors (to get the generative AI connectors)
  • functions (to execute data calls on the user's behalf)

Can you elaborate on:

The feature controls you have introduced as part of this PR only seem to be toggling the UI so I would like to understand a bit better what services this feature uses.

it is my understanding that the privileges object also gives access to APIs, by virtue of an access:ai_assistant tag - is that incorrect?

I've also asked this on Slack, but adding here for posterity: what is the recommended way to gate this entire feature behind an enterprise license?

Copy link
Contributor

@mohamedhamed-ahmed mohamedhamed-ahmed left a comment

Choose a reason for hiding this comment

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

Infra changes LGTM

Copy link
Contributor

@yngrdyn yngrdyn left a comment

Choose a reason for hiding this comment

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

LGTM

@kibana-ci
Copy link
Collaborator

💛 Build succeeded, but was flaky

Failed CI Steps

Metrics [docs]

Page load bundle

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

id before after diff
observabilityAIAssistant 6.5KB 6.6KB +108.0B

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@thomheymann
Copy link
Contributor

it is my understanding that the privileges object also gives access to APIs, by virtue of an access:ai_assistant tag - is that incorrect?

Perfect, yeh, this is the best way of protecting your endpoint.

As long as all API routes related to this feature are using the correct access tags, users that don't have the required permissions to use the feature won't be able to work around that by calling the APIs directly.

I just wanted to ensure that is the case since I didn't see these in the PR.

Copy link
Contributor

@thomheymann thomheymann 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

@dgieselaar dgieselaar merged commit 0627686 into elastic:main Aug 7, 2023
24 checks passed
@kibanamachine kibanamachine added the backport:skip This commit does not require backporting label Aug 7, 2023
@dgieselaar dgieselaar deleted the assistant-feature-controls branch August 7, 2023 17:53
crespocarlos pushed a commit to crespocarlos/kibana that referenced this pull request Aug 8, 2023
This adds feature controls for the AI Assistant feature.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
bryce-b pushed a commit to bryce-b/kibana that referenced this pull request Aug 9, 2023
This adds feature controls for the AI Assistant feature.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:skip This commit does not require backporting release_note:enhancement Team:APM All issues that need APM UI Team support v8.10.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants