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

Implement AI-powered searcher #7099

Open
9 of 10 tasks
MichaelMauderer opened this issue Jun 21, 2023 · 9 comments
Open
9 of 10 tasks

Implement AI-powered searcher #7099

MichaelMauderer opened this issue Jun 21, 2023 · 9 comments
Assignees
Labels
-gui d-hard Difficulty: significant prior knowledge required p-low Low priority x-design x-new-feature Type: new feature request

Comments

@MichaelMauderer
Copy link
Contributor

MichaelMauderer commented Jun 21, 2023

In order to prototype integration of AI powered searcher completion in the IDE
we create a simple new searcher that can be used din the IDE. It will be opened
instead of the component browser searcher when the user presses a special shortcut.
The input to the AI searcher will then be sued as a prompt for the AI model and the
results will be used to create a new node (or replace the currently edited one).

First PR

  • Create a new searcher that translates the input to a prompt for the AI model and
    displays the results.
  • Integrate the searcher side by side with the component browser searcher. (New Prototype AI Searcher #7146)
    • Allow opening AI searcher or component browser searcher, based on shortcut used.
    • Hide preview visualization for the AI searcher and show it for the CB searcher
    • Correctly show an edge between the AI searcher input node and the source of the this argument

Clean-up for later

  • Move shortcut for opening searcher from tab to enter. Currently, there is an issue with this: the enter key press is processed for opening the Component Browser, but it will also be immediately processed for accepting the input. This needs to be further investigated and solved. [2 days]
  • Implement support for one-shot expressions in the GUI. [3 days]
  • Implement Enso library for generating the prompt for the AI
    model and requesting the AI completion through an external endpoint. [3 days]
  • Integrate the new Enso AI library with the AI searcher, replacing the current LS AI endpoint [1 day]
  • Replace current use of the visualization API to execute Enso code in the AI searcher with a one-shot expression [1 day]
@MichaelMauderer MichaelMauderer self-assigned this Jun 21, 2023
@enso-bot
Copy link

enso-bot bot commented Jun 21, 2023

Michael Mauderer reports a new STANDUP for yesterday (2023-06-20):

Progress: Pair programming and discussion with Jan about AI searcher implementation. It should be finished by 2023-07-04.

Next Day: Next day I will be working on the #7099 task. Continue on task.

@farmaazon farmaazon added d-hard Difficulty: significant prior knowledge required p-high Should be completed in the next sprint x-new-feature Type: new feature request g-component-browser x-design labels Jun 22, 2023
@enso-bot
Copy link

enso-bot bot commented Jun 23, 2023

Michael Mauderer reports a new STANDUP for yesterday (2023-06-22):

Progress: Worked with Jan on refactoring the pipeline into a new standalone searcher that can be sued for quick and easy iteration. [actually for previous day] It should be finished by 2023-07-04.

Next Day: Next day I will be working on the #7099 task. Continue work on AI searcher.

@enso-bot
Copy link

enso-bot bot commented Jun 23, 2023

Michael Mauderer reports a new STANDUP for yesterday (2023-06-22):

Progress: Worked with Jan on fixing some bugs in the pipeline preventing the AI completion form showing up as desired and making the UI work as desired. It should be finished by 2023-07-04.

Next Day: Next day I will be working on the #7099 task. Continue work on AI searcher.

@enso-bot
Copy link

enso-bot bot commented Jun 26, 2023

Michael Mauderer reports a new STANDUP for the provided date (2023-06-23):

Progress: Some cleanup and refactoring to accommodate two searchers side by side in our architecture. It should be finished by 2023-07-04.

Next Day: Next day I will be working on the #7099 task. Continue work on AI searcher.

@wdanilo
Copy link
Member

wdanilo commented Jun 26, 2023

@MichaelMauderer could you add a short description here, please? :)

@farmaazon
Copy link
Contributor

@MichaelMauderer And a list of tasks, what remained to do for first version (discussed during last meeting).

@enso-bot
Copy link

enso-bot bot commented Jun 27, 2023

Michael Mauderer reports a new STANDUP for yesterday (2023-06-26):

Progress: Code cleanup and bug fixes related to setting the initial expression and initialising the searcher based on the used key combination. It should be finished by 2023-07-04.

Next Day: Next day I will be working on the #7099 task. Continue work on AI searcher.

@enso-bot
Copy link

enso-bot bot commented Jun 27, 2023

Michael Mauderer reports a new STANDUP for today (2023-06-27):

Progress: Code cleanup and implemented correct handling of initial expression in searcher input node. Also started work on fixing the keyboard shortcuts so "enter" can be sued to open the searchers. It should be finished by 2023-07-04.

Next Day: Next day I will be working on the #7099 task. Finish initial work on AI searcher and open PR.

@enso-bot
Copy link

enso-bot bot commented Jun 29, 2023

Michael Mauderer reports a new STANDUP for yesterday (2023-06-28):

Progress: Cleaned up Code. Created PR. Fixed failing tests, and then noticed broken visualizations. After some debugging, found that this was caused by a protocol mismatch between nightly build and develop. Confirmed by doing a local engine build, then opened PR. It should be finished by 2023-07-04.

Next Day: Next day I will be working on the #7099 task. Continue with next task.

mergify bot pushed a commit that referenced this issue Jul 7, 2023
Adds a new bare-bones AI searcher that can be triggered with `cmd+tab`. It will interpret the searcher input as a prompt to an AI model and replace the created node with the suggestion that was computed.

https://github.com/enso-org/enso/assets/1428930/f8403533-54ba-4ea5-9d3c-6bdf3cf336b5

Implements the first step of #7099.

# Important Notes
Contains some refactoring that allows us to have multiple controllers side by side. So QA testing should make sure that the Component Browser Searcher is still working as before.
@jdunkerley jdunkerley added p-low Low priority and removed p-high Should be completed in the next sprint labels Sep 1, 2023
@farmaazon farmaazon added -gui and removed -gui labels Feb 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-gui d-hard Difficulty: significant prior knowledge required p-low Low priority x-design x-new-feature Type: new feature request
Projects
Status: Implementation in progress
Development

No branches or pull requests

4 participants