Skip to main content

Autonomous AI Agents Framework with Asynchronous Agent Loop Running Environment

Project description

AutoAgent: Awesome Autonomous Agents Repo and Asynchronous Environment for public available Autonomous Agents

This is the official github repo of pypi package AutoAgent (https://pypi.org/project/AutoAgent). This repo is intended to provide common interface of Autonomous Agents async runing, debuging, deployment. To contribute the AutoAgent repo, you can visit the guidelines at (http://www.deepnlp.org/blog?category=agent)

Autonomous Agents is becoming more popular than ever and can help enterprise reduce costs and boost revenue, such as https://blogs.microsoft.com/blog/2024/10/21/new-autonomous-agents-scale-your-team-like-never-before/ and Claude's Computer Use Autonommous AI Agents(https://docs.anthropic.com/en/docs/build-with-claude/computer-use).

Awesome AI Agents Resources and Public Reviews

Project Agent Sub-Category Developer URL AI Agent Reviews
AutoGen AI Agent Framework Microsoft https://microsoft.github.io/autogen/0.2/ http://www.deepnlp.org/store/pub/pub-microsoft-ai-agent
AgentGPT AI Agent Framework Reworkd https://github.com/reworkd/AgentGPT http://www.deepnlp.org/store/pub/pub-agentgpt
Claude Computer Use Agent Automomous Agent Anthropic https://docs.anthropic.com/en/docs/build-with-claude/computer-use http://www.deepnlp.org/store/pub/pub-microsoft-ai-agent
OpenAI AI Agent 'Operator' Automomous Agent OpenAI TBD http://www.deepnlp.org/store/pub/pub-openai-ai-agent
AgentForce AI Agent Application Saleforce https://www.salesforce.com/agentforce/ http://www.deepnlp.org/store/pub/pub-salesforce-ai-agent
AutoGLM AutoGLM Phone Use Zhipu AI https://xiao9905.github.io/AutoGLM http://www.deepnlp.org/store/pub/pub-zhipu-ai

AutoAgent and AgentBoard Packages

To help visualize the development and running process of AI Agents, we provide "AutoAgent" and "agentboard".

AutoAgent is a common async run loop wrapper of AI agents, compatible with most of the LLM APIs and local models.

AgentBoard is a project (https://github.com/AI-Hub-Admin/agentboard), just like "tensorboard" to visualize tensors of model training, help visualize the detailed process, workflow, text, audio, image input and output of Agent running with cutomized loging functions. For the tutorial of agentboard, you can visit (AgentBoard: AI Agent Visualization Toolkit for Agent Loop Workflow RAG Tool Use Functions Callings and Multi Modal Data Visualization)

You can first setup the agentboard and start a web admin page as in the repo (https://github.com/AI-Hub-Admin/agentboard). It comes with a default minimal functioning Community GUI (X/twitter style) to visualze difference phases (plan/act/react/reflect) of Autonomous AI Agent Loop.

Auto Plan AI Agents
Auto Plan Agent

Website Admin AI Agents
WebAdmin Automatic Comment Agent

Install

pip install AutoAgent agentboard

Setup agentboard for Visualization

Cloning From Github

git clone https://github.com/AI-Hub-Admin/agentboard.git

# rm old sqllite db file
cd /src/
rm sqllite_database.db 

## init the db
python3 db_sqllite.py

## run the webpage server
python3 run_agent_board.py

Using Command Line

## cmdline
agentboard

You can visit URL: http://127.0.0.1:5000/agent to see if the agentboard run successfully.

AutoAgent QuickStart

Example 1 AutoPlan Agent

Task: Initialize two AI Agents to plan today's activities and post on the X (web simulator).

agent 1: Tom is a young boy
agent 2: Tom's dad

In the plan->act->reflect agent loop.

PLAN: Agent will make plans for their days and split the plans output into separate actions.
ACT: Take Actions, and post their planned activities on the agentboard X webpage.
REFLECT: At the end of the day, make a summary of their day.

Autonomous Plan Agent

Full implementation in folder /examples/auto_plan_agent/run_agents_plan_a_day.py



    agent1_prompt = """You are playing the role of Tom a 5 year old boy. Your Task is to make plans for today, and you can choose activities from 'go to school, play with Jack, swimming', you can decide what how long"
     At the end of the day, you need to make a summary of your daily activities and make a selfie and posted on the website"""
    agent2_prompt = """You are playing the role of Tom's dad and you are making plans for today, you can choose between having breakfast, go to company, 
    have meetings with clients. But at 5:00 pm, you have to pick up tom, your son from school.  At the end of the day, you should take a picture with your boy Tom and send to his mother, Lily."""

    agent1 = AutoPlanAgent(name="Tom", instructions=agent1_prompt, avatar="icon_children.jpg", debug=True)
    agent2 = AutoPlanAgent(name="Daddy", instructions=agent2_prompt, avatar="icon_male.jpg", debug=True)

    agents = [agent1, agent2]
    # agents = [AutoPlanAgent(name=agent_name, instructions=prompt, avatar=avatar, debug=True) for i, (agent_name, prompt, avatar) in enumerate(zip(agents_name, prompt_list, agents_avatar))]
    env = AsyncAutoEnv(get_openai_client(), agents=agents)
    results = env.run()


You can visit your webpage at: http://127.0.0.1:5000/agent and see two agents, Tom and Dad posting on your timeline in a asynchronous order as in the snapshot.

Example 2: Web Administration Agent

The use case covers a typical scene of Website Administrator AI Agents.

WebAdmin Auto Comment AI Agent

agent 1: Website Comment Content Auditor

Task: Audit the content that user publish on the website to see if it's spam, if it's spam, change the status to 0 (offline). Otherwise, change the status to 1 (online). There is decision process in the task.

PLAN : In a while loop, check if the trigger status is true, such as there are newly published pending contents. ACT: Call Tools to decide if it's spam and post RESTFUL URL to the agentboard REFLECT: NA

agent 2: Website Automatic Comment Agent

Task: Whenever there are new contents published by users and status is online for display, give some welcome comment to the post and increase the engagement of users.

PLAN : In a while loop, check if the trigger status is true, such as there are new posts published with no comments still. ACT: Take Actions, Call Tools to generate reply, and post a replies to the newly published posts. REFLECT: NA

Full implementation in folder /examples/web_admin_agent/run_agents_webadmin.py



def run_webadmin_agent_env():
    """
        Step 1: Design your customized agents
        Step 2: new Agent Environment
        Step 3: Run

        Todo: 1. merge function trigger and tools to the same functions list
    """
    ## Website Content Auditor Agent (Decide if contents are suitable to publish or if the contents are spam)
    agent1_prompt = """You are playing the role of a website content Auditor, you can decide if users' published comments are spam or not and publish the content from pending status. """
    ## Website Automatic Reply Agent
    agent2_prompt = """You are playing the role of a website automatic reply agent, whenever users publish a post or leave a comment, please replies some complementary words to the users, You can use the tools and post on the available RESTFUL APIs."""
    ## User Publish New Content -> Make Newly Published Content status from pending audit to online  -> comment reply bot will reply to new comment.
    
    webadmin_1 = AutoWebAdminAgent(name="web_content_audit", instructions=agent1_prompt, max_runtime = 3*24*60*60, tools=[post_request_update_activities_status], func_run_trigger=get_request_activities_pending,debug=True)
    webadmin_2 = AutoWebAdminAgent(name="web_auto_comment", instructions=agent2_prompt, max_runtime = 3*24*60*60, tools=[post_request_comment], func_run_trigger=get_request_content_needs_auto_comment,debug=True)
    
    agents = [webadmin_1, webadmin_2]
    # agents = [webadmin_2]
    env = AsyncAutoEnv(get_openai_client(), agents=agents)
    results = env.run()

if __name__ == "__main__":
    # Start the processing thread
    # run_auto_plan_agent_to_post()
    run_webadmin_agent_env()

Agents Related Pipeline Workflow and Document

Related Blogs

AgentBoard Workflow
AgentBoard Documents
AutoAgent Documents
DeepNLP AI Agents Designing Guidelines
Introduction to multimodal generative models
Generative AI Search Engine Optimization
AI Image Generator User Reviews
AI Video Generator User Reviews
AI Chatbot & Assistant Reviews
Best AI Tools User Reviews
AI Boyfriend User Reviews
AI Girlfriend User Reviews

AI Services Reviews and Ratings

AI Agent

Microsoft AI Agents Reviews
Claude AI Agents Reviews
OpenAI AI Agents Reviews
AgentGPT AI Agents Reviews
Saleforce AI Agents Reviews

Chatbot

OpenAI o1 Reviews
ChatGPT User Reviews
Gemini User Reviews
Perplexity User Reviews
Claude User Reviews
Qwen AI Reviews
Doubao Reviews
ChatGPT Strawberry
Zhipu AI Reviews

AI Image Generation

Midjourney User Reviews
Stable Diffusion User Reviews
Runway User Reviews
GPT-5 Forecast
Flux AI Reviews
Canva User Reviews

AI Video Generation

Luma AI
Pika AI Reviews
Runway AI Reviews
Kling AI Reviews
Dreamina AI Reviews

AI Education

Coursera Reviews
Udacity Reviews
Grammarly Reviews

Robotics

Tesla Cybercab Robotaxi
Tesla Optimus
Figure AI
Unitree Robotics Reviews
Waymo User Reviews
ANYbotics Reviews
Boston Dynamics

AI Tools

DeepNLP AI Tools

AI Widgets

Apple Glasses
Meta Glasses
Apple AR VR Headset
Google Glass
Meta VR Headset
Google AR VR Headsets

Social

Character AI

Self-Driving

BYD Seal
Tesla Model 3
BMW i4
Baidu Apollo Reviews
Hyundai IONIQ 6

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

AutoAgent-0.0.2-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file AutoAgent-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: AutoAgent-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for AutoAgent-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2ef8aa7ae4432331afd3e22ff7bc15b8643e44bef718b13fa225efb1fee2c48a
MD5 b653bbf13af8e254aae5e4fb4165fbf8
BLAKE2b-256 481cfdd21424e4e3398c92dc2069ea73c90966be1d53ff3b83250ba5518efd08

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page