CassioML / cassio

A framework-agnostic Python library to seamlessly integrate Cassandra with ML/LLM/genAI workloads
Apache License 2.0
106 stars 19 forks source link

Investigate Adding a management UI to CassIO #60

Closed karlunho-datastax closed 8 months ago

karlunho-datastax commented 1 year ago

Anant.us has developed a management UI (Iris) that can be added to CassIO. Leverages multiple opensource projects.

karlunho-datastax commented 1 year ago

@xingh Please add the slides you showed to this ticket.

karlunho-datastax commented 1 year ago

Per our conversations, CassIO focuses on persistence, so we should focus on persistence related management UIs.

xingh commented 1 year ago

Potential starting points

UI

UI API

karlunho-datastax commented 1 year ago

Here is my thoughts:

  1. Simple Prompt -> Vector UI. This UI would look very similar to the prompt UI that you see in tools like Google Vertex, but instead of returning a prompt from an LLM, it would return a vector search result. The reason why I'm prioritizing this item as the #1 thing to implement is because when a user first gets started, they want to get an intuition of what vector search is returning. Once they get the vector search results, they can paste the results into a separate tool (e.g. the Vertex AI prompting tool) to see if LLM gets a good result. This UI is very simple to implement compared to a table explorer or clustering visualization tool.
Screenshot 2023-08-15 at 11 14 36 AM
  1. Simple table explorer - Take in a CQL statement, and dump out a table

    Screenshot 2023-08-15 at 11 21 27 AM
  2. Visualization clustering tool - similar to clustering analysis that you see in tensorboard or python

https://www.kaggle.com/code/minc33/visualizing-high-dimensional-clusters

Google Colab Link on outlier detection: https://colab.research.google.com/drive/1iiV6VAMGf28TwAlBuLpwfxzS0DSxz7be

  1. Prompt -> Vector -> LLM . This UI will extend the Prompt -> Vector UI to do the last mile of generating a prompt that can call an LLM. This is more sophisticated because we will need the user's credentials for calling an LLM.
xingh commented 1 year ago

@karlunho-datastax acknowledged. Add my notes here.

xingh commented 1 year ago

Introduction

The goal of this proposal is to create a user interface for a data exploration suite that focuses on querying vector databases. The proposed user interface will leverage existing open source tools and apps that are traditionally built for web access to SQL databases.

Objectives

The objectives of this project are as follows:

Scope

The scope of this project includes the following:

Prior Art

Administrative

SQL

Table Components

Chat

Prompt Tester

xingh commented 1 year ago

Cool natural language to results UI. I like the data profiling, we can potentially do something with distances, thresholds contextually at a column level or at the row level

Image

xingh commented 1 year ago

Here are my thoughts on a Cassio UI focused on vector search exploration w/ optimizations around making agents, though the interface looks similar, the use case is different. I do think that some of the parameters that a user can tune, could spit out some python code to just copy and paste - Copy Langchain Code , Copy LlamaIndex Code or Copy Python Code or even Copy Chainlit Code which has a full fledged UI already built.

It addresses Patricks' point about developers. It can lay the groundwork for doing IDE functionality.

Here would be the idea flow

Case in point. See LllamaHub's site and how it show cases each plugin.

Image

Except in our case, we have a playground like thing to try things, and then it gives you code to copy code and run it.