Giter Site home page Giter Site logo

appilot's Introduction

Appilot

Appilot['æpaɪlət] stands for application-pilot. It is an experimental project that helps you operate applications using GPT-like LLMs.

Feature

  • Application management: deploy, upgrade, rollback, etc.
  • Environment management: clone, view topology, etc.
  • Diagnose: view logs, find flaws and provide fixes.
  • Safeguard: any action involving state changes requires human approval.
  • Hybrid infrastructure: works on kubernetes, VM, cloud, on-prem.
  • Multi language support: Choose the natural language you're comfortable with.
  • Pluggable backends: It supports multiple backends including Walrus and Kubernetes, and is extensible.

Demo

Chat to deploy llama-2 on AWS:

appilot-llama2.mov

Other use cases:

Quickstart

prerequistes:

  • Get OpenAI API key with access to the gpt-4 model.
  • Install python3 and make.
  • Install kubectl and helm.
  • Have a running Kubernetes cluster.
  1. Clone the repository.
git clone https://github.com/seal-io/appilot && cd appilot
  1. Run the following command to get the envfile.
cp .env.example .env
  1. Edit the .env file and fill in OPENAI_API_KEY.

  2. Run the following command to install. It will create a venv and install required dependencies.

make install
  1. Run the following command to get started:
make run
  1. Ask Appilot to deploy an application, e.g.:
> Deploy a jupyterhub.
...
> Get url of the jupyterhub.

Usage

Configuration

Appilot is configurable via environment variable or the envfile:

Parameter Description Default
OPENAI_API_KEY OpenAI API key, access to gpt-4 model is required. ""
OPENAI_API_BASE Custom openAI API base. You can integrate with other LLMs as long as they serve in the same API style. ""
TOOLKITS Toolkits to enable. Currently support Kubernetes and Walrus. Case insensitive. "kubernetes"
NATURAL_LANGUAGE Natural language AI used to interacte with you. e.g., Chinese, Japanese, etc. "English"
SHOW_REASONING Show AI reasoning steps. True
VERBOSE Output in verbose mode. False
WALRUS_URL URL of Walrus, valid when Walrus toolkit is enabled. ""
WALRUS_API_KEY API key of Walrus, valid when Walrus toolkit is enabled. ""
WALRUS_SKIP_TLS_VERIFY Skip TLS verification for WALRUS API. Use when testing with self-signed certificates. Valid when Walrus toolkit is enabled. True
WALRUS_DEFAULT_PROJECT Project name for the default context, valid when Walrus toolkit is enabled. ""
WALRUS_DEFAULT_ENVIRONMENT Environment name for the default context, valid when Walrus toolkit is enabled. ""

Using Kubernetes Backend

Follow steps in quickstart to run with Kubernetes backend.

Using Walrus Backend

Prerequisites: Install Walrus.

Walrus serves as the application management engine. It provides features like hybrid infrastructure support, environment management, etc. To enable Walrus backend, edit the envfile:

  1. Set TOOLKITS=walrus
  2. Fill in OPENAI_API_KEY, WALRUS_URL and WALRUS_API_KEY

Then you can run Appilot to get started:

make run

Run with Docker

You can run Appilot in docker container when using Walrus backend.

Prerequisites: Install docker.

  1. Get an envfile by running the following command.
cp .env.example .env
  1. Configure the .env file.
  • Set TOOLKITS=walrus
  • Fill in OPENAI_API_KEY, WALRUS_URL and WALRUS_API_KEY
  1. Run the following command:
docker run -it --env-file .env sealio/appilot:main

Using LLM alternatives to GPT-4

You can use other LLMs as the reasoning engine of Appilot, as long as it serves inference APIs in openAI compatible way.

  1. Configure the .env file, then set OPENAI_API_BASE=https://your-api-base.

  2. Run Appilot as normal.

How it works

The following is the architecture diagram of Appilot:

appilot-arch

License

Copyright (c) 2023 Seal, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at LICENSE file for details.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

appilot's People

Contributors

gitlawr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.