Coder Social home page Coder Social logo

iauto's Introduction

iauto

iauto is a Low-Code intelligent automation tool that integrates LLM and RPA.

Key Features

  • Low-Code: Define workflows using YAML, for collaboration and version control.
  • Automation: Integrated multiple automation frameworks such as Appium and Playwright.
  • Extensible: Friendly extensible interface that allows customization of any complex Action.
  • AI native: Create workflows containing LLM using low-code, as well as more complex automation agents based on ReAct or Multi-Agent.

News

  • Integrate autoge, define your automation Multi-Agent using YAML.
  • Support for running most open source LLM locally is provided through llama.cpp.

Quick Start

Installation

Python version requirement: >=3.8

iauto can be installed from PyPI using pip. It is recommended to create a new virtual environment before installation to avoid conflicts.

pip install -U iauto

If you need to run LLM locally, you can enable hardware acceleration in the following ways.

To enable cuBLAS acceleration on NVIDIA GPU:

CMAKE_ARGS="-DGGML_CUBLAS=ON" pip install -U iauto

To enable Metal on Apple silicon devices:

CMAKE_ARGS="-DGGML_METAL=ON" pip install -U iauto

Examples

Playbook is a YAML formatted file used to describe your workflow. In most cases, all you need to do is write a YAML file.

Example: Web automation

This example will open the local browser, then visit https://bing.com, execute JavaScript in the browser, and obtain the result.

browser.yaml :

playbook:
  description: Open browser and goto https://bing.com
  actions:
    - browser.open:
        args:
          exec: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
        result: $browser
    - browser.goto:
        args:
          browser: $browser
          url: https://bing.com
        result: $page
    - repeat:
        actions:
          - browser.eval:
              args:
                page: $page
                javascript: new Date()
              result: $now
          - log: $now
          - time.wait: 2

Run the playbook:

python -m iauto ./browser.yaml

Example: Chatbot

This example will start an interactive chatbot in the terminal. You can set the OPENAI_API_KEY in the environment variable, which will give you an application similar to ChatGPT.

chatbot.yaml :

playbook:
  description: Chat to OpenAI
  actions:
    - llm.session:
        result: $session
    - repeat:
        actions:
          - shell.prompt:
              args: "Human: "
              result: $prompt
          - llm.chat:
              args:
                session: $session
                prompt: $prompt
              result: $message
          - shell.print: "AI: {$message}"

Set your OpenAI API key:

export OPENAI_API_KEY=sk-<YOUR_API_KEY>

Run the playbook:

python -m iauto ./chatbot.yaml

More example playbooks

Playground

iauto provides a web-based playground program to facilitate the execution of some workflows. For example, the LLM playground is a workspace for LLM Chat, ReAct reasoning, and Multi-Agent tasks.

Run LLM playground:

python -m iauto --playground=llm --playbook-dir=./playbooks

LLM playground screenshot:

LLM playground screenshot

Contribution

We are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.

Development setup

# Create python venv
python -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt

# Apply autopep8, isort and flake8 as pre commit hooks
pre-commit install

Build

./build.sh

License

MIT

icon license: https://openmoji.org/library/emoji-1F9BE

iauto's People

Contributors

shellc avatar

Watchers

 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.