genpilot


Namegenpilot JSON
Version 0.0.2 PyPI version JSON
download
home_pagehttps://github.com/yanmxa/chat-agent
SummaryFacilitates the creation and management of multi-agent systems, offering a user-friendly interface for both developers and end-users to bring your ideas and prototypes to life.
upload_time2025-02-21 17:10:27
maintainerNone
docs_urlNone
authormyan
requires_python<4.0,>=3.10
licenseMIT
keywords agent chat terminal ui
VCS
bugtrack_url
requirements groq python-dotenv rich openai pydantic
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <img src="./asset/zen-agent.png" width="260", height="240" />
</p>

---

# GenPilot

**GenPilot** streamlines the creation and management of multi-agent systems powered by Generative AI through an intuitive, user-friendly interface. It allows both developers and end-users to efficiently transform concepts and prototypes into fully realized solutions.

- **Boost Autonomy**

  ![alt text](./asset/autonomy.png)
  GenPilot differ from those in systems like [AutoGen](https://microsoft.github.io/autogen/0.2/). With built-in tools, they operate independently, eliminating the need to rely on other agents for information. This allows them to iterate on a task before delivering results or involving another agent, reducing unnecessary interactions and agents.

- **Tool Integration**

  Unlike [LangChain](https://python.langchain.com/docs/how_to/custom_tools/) or [AutoGen](https://microsoft.github.io/autogen/0.2/docs/tutorial/tool-use/), which require following serval rules to register functions or tools, GenPilot allows you to simply write a function and add a comment. The agent will automatically use the tool to solve tasks. As shown in the example below, check out sample/agent_tool.py for a quick start.

  ```python
  Agent(
    model_client,
    "Assistant AI", "You are an assistant to solve tasks",
    tools=[wikipedia],
  ).run()
  ```

- **Governed Actions**

  ![governed action](./asset/action.png)
  Actions performed by the GenPilot are regulated by developers with three permission levels:  
  - **`auto`**: Requests permission only for actions that modify the system or environment[PromptAgent]
  - **`always`**: Requests permission for every action.  
  - **`none`**: Never requests permission.  

- **Multi-Agent System**

  Transitioning the gen-agent into a multi-agent system a straightforward process. The handoff workflow for orchestrating agents draws inspiration from the post [Routines and Handoffs](https://cookbook.openai.com/examples/orchestrating_agents#executing-routines), which details the functionality of the [Swarm](https://github.com/openai/swarm) project. We strive to achieve a harmonious balance, enabling you to create a single agent for specific tasks while effortlessly evolving towards a sophisticated multi-agent framework.


<details>
<summary>This demo provides advice on what to wear when traveling to a city</summary>

[![Watch the demo](https://asciinema.org/a/686709.svg)](https://asciinema.org/a/686709)

</details>

<details>

<summary>This demo uses multi-agent troubleshooting for issues in RedHat ACM</summary>

#### Cluster Unknown

[![Watch the demo](https://asciinema.org/a/687993.svg)](https://asciinema.org/a/687993)

#### Addons Aren't Created

[![Watch the demo](https://asciinema.org/a/689439.svg)](https://asciinema.org/a/689439)

</details>


- **Memory** [PROCESSING]  

  Memory capabilities enhance accuracy and optimize thought processes by transitioning from stateless to stateful operations. Unlike Retrieval-Augmented Generation (RAG), which builds knowledge from external sources, our approach is based on the agent's own experiences.

  Zen-Agent provides an interface called `ChatMemory` that allows you to customize memory for your assistant. We offer two default memory implementations:

  1. `ChatBufferMemory` A short-term memory solution designed to retrieve the most recent message along with the current session context.

  2. `ChatVectorMemory` A long-term memory implementation based on LlamaIndex [vector memory](https://docs.llamaindex.ai/en/stable/examples/agent/memory/vector_memory/).

  > [MemGPT: Towards LLMs as Operating Systems](https://arxiv.org/pdf/2310.08560)
  > [CLIN: A CONTINUALLY LEARNING LANGUAGE AGENT FOR RAPID TASK ADAPTATION AND GENERALIZATION](https://arxiv.org/pdf/2310.10134)

  3. `ChatPgMemory` ...

- **RAG Support**

We also provide a retrieval agent capable of integrating local resources or knowledge into the multi-agent system. The default implementation is based on LlamaIndex's [ChatEngine](https://docs.llamaindex.ai/en/stable/examples/chat_engine/chat_engine_best/).

- **Typed Prompt and Auto Optimizer**

  - https://github.com/stanfordnlp/dspy
  - https://github.com/zou-group/textgrad

- **UI Support**
 
  - https://github.com/streamlit/streamlit

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/yanmxa/chat-agent",
    "name": "genpilot",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "agent, chat, terminal, UI",
    "author": "myan",
    "author_email": "myan@redhat.com",
    "download_url": "https://files.pythonhosted.org/packages/54/b1/beeb1d7108c56ddfdb290b747c495a8a0ebbc187c1f041f3eaf3888cda6d/genpilot-0.0.2.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <img src=\"./asset/zen-agent.png\" width=\"260\", height=\"240\" />\n</p>\n\n---\n\n# GenPilot\n\n**GenPilot** streamlines the creation and management of multi-agent systems powered by Generative AI through an intuitive, user-friendly interface. It allows both developers and end-users to efficiently transform concepts and prototypes into fully realized solutions.\n\n- **Boost Autonomy**\n\n  ![alt text](./asset/autonomy.png)\n  GenPilot differ from those in systems like [AutoGen](https://microsoft.github.io/autogen/0.2/). With built-in tools, they operate independently, eliminating the need to rely on other agents for information. This allows them to iterate on a task before delivering results or involving another agent, reducing unnecessary interactions and agents.\n\n- **Tool Integration**\n\n  Unlike [LangChain](https://python.langchain.com/docs/how_to/custom_tools/) or [AutoGen](https://microsoft.github.io/autogen/0.2/docs/tutorial/tool-use/), which require following serval rules to register functions or tools, GenPilot allows you to simply write a function and add a comment. The agent will automatically use the tool to solve tasks. As shown in the example below, check out sample/agent_tool.py for a quick start.\n\n  ```python\n  Agent(\n    model_client,\n    \"Assistant AI\", \"You are an assistant to solve tasks\",\n    tools=[wikipedia],\n  ).run()\n  ```\n\n- **Governed Actions**\n\n  ![governed action](./asset/action.png)\n  Actions performed by the GenPilot are regulated by developers with three permission levels:  \n  - **`auto`**: Requests permission only for actions that modify the system or environment[PromptAgent]\n  - **`always`**: Requests permission for every action.  \n  - **`none`**: Never requests permission.  \n\n- **Multi-Agent System**\n\n  Transitioning the gen-agent into a multi-agent system a straightforward process. The handoff workflow for orchestrating agents draws inspiration from the post [Routines and Handoffs](https://cookbook.openai.com/examples/orchestrating_agents#executing-routines), which details the functionality of the [Swarm](https://github.com/openai/swarm) project. We strive to achieve a harmonious balance, enabling you to create a single agent for specific tasks while effortlessly evolving towards a sophisticated multi-agent framework.\n\n\n<details>\n<summary>This demo provides advice on what to wear when traveling to a city</summary>\n\n[![Watch the demo](https://asciinema.org/a/686709.svg)](https://asciinema.org/a/686709)\n\n</details>\n\n<details>\n\n<summary>This demo uses multi-agent troubleshooting for issues in RedHat ACM</summary>\n\n#### Cluster Unknown\n\n[![Watch the demo](https://asciinema.org/a/687993.svg)](https://asciinema.org/a/687993)\n\n#### Addons Aren't Created\n\n[![Watch the demo](https://asciinema.org/a/689439.svg)](https://asciinema.org/a/689439)\n\n</details>\n\n\n- **Memory** [PROCESSING]  \n\n  Memory capabilities enhance accuracy and optimize thought processes by transitioning from stateless to stateful operations. Unlike Retrieval-Augmented Generation (RAG), which builds knowledge from external sources, our approach is based on the agent's own experiences.\n\n  Zen-Agent provides an interface called `ChatMemory` that allows you to customize memory for your assistant. We offer two default memory implementations:\n\n  1. `ChatBufferMemory` A short-term memory solution designed to retrieve the most recent message along with the current session context.\n\n  2. `ChatVectorMemory` A long-term memory implementation based on LlamaIndex [vector memory](https://docs.llamaindex.ai/en/stable/examples/agent/memory/vector_memory/).\n\n  > [MemGPT: Towards LLMs as Operating Systems](https://arxiv.org/pdf/2310.08560)\n  > [CLIN: A CONTINUALLY LEARNING LANGUAGE AGENT FOR RAPID TASK ADAPTATION AND GENERALIZATION](https://arxiv.org/pdf/2310.10134)\n\n  3. `ChatPgMemory` ...\n\n- **RAG Support**\n\nWe also provide a retrieval agent capable of integrating local resources or knowledge into the multi-agent system. The default implementation is based on LlamaIndex's [ChatEngine](https://docs.llamaindex.ai/en/stable/examples/chat_engine/chat_engine_best/).\n\n- **Typed Prompt and Auto Optimizer**\n\n  - https://github.com/stanfordnlp/dspy\n  - https://github.com/zou-group/textgrad\n\n- **UI Support**\n \n  - https://github.com/streamlit/streamlit\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Facilitates the creation and management of multi-agent systems, offering a user-friendly interface for both developers and end-users to bring your ideas and prototypes to life.",
    "version": "0.0.2",
    "project_urls": {
        "Homepage": "https://github.com/yanmxa/chat-agent",
        "Repository": "https://github.com/yanmxa/chat-agent"
    },
    "split_keywords": [
        "agent",
        " chat",
        " terminal",
        " ui"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "77ddd91d4ff9f04e3b931e0a1fe0e9e1c62dde09faccc187cf6d4cd59f4419cb",
                "md5": "d1b2b8d49fc041764032696402e827ef",
                "sha256": "26a88921b8e74ba76dd1bee65a74c5525d20420360f0e28d2248f5f0914c7eff"
            },
            "downloads": -1,
            "filename": "genpilot-0.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d1b2b8d49fc041764032696402e827ef",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 13148,
            "upload_time": "2025-02-21T17:10:25",
            "upload_time_iso_8601": "2025-02-21T17:10:25.750088Z",
            "url": "https://files.pythonhosted.org/packages/77/dd/d91d4ff9f04e3b931e0a1fe0e9e1c62dde09faccc187cf6d4cd59f4419cb/genpilot-0.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "54b1beeb1d7108c56ddfdb290b747c495a8a0ebbc187c1f041f3eaf3888cda6d",
                "md5": "5ca48a79d0d4210e81ade7735b40046b",
                "sha256": "41a5fd79e3d8ef5b245caa0ba28c82a22ab7d65ba2af30908d496f19b689818e"
            },
            "downloads": -1,
            "filename": "genpilot-0.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "5ca48a79d0d4210e81ade7735b40046b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 11425,
            "upload_time": "2025-02-21T17:10:27",
            "upload_time_iso_8601": "2025-02-21T17:10:27.467299Z",
            "url": "https://files.pythonhosted.org/packages/54/b1/beeb1d7108c56ddfdb290b747c495a8a0ebbc187c1f041f3eaf3888cda6d/genpilot-0.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-21 17:10:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "yanmxa",
    "github_project": "chat-agent",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "groq",
            "specs": [
                [
                    "==",
                    "0.9.0"
                ]
            ]
        },
        {
            "name": "python-dotenv",
            "specs": [
                [
                    "==",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    "==",
                    "13.9.2"
                ]
            ]
        },
        {
            "name": "openai",
            "specs": [
                [
                    "==",
                    "1.52.2"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    "==",
                    "2.9.2"
                ]
            ]
        }
    ],
    "lcname": "genpilot"
}
        
Elapsed time: 0.45280s