genpilot
Language:
Python
Stars:
4
Forks:
0
GenPilot
GenPilot streamlines the creation, development, and management of single and multi-agent systems powered by Generative AI. Adhering to the Model Context Protocol (MCP), it ensures seamless integration with a variety of MCP servers, enabling both developers and end-users to efficiently transform concepts and prototypes into fully realized solutions. All of this is facilitated through an intuitive, user-friendly terminal and web interface.
Installation
Require Python 3.10 or later.
pip install genpilot
Usage
The client is initialized using litellm
. Please refer to the guide for details on different providers.
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()
# 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_config={
"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?
- **MCP Agent**: Leverage the MCP servers provided by the ecosystem to empower agents, allowing them to connect and interact within a richer, more expansive environment.
-
Multi-Agent System: Seamlessly scale from single-agent tasks to complex multi-agent workflows, inspired by Routines and Handoffs.
-
User-Friendly Interface: Offers an intuitive interface for prototyping and quick implementation, whether through a web UI (Streamlit, Chainlit) or terminal. Get started quickly and effortlessly with minimal effort.
-
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 actionsalways
: Permission requested for all actionsnone
: No permission requests
-
Memory [PROCESSING]: GenPilot enhances accuracy with customizable memory:
-
ChatBufferMemory
A short-term memory solution designed to retrieve the most recent message along with the current session context. -
ChatVectorMemory
A long-term memory implementation based on LlamaIndex vector memory.
MemGPT: Towards LLMs as Operating Systems CLIN: A CONTINUALLY LEARNING LANGUAGE AGENT FOR RAPID TASK ADAPTATION AND GENERALIZATION
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.
- **Typed Prompt and Auto Optimizer**
Samples
This demo provides advice on what to wear when traveling to a city
This demo uses multi-agent troubleshooting for issues in RedHat ACM