Skip to content

Commit

Permalink
fix format (#26)
Browse files Browse the repository at this point in the history
Signed-off-by: ZhangJianyu <zhang.jianyu@outlook.com>
Co-authored-by: ZhangJianyu <zhang.jianyu@outlook.com>
  • Loading branch information
NeoZhangJianyu and arthw authored Jan 17, 2025
1 parent 00da22d commit 250dbc8
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 35 deletions.
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
![concept](./assets/screenshots/concepts.png)

## Reduce Barrier of Adoption with Low-Code: End-to-End GenAI App Development for Productivity

**🌟Key Capabilities**
- 🛠️ Build & configure GenAI applications rapidly with low-code and no setup hassle
- 🔍 Instant evaluation with sandbox on Kubernetes Namespace
Expand Down Expand Up @@ -39,7 +39,7 @@
![key_components](./assets/screenshots/key_components.png)

### Kubernetes Cluster
The Kubernetes cluster hosts both the Studio, Sandbox and Monitoring namespaces.
The Kubernetes cluster hosts both the Studio, Sandbox and Monitoring namespaces.
- **Studio Namespace:** This is the core application namespace containing the Studio-Frontend and Studio-Backend. The Studio-Frontend allows users to manage workflows and build GenAI pipelines. The Studio-Backend includes the Evaluation Sandbox Manager and Deployment Package Generator, which handle deployment of user-designed pipelines.
- **Sandbox Namespace(s):** Managed by the Studio server, these namespaces create sandbox environments where users can test and evaluate the pipelines constructed through Studio-Frontend.
- **Monitoring Namespace:** This namespace contains a Prometheus service that collects performance data from each sandbox. These collected metrics are visualized in a Grafana dashboard, enabling users to monitor resource utilization and pipeline performance.
Expand All @@ -60,7 +60,7 @@ Users can download the deployment package in a ZIP file from the Studio UI and d

## Setting up GenAIStudio
### Who needs to set up the Studio?

If you're part of a team and want to provide a testing playground for your members, you'll need to set up GenAIStudio. This setup allows your team members to test and evaluate their pipelines in a sandbox environment without worrying about infrastructure management.

However, if you already have access to an existing Studio instance, you can skip the setup process and move directly to the next section to begin working with your workflows.
Expand Down Expand Up @@ -97,20 +97,20 @@ The installation can be done with the following steps:
ansible-playbook genai-studio.yml
```
_Note: you can review the deployment configurations in [genai-studio.yml](./setup-scripts/setup-genai-studio/genai-studio.yml)_


## Getting Started with GenAIStudio

## Getting Started with GenAIStudio

You can access the the Studio UI in a web browser at `http://<studio_server_ip>:30007`.

#### Import a Sample Workflow
### Import a Sample Workflow

Get started quickly with the Studio UI by downloading and importing this [sample workflow](./sample-workflows/sample_workflow_chatqna.json), which deploys a ChatQnA application.

1. On the `Main Page`, click **Create New Workflow**. This will open a blank `Canvas Page` where you can import a sample workflow or start building your new workflow.

![start_new_project_1](./assets/screenshots/start_new_project_1.png)

2. Then, click on the ⚙️ button in the header bar to import a workflow.

![import-sample-project](./assets/screenshots/import-sample-project.png)
Expand All @@ -121,34 +121,34 @@ Get started quickly with the Studio UI by downloading and importing this [sample

4. Return to the main page and click the run button to [launch the sandbox](#launch-a-sandbox).

#### Start a New Workflow
1. **Create a new workflow:**
### Start a New Workflow
1. **Create a new workflow:**

On the `Main Page`, click **Create New Workflow**. This will open a blank `Canvas Page` where you can start building your new workflow.

![start_new_project_1](./assets/screenshots/start_new_project_1.png)

2. **Drag-and-drop microservice nodes:**
2. **Drag-and-drop microservice nodes:**

In the top-left corner of the canvas, click the ➕ **Add Nodes** button to view a dropdown list of available microservice nodes. You can expand each category and drag nodes onto the canvas. Use your mouse scroll to zoom in and out of the canvas for easier navigation.

![start_new_project_2](./assets/screenshots/start_new_project_2.png)

3. **Configure and connect microservice nodes:**
3. **Configure and connect microservice nodes:**

Some nodes have configurable parameters that let you set specific settings. After configuring a node, you can connect it to another node by dragging the output edge and dropping it onto the input edge of the target node. Once your workflow is complete, click the 💾 **Save Workflow** button to save your project.

![start_new_project_3](./assets/screenshots/start_new_project_3.png)

4. Return to the main page and click the run button to [launch the sandbox](#launch-a-sandbox).

#### Launch a Sandbox
### Launch a Sandbox

Back on the **Main Page**, you’ll see the saved workflow under the Workflow list. Click the ▶️ **Start button** to initiate the sandbox environment for your workflow. Please allow 3-5 minutes for the environment to be fully set up. Once ready, you can test the workflow in the Sandbox App UI and monitor resource usage through the Grafana Dashboard.

![start_new_project_4](./assets/screenshots/start_new_project_4.png)

#### App UI Features
### App UI Features
1. **Conversational Interactions with Custom Settings**

Engage in a conversation with the chatbot using various parameter settings. The chatbot’s responses will be tailored based on the content in the uploaded data sources.
Expand All @@ -161,16 +161,16 @@ Back on the **Main Page**, you’ll see the saved workflow under the Workflow li

![app-ui-datasources](./assets/screenshots/app-ui-datasources.png)

#### Monitor Sandbox Resource Utilization in Grafana Dashboard
### Monitor Sandbox Resource Utilization in Grafana Dashboard
- View real-time resource utilization metrics for the Sandbox environment. CPU and memory usage are tracked and visualized in the Grafana dashboard for easy monitoring.

![grafana-dashboard](./assets/screenshots/grafana-dashboard.png)

### Download and Run GenAI App Deployment Package Locally
#### Prerequisites
## Download and Run GenAI App Deployment Package Locally
### Prerequisites
To deploy the downloaded GenAI application locally, ensure that Docker Engine with Docker Compose are installed on your machine. If you haven't installed them yet, please refer to the official [Docker](https://docs.docker.com/engine/install/) documentation for setup instructions.
#### Deploying a GenAI Application

### Deploying a GenAI Application
The downloaded zip file includes the necessary configurations for deploying the microservices. Follow these steps to set up and run the application with Docker Compose:

1. Set the `public_host_ip` environment variables in `.env` or export it in your environtment:
Expand Down
10 changes: 6 additions & 4 deletions setup-scripts/build-image-to-registry/readme.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
### Overview
# Build Image to Registry

## Overview

The ansible scripts used here are building, tag and push to the specified container registry of GenAIStudio's dockerfiles

### Pre-requisite
## Pre-requisite

- Docker runtime and container registry have been setup
- Update var.yml accordingly

### Installation steps:
## Installation steps:

Run below commands:
```sh
sudo apt install ansible -y
ansible-playbook build-image-to-registry.yml
```
```
12 changes: 7 additions & 5 deletions setup-scripts/setup-genai-studio/readme.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
### Overview
# Setup GenAI Studio

## Overview

The genai-studio playbook script will:

Expand All @@ -8,22 +10,22 @@ The genai-studio playbook script will:



### Pre-requisite
## Pre-requisite

- Existing kubernetes cluster available. If not, please install by following the [Kubernetes official setup guide](https://kubernetes.io/docs/setup/). Alternatively, you can try out our [setup onpremise kubernetes script](../setup-onpremise-kubernetes/readme.md).
- Update var.yml accordingly

### Installation steps:
## Installation steps:

Run below commands:
```sh
sudo apt install ansible -y
ansible-playbook genai-studio.yml
```

### Quick health test
## Quick health test

Run below commands to do a /health test:
```sh
curl http://localhost:30007/studio-backend/health
```
```
10 changes: 6 additions & 4 deletions setup-scripts/setup-onpremise-kubernetes/readme.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
### Overview
# Setup On-premise Kubernetes Cluster

## Overview

The ansible scripts used here are using kubeadm method of installing an onpremise kubernetes cluster. It also installed an onpremise harbor for the container registry to be used by the onpremise kubernetes

### Pre-requisite
## Pre-requisite

- enable sshkeys on all target machines and ensure no password prompt needed for ssh connections
- update inventory.ini and var.yml accordingly

### Installation steps:
## Installation steps:

_Note: This script has only been validated on a fresh installed Ubuntu 22.04 machines._

Expand All @@ -22,4 +24,4 @@ To push your local docker images into the harbor container registry, run below:
```sh
docker tag <image>:<tag> <k8_master_ip>:8443/k8s/<image>:<tag>
docker push <k8_master_ip>:8443/k8s/<image>:<tag>
```
```
8 changes: 4 additions & 4 deletions tests/playwright/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Getting Started
### To run Playwright
# Getting Started
## To run Playwright

Install npm dependencies:
```
Expand Down Expand Up @@ -28,7 +28,7 @@ Open the test report:
npx playwright show-report
```

### VSCode setup
## VSCode setup

Install the 'Playwright Test for VSCode' extension from the Extensions tab in VSCode.

Expand All @@ -41,4 +41,4 @@ Assuming your vscode is opening GenAIStudio folder, add below in settings.json:
}
```

Open the Testing tab in VSCode. You should be able to see the tests. If not try to click 'Refresh Tests' button (Ctrl+; Ctrl+R).
Open the Testing tab in VSCode. You should be able to see the tests. If not try to click 'Refresh Tests' button (Ctrl+; Ctrl+R).

0 comments on commit 250dbc8

Please sign in to comment.