Package: iauto
iautoiautois a Low-Code intelligent automation tool that integrates LLM and RPA.Key FeaturesLow-Code: Define workflows using YAML, for collaboration and version control.Automation: Integrated multiple automation frameworks such asAppiumandPlaywright.Extensible: User-friendly extensible interface for customizing any complex Action.AI native: Create workflows containing LLM using low-code, as well as more complex automation agents based onReActorMulti-Agent.NewsIntegrateautogen, define your automation Multi-Agent using YAML.Support for running most open source LLM locally is provided throughllama.cpp.Quick StartInstallationPython version requirement: >=3.8iautocan be installed from PyPI usingpip. It is recommended to create a new virtual environment before installation to avoid conflicts.pipinstall-UiautoIf you want 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"pipinstall-UiautoTo enable Metal on Apple silicon devices:CMAKE_ARGS="-DGGML_METAL=ON"pipinstall-UiautoExamplesA Playbook is a YAML-formatted file that describes your workflow. In most cases, all you need to do is write a YAML file.Example 1: Web automationThis example will open the local browser, then visithttps://bing.com, execute JavaScript in the browser, and obtain the result.browser.yaml:playbook:description:Open browser and goto https://bing.comactions:-browser.open:args:exec:/Applications/Google Chrome.app/Contents/MacOS/Google Chromeresult:$browser-browser.goto:args:browser:$browserurl:https://bing.comresult:$page-repeat:actions:-browser.eval:args:page:$pagejavascript:new Date()result:$now-log:$now-time.wait:2Run the playbook:python-miauto./browser.yamlExample 2: ChatbotThis example launches an interactive chatbot in the terminal. You can configure the OPENAI_API_KEY in the environment variable to access an application similar to ChatGPT.chatbot.yaml:playbook:description:Chat to OpenAIactions:-llm.session:result:$session-repeat:actions:-shell.prompt:args:"Human:"result:$prompt-llm.chat:args:session:$sessionprompt:$promptresult:$message-shell.print:"AI:{$message}"Set your OpenAI API key:exportOPENAI_API_KEY=sk-<YOUR_API_KEY>Run the playbook:python-miauto./chatbot.yamlExample 3: Multi-AgentIn this example, two agents work together to solve user tasks collaboratively.multi-agent.yaml:playbook:actions:-llm.session:args:actions:-shell.cmdresult:$session-agents.create:args:session:$sessionname:GeneralAssistantresult:$general_assistant-agents.create:args:session:$sessionname:FinacialAnalystdescription:|A financial analyst specializing in analyzing financial marketsand investment opportunities.result:$finacial_analyst-agents.executor:args:session:$sessionagents:-$general_assistant-$finacial_analystresult:$agent_executor-repeat:actions:-shell.prompt:args:"Human:"result:$prompt-agents.run:args:agent_executor:$agent_executormessage:$promptresult:$message-shell.print:args:message:"AI:{$message}"color:greenRun the playbook:python-miauto./multi-agent.yamlMore examplesPlaygroundiauto offers a web-based playground program for executing workflows. The LLM playground provides a workspace for LLM Chat, ReAct reasoning, and Multi-Agent tasks.Run LLM playground:python-miauto--playground=llm--playbook-dir=./playbooksLLM playground screenshot:ContributionWe are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.Development setupCode Style:PEP-8Docstring Style:Google Style# Create python venvpython-mvenv.venvsource.venv/bin/activate# Install dependenciespipinstall-rrequirements.txt
pipinstall-rrequirements-dev.txt# Apply autopep8, isort and flake8 as pre commit hookspre-commitinstallBuild./build.shLicenseMITicon license:https://openmoji.org/library/emoji-1F9BE