Name | genpilot JSON |
Version |
0.0.9
JSON |
| download |
home_page | https://github.com/yanmxa/genpilot |
Summary | GenPilot streamlines the prototype for single/multi-agent systems powered by Generative AI through an intuitive, user-friendly interface. |
upload_time | 2025-02-27 05:27:32 |
maintainer | None |
docs_url | None |
author | myan |
requires_python | <4.0,>=3.10 |
license | MIT |
keywords |
agent
mcp
chat
ai
ui
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
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.
## Installation
Require Python **3.10** or later.
```bash
pip install genpilot
```
## Usage
The client is initialized using `litellm`. Please refer to [the guide for details on different providers](https://docs.litellm.ai/docs/providers).
```python
import genpilot as gp
import asyncio
# 1. User Interface: Also supports Streamlit UI, allowing all agents to share the same chat interface.
terminal = gp.TerminalChat(model_options={"temperature": 0.2, "stream": True})
# 2. Define a Tool to search and summarize information
def search_and_summarize(query):
"""Search for information on the internet and return a summary."""
return f"Here's the summary for '{query}': [Summarized info]."
# 3. Define an Agent for summarizing search results
info_explorer = gp.Agent(
name="Information Explorer",
model_name="groq:llama-3.3-70b-versatile",
chat=terminal,
tools=[search_and_summarize],
system=(
"Your role is to search the internet and summarize relevant information for a given query. "
"Use the search tool to find and condense information for the user, ensuring clarity and relevance."
),
)
# 4. Run the Agent with a query
response = asyncio.run(info_explorer("What's the latest news about AI advancements?"))
print(response)
```
## Why GenPilot?
- **User-Friendly Interface**: GenPilot offers an intuitive interface for prototyping and quick implementation, whether through a web UI(streamlit, chainlit) or terminal. Get started quickly and seamlessly with minimal effort.
- **MCP Integration**: Leverage the servers provided by MCP to enhance the ecosystem and empower agents with advanced capabilities.
- **Enhanced Autonomy**: GenPilot can internally register and invoke tools, reducing reliance on external agents and minimizing unnecessary interactions.
- **Governed Actions**

GenPilot's actions are governed by three permission levels:
- **`auto`**: Permission requested only for system/environment-modifying actions.
- **`always`**: Permission requested for all actions.
- **`none`**: No permission requests.
- **Multi-Agent System**: Seamlessly scale from single-agent tasks to complex multi-agent workflows, inspired by [Routines and Handoffs](https://cookbook.openai.com/examples/orchestrating_agents#executing-routines).
- **Memory** [PROCESSING]: GenPilot enhances accuracy with customizable memory:
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**: GenPilot integrates a retrieval agent that allows local resource or knowledge integration into the multi-agent system. The default implementation leverages 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
### Samples
<details>
<summary>This demo provides advice on what to wear when traveling to a city</summary>
[](https://asciinema.org/a/686709)
</details>
<details>
<summary>This demo uses multi-agent troubleshooting for issues in RedHat ACM</summary>
#### Cluster Unknown
[](https://asciinema.org/a/687993)
#### Addons Aren't Created
[](https://asciinema.org/a/689439)
</details>
Raw data
{
"_id": null,
"home_page": "https://github.com/yanmxa/genpilot",
"name": "genpilot",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "agent, MCP, chat, ai, UI",
"author": "myan",
"author_email": "myan@redhat.com",
"download_url": "https://files.pythonhosted.org/packages/ab/c0/4fd6c30e161e8aecbf2be1bd5c3cefbdf086c188931290aee38d5b45e8b4/genpilot-0.0.9.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## Installation\n\nRequire Python **3.10** or later.\n\n```bash\npip install genpilot\n```\n\n## Usage\n\nThe client is initialized using `litellm`. Please refer to [the guide for details on different providers](https://docs.litellm.ai/docs/providers).\n\n```python\nimport genpilot as gp\nimport asyncio\n\n# 1. User Interface: Also supports Streamlit UI, allowing all agents to share the same chat interface.\nterminal = gp.TerminalChat(model_options={\"temperature\": 0.2, \"stream\": True})\n\n# 2. Define a Tool to search and summarize information\ndef search_and_summarize(query):\n \"\"\"Search for information on the internet and return a summary.\"\"\"\n return f\"Here's the summary for '{query}': [Summarized info].\"\n\n# 3. Define an Agent for summarizing search results\ninfo_explorer = gp.Agent(\n name=\"Information Explorer\",\n model_name=\"groq:llama-3.3-70b-versatile\",\n chat=terminal,\n tools=[search_and_summarize],\n system=(\n \"Your role is to search the internet and summarize relevant information for a given query. \"\n \"Use the search tool to find and condense information for the user, ensuring clarity and relevance.\"\n ),\n)\n\n# 4. Run the Agent with a query\nresponse = asyncio.run(info_explorer(\"What's the latest news about AI advancements?\"))\nprint(response)\n```\n\n## Why GenPilot?\n\n- **User-Friendly Interface**: GenPilot offers an intuitive interface for prototyping and quick implementation, whether through a web UI(streamlit, chainlit) or terminal. Get started quickly and seamlessly with minimal effort.\n\n- **MCP Integration**: Leverage the servers provided by MCP to enhance the ecosystem and empower agents with advanced capabilities.\n\n- **Enhanced Autonomy**: GenPilot can internally register and invoke tools, reducing reliance on external agents and minimizing unnecessary interactions.\n\n- **Governed Actions**\n\n \n\n GenPilot's actions are governed by three permission levels:\n\n - **`auto`**: Permission requested only for system/environment-modifying actions.\n - **`always`**: Permission requested for all actions. \n - **`none`**: No permission requests. \n\n- **Multi-Agent System**: Seamlessly scale from single-agent tasks to complex multi-agent workflows, inspired by [Routines and Handoffs](https://cookbook.openai.com/examples/orchestrating_agents#executing-routines).\n\n- **Memory** [PROCESSING]: GenPilot enhances accuracy with customizable memory:\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**: GenPilot integrates a retrieval agent that allows local resource or knowledge integration into the multi-agent system. The default implementation leverages 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\n - https://github.com/zou-group/textgrad\n\n### Samples\n\n<details>\n<summary>This demo provides advice on what to wear when traveling to a city</summary>\n\n[](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[](https://asciinema.org/a/687993)\n\n#### Addons Aren't Created\n\n[](https://asciinema.org/a/689439)\n\n</details>",
"bugtrack_url": null,
"license": "MIT",
"summary": "GenPilot streamlines the prototype for single/multi-agent systems powered by Generative AI through an intuitive, user-friendly interface.",
"version": "0.0.9",
"project_urls": {
"Homepage": "https://github.com/yanmxa/genpilot",
"Repository": "https://github.com/yanmxa/genpilot"
},
"split_keywords": [
"agent",
" mcp",
" chat",
" ai",
" ui"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7cb9a2422f7dded95624a866e428eb7cbb5376e8409f0cf3b9fd856174d36228",
"md5": "af5a1d3257b135dbcf6bba00bb6852b5",
"sha256": "a5483f5325895dd54073ac0445888a1b4a62cb65bea57baa1c4bbb46904830af"
},
"downloads": -1,
"filename": "genpilot-0.0.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "af5a1d3257b135dbcf6bba00bb6852b5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 21147,
"upload_time": "2025-02-27T05:27:30",
"upload_time_iso_8601": "2025-02-27T05:27:30.510537Z",
"url": "https://files.pythonhosted.org/packages/7c/b9/a2422f7dded95624a866e428eb7cbb5376e8409f0cf3b9fd856174d36228/genpilot-0.0.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "abc04fd6c30e161e8aecbf2be1bd5c3cefbdf086c188931290aee38d5b45e8b4",
"md5": "2edc9b05909871ed1f5e48053efbab5b",
"sha256": "50ea164376fb485d0881b2a9a09fa8d2027e41b993d4e41573b629361df4bc4f"
},
"downloads": -1,
"filename": "genpilot-0.0.9.tar.gz",
"has_sig": false,
"md5_digest": "2edc9b05909871ed1f5e48053efbab5b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 15730,
"upload_time": "2025-02-27T05:27:32",
"upload_time_iso_8601": "2025-02-27T05:27:32.929220Z",
"url": "https://files.pythonhosted.org/packages/ab/c0/4fd6c30e161e8aecbf2be1bd5c3cefbdf086c188931290aee38d5b45e8b4/genpilot-0.0.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-27 05:27:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yanmxa",
"github_project": "genpilot",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "genpilot"
}