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

[Search] Search assistant plugin setup #190633

Merged
merged 23 commits into from
Aug 22, 2024

Conversation

saarikabhasi
Copy link
Member

Summary

Introducing new plugin for search assistant. in the future this will be extension of Observability AI solution solution plugin

Checklist

Delete any items that are not applicable to this PR.

@saarikabhasi saarikabhasi requested review from a team as code owners August 15, 2024 18:09
@saarikabhasi saarikabhasi added release_note:skip Skip the PR/issue when compiling release notes backport:skip This commit does not require backporting v8.16.0 labels Aug 15, 2024
Copy link
Contributor

@ryankeairns ryankeairns left a comment

Choose a reason for hiding this comment

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

Only reviewed CSS changes on behalf of kibana-design; added a file

@saarikabhasi saarikabhasi requested a review from a team as a code owner August 15, 2024 20:27
Update limits.yml
Copy link
Member

@jbudz jbudz left a comment

Choose a reason for hiding this comment

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

packages/kbn-optimizer/limits.yml

Copy link
Member

@sphilipse sphilipse left a comment

Choose a reason for hiding this comment

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

Thanks, Saarika! I left a few comments to clean up, there's some stuff in here that doesn't need to be there (yet), but if we delete that we can merge this.

x-pack/plugins/search_assistant/.i18nrc.json Outdated Show resolved Hide resolved
x-pack/plugins/search_assistant/.eslintrc.js Outdated Show resolved Hide resolved
x-pack/plugins/search_assistant/common/index.ts Outdated Show resolved Hide resolved
x-pack/plugins/search_assistant/package.json Outdated Show resolved Hide resolved
x-pack/plugins/search_assistant/public/components/app.tsx Outdated Show resolved Hide resolved
x-pack/plugins/search_assistant/public/embeddable.tsx Outdated Show resolved Hide resolved
x-pack/plugins/search_assistant/public/index.ts Outdated Show resolved Hide resolved
x-pack/plugins/search_assistant/public/types.ts Outdated Show resolved Hide resolved
x-pack/plugins/search_assistant/translations/ja-JP.json Outdated Show resolved Hide resolved
@saarikabhasi
Copy link
Member Author

@elasticmachine merge upstream

@saarikabhasi
Copy link
Member Author

@elasticmachine merge upstream

@saarikabhasi saarikabhasi requested a review from a team as a code owner August 19, 2024 17:52
@jeramysoucy jeramysoucy self-requested a review August 20, 2024 12:20
Copy link
Contributor

@jeramysoucy jeramysoucy left a comment

Choose a reason for hiding this comment

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

I was unable to start Kibana from this PR.
Error: Cannot find module '/x-pack/plugins/search_assistant/server'
Am I perhaps missing part of the plugin build process?

Some other basic questions:

  • What is the purpose of the plugin? As a future extension to the Observability Assistant plugin, what will it add?
  • Who will be able to access this plugin? What privileges are required?
  • This plugin is currently empty, but if there are plans to introduce HTTP API endpoints, loggers, API keys, or Saved Objects, please consider the appropriate security measures (validation, privileges, logging level, any sensitive information).

docs/developer/plugin-list.asciidoc Outdated Show resolved Hide resolved
x-pack/plugins/search_assistant/README.md Outdated Show resolved Hide resolved
@sphilipse
Copy link
Member

sphilipse commented Aug 21, 2024

I was unable to start Kibana from this PR. Error: Cannot find module '/x-pack/plugins/search_assistant/server' Am I perhaps missing part of the plugin build process?

Yeah we're missing server/index.ts right now.

Some other basic questions:

  • What is the purpose of the plugin? As a future extension to the Observability Assistant plugin, what will it add?

We're building a Search-specific assistant that will run in ES3 and Search. It'll have different system prompts, different functions and different quick prompts at minimum, and likely different other extensions over time. But we want to share as much as possible of the backend and components with the Observability AI Assistant. Next steps would be:

  • Abstracting shareable components outside of the Obs AI Assistant code and sharing them between these two plugins (likely in a third plugin or a package)
  • Wiring this into the server of the Obs AI Assistant where possible
  • Showing this AI assistant in Search and ES3 (when enabled)
  • Who will be able to access this plugin? What privileges are required?

TBD, I want to keep that out of this PR for now. There's a lot we still need to decide on and this is just an initial starting point.

  • This plugin is currently empty, but if there are plans to introduce HTTP API endpoints, loggers, API keys, or Saved Objects, please consider the appropriate security measures (validation, privileges, logging level, any sensitive information).

Yup, will do. Out of scope for this PR.

@saarikabhasi
Copy link
Member Author

@elasticmachine merge upstream

Copy link
Contributor

@jeramysoucy jeramysoucy left a comment

Choose a reason for hiding this comment

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

Thanks for the details @sphilipse and updates @saarikabhasi! Unless I am missing something, the plugin appears to be enabled by default. There was a xpack.searchAssistant.ui.enabled setting, but that did not allow me to disable the pluigin. Additionally, it looks like that setting was removed.

Happy to approve once the plugin is disabled by default for all offerings. This will ensure that main is in a releasable state for serverless.

@sphilipse
Copy link
Member

Thanks for the details @sphilipse and updates @saarikabhasi! Unless I am missing something, the plugin appears to be enabled by default. There was a xpack.searchAssistant.ui.enabled setting, but that did not allow me to disable the pluigin. Additionally, it looks like that setting was removed.

Happy to approve once the plugin is disabled by default for all offerings. This will ensure that main is in a releasable state for serverless.

Done in 7f17d49 @jeramysoucy

@sphilipse sphilipse enabled auto-merge (squash) August 22, 2024 09:36
@kibana-ci
Copy link
Collaborator

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] FTR Configs #46 / machine learning - data visualizer esql data visualizer with farequote ES|QL farequote displays index details

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
searchAssistant - 4 +4

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
searchAssistant - 6 +6

Page load bundle

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

id before after diff
searchAssistant - 1.5KB +1.5KB
Unknown metric groups

API count

id before after diff
searchAssistant - 6 +6

ESLint disabled line counts

id before after diff
searchAssistant - 4 +4

Total ESLint disabled count

id before after diff
searchAssistant - 4 +4

History

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

@sphilipse sphilipse merged commit a524e27 into elastic:main Aug 22, 2024
39 checks passed
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:skip Skip the PR/issue when compiling release notes v8.16.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants