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
[FEAT] 868 Meta Response (dynamic input) #899
base: master
Are you sure you want to change the base?
Conversation
…hile using dynamic input, as it require the full response to allow json schema extraction - fixed auto page refresh after chat reset (quick line) - added temporary isDynamicInput as static variable for development, later to be added as dynamic setting to workspace settings menue
- added toggle button between text promptInput and dynamicInput - added options sellect with 3 redering types, List, dropdown, buttons - styled OptionSelect component to match anythingllm buttons theme
…ound - dynamic input buttons and dropdown menues are mobile responsive now
- refactored Dynamic Input Component to encapsulate all dynamic input logic, gate and controllers
This is really great. I will say the only critique i have currently since this is in Draft is the UI. Once this is ready for review ill task our designer with overhauling this because some elements are not in spec with our design philiophsy and general design patterns. This is not something to overly concern yourself with as functionality is the most important thing for this PR. Really awesome work @sherifButt 👏 |
Thank you @timothycarambat, I'm happy that you liked the "Meta response" feature, to be honest I developed the chat dynamic input element directly with no pre design, as the proof of concept for me was the functionality itself. There is some design involved on that part however it is minimal mostly copping existing elements from the app, and it is fully coded and actorly ready for review if you want. but I thought might be better to code the settings page before issuing a review? what you think? |
…workspaces table via prisma. - added workspacMetaResponse routes and models
- generic components folder - generic togglebutton,toggleblock,badge
- added checkbox,toggleSwitch,textarea generic components
- removed badge extra colors
- stitched chat input buttons container width to 700px from 600px
…on change button, expand while typing
- fixed bugs
- removed jsDocs comments form CheckBoxBlock
- added five-rating support - enhanced movile experiance
…aied chat space. - fixed rendering bugs
@timothycarambat I’m AFK until Wednesday the 10th, I’ll resolve this conflict once I’m back. |
Pull Request Type
Relevant Issues
This pull request resolves #868
What is in this change?
Meta Response
Meta Response enhances the chat experience by introducing contextually aware input fields, thereby making interactions both intuitive and dynamic. This feature uses an autogenerated JSON meta object to guide the front-end on rendering various input interfaces—ranging from options and suggestions to sliders—thus extending beyond traditional text inputs.
How It Works
proactive prompting Demo
from System Prompts Tab.I want to know about tallest 5 buildings in the world
, or just start you sequence.To see Meta Response in action, watch our quick demo:
Meta Response enables dynamic input methods to enhance user experience by allowing for intuitive and context-sensitive interactions. It instructs the model to incorporates a JSON meta object within responses to guide the front-end on how to render various input interfaces, such as options, suggestions, or sliders, moving beyond traditional text inputs.
Key Features
View Figma Design
This system is built with modularity and scalability in mind, incorporating a library of standalone input method components and a flexible schema for future enhancements.
Usage Example
Example JSON Meta Object:
Screen shots:
components:
Range Slicder Input:
Buttons Input:
Meta response settings area:
Enable Meta Response toggle switch.
By enabling Meta Response, users will get access to the Meta Response Menu, where they can edit both the system prompt and Schema prompts, adding and removing components and more. Enabling Meta Response will automatically disable editing system prompt form this screen. View image below.
Meta Response menu, this is a seed for many other Meta elements, we are starting with Inputs where you will can input data via alternative input methods than text. late there are plans to add Custom outputs, to dynamically control the conversation output.. etc
Enabling Inputs:
Overview:
With the Inputs feature now activated, users gain access to a control panel designed to customize and enhance their interaction experience. Below is a detailed guide to the functionality available within this panel:
Legend:
By integrating Meta Response, users gain access to a versatile and intuitive chat experience, opening new dimensions of interaction beyond mere text.
Additional Information
Add any other context about the Pull Request here that was not captured above.
Developer Validations
yarn lint
from the root of the repo & committed changes