opensearch-project / dashboards-flow-framework

A UI designer for constructing AI applications with OpenSearch
Apache License 2.0
6 stars 5 forks source link

Support basic semantic search with preset workflow template #121

Closed ohltyler closed 4 months ago

ohltyler commented 4 months ago

Description

This PR updates several interfaces and improves upon some of the base building blocks to support end-to-end creation of a workflow template for basic semantic search, with heavy UI guardrails. Specifically:

Screenshot of updated component inputs with help text and external links. Also includes the Existing/New tabs but scoped down to only allow New for now - this may change as scope for initial release is finalized.

Screenshot 2024-04-02 at 3 18 57 PM

Demo video showing end-to-end creation of a (mostly hardcoded) template configuration, provisioning the template, and executing semantic search with the newly-created ingest pipeline and knn index.

demo-e2e.webm

Issues Resolved

Makes progress on #73

Check List

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check here.

codecov[bot] commented 4 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 22.18%. Comparing base (3eb94a5) to head (4c109fe).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #121 +/- ## ========================================== + Coverage 21.92% 22.18% +0.26% ========================================== Files 56 57 +1 Lines 812 870 +58 Branches 82 92 +10 ========================================== + Hits 178 193 +15 - Misses 630 673 +43 Partials 4 4 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

kamingleung commented 4 months ago

What's the difference between Existing / New tabs? Can this be stateless?

ohltyler commented 4 months ago

What's the difference between Existing / New tabs? Can this be stateless?

Just what I have as a placeholder for now, with the idea that some components may allow using existing resources/data vs. creating new. Example being creating a new knn index or using an existing one, or creating a new model or using an existing one. This can easily be removed, in the current examples I have existing entirely disabled.