superagentx 0.1.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- superagentx-0.1.4/LICENSE +18 -0
- superagentx-0.1.4/PKG-INFO +251 -0
- superagentx-0.1.4/README.md +214 -0
- superagentx-0.1.4/pyproject.toml +47 -0
- superagentx-0.1.4/superagentx/__init__.py +0 -0
- superagentx-0.1.4/superagentx/agent.py +280 -0
- superagentx-0.1.4/superagentx/agentxpipe.py +257 -0
- superagentx-0.1.4/superagentx/agi/__init__.py +0 -0
- superagentx-0.1.4/superagentx/cli/__init__.py +0 -0
- superagentx-0.1.4/superagentx/constants.py +9 -0
- superagentx-0.1.4/superagentx/engine.py +140 -0
- superagentx-0.1.4/superagentx/exceptions.py +23 -0
- superagentx-0.1.4/superagentx/handler/__init__.py +6 -0
- superagentx-0.1.4/superagentx/handler/ai.py +85 -0
- superagentx-0.1.4/superagentx/handler/base.py +10 -0
- superagentx-0.1.4/superagentx/handler/elastic_search.py +98 -0
- superagentx-0.1.4/superagentx/handler/exa_search.py +59 -0
- superagentx-0.1.4/superagentx/handler/exceptions.py +7 -0
- superagentx-0.1.4/superagentx/handler/financial_data.py +101 -0
- superagentx-0.1.4/superagentx/handler/send_email.py +128 -0
- superagentx-0.1.4/superagentx/handler/serper_dev.py +63 -0
- superagentx-0.1.4/superagentx/io/__init__.py +9 -0
- superagentx-0.1.4/superagentx/io/base.py +69 -0
- superagentx-0.1.4/superagentx/io/console.py +94 -0
- superagentx-0.1.4/superagentx/llm/__init__.py +230 -0
- superagentx-0.1.4/superagentx/llm/bedrock.py +398 -0
- superagentx-0.1.4/superagentx/llm/client.py +63 -0
- superagentx-0.1.4/superagentx/llm/constants.py +51 -0
- superagentx-0.1.4/superagentx/llm/models.py +99 -0
- superagentx-0.1.4/superagentx/llm/openai.py +177 -0
- superagentx-0.1.4/superagentx/llm/types/__init__.py +0 -0
- superagentx-0.1.4/superagentx/llm/types/base.py +67 -0
- superagentx-0.1.4/superagentx/llm/types/response.py +72 -0
- superagentx-0.1.4/superagentx/memory/__init__.py +172 -0
- superagentx-0.1.4/superagentx/memory/base.py +69 -0
- superagentx-0.1.4/superagentx/memory/config.py +29 -0
- superagentx-0.1.4/superagentx/memory/storage.py +218 -0
- superagentx-0.1.4/superagentx/pipeimpl/__init__.py +0 -0
- superagentx-0.1.4/superagentx/pipeimpl/iopipe.py +70 -0
- superagentx-0.1.4/superagentx/pipeimpl/wspipe.py +133 -0
- superagentx-0.1.4/superagentx/prompt.py +65 -0
- superagentx-0.1.4/superagentx/result.py +12 -0
- superagentx-0.1.4/superagentx/utils/__init__.py +0 -0
- superagentx-0.1.4/superagentx/utils/console_color.py +48 -0
- superagentx-0.1.4/superagentx/utils/helper.py +35 -0
- superagentx-0.1.4/superagentx/utils/llm_config.py +43 -0
- superagentx-0.1.4/superagentx/utils/parsers/__init__.py +0 -0
- superagentx-0.1.4/superagentx/utils/parsers/base.py +12 -0
- superagentx-0.1.4/superagentx/utils/parsers/json.py +0 -0
- superagentx-0.1.4/superagentx/utils/parsers/list.py +71 -0
- superagentx-0.1.4/superagentx/utils/prompt/__init__.py +22 -0
- superagentx-0.1.4/superagentx/utils/prompt/base.py +127 -0
- superagentx-0.1.4/superagentx/utils/prompt/templates/__init__.py +28 -0
- superagentx-0.1.4/superagentx/vector_stores/__init__.py +130 -0
- superagentx-0.1.4/superagentx/vector_stores/base.py +33 -0
- superagentx-0.1.4/superagentx/vector_stores/chroma.py +252 -0
- superagentx-0.1.4/superagentx/vector_stores/constants.py +8 -0
- superagentx-0.1.4/superagentx/vector_stores/exceptions.py +2 -0
- superagentx-0.1.4/superagentx/vector_stores/opensearch.py +195 -0
- superagentx-0.1.4/superagentx/visualization/__init__.py +390 -0
- superagentx-0.1.4/superagentx/visualization/exceptions.py +3 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
|
|
2
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
3
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
4
|
+
in the Software without restriction, including without limitation the rights
|
|
5
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
6
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
7
|
+
furnished to do so, subject to the following conditions:
|
|
8
|
+
|
|
9
|
+
The above copyright notice and this permission notice shall be included in all
|
|
10
|
+
copies or substantial portions of the Software.
|
|
11
|
+
|
|
12
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
13
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
14
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
15
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
16
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
17
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
|
+
SOFTWARE.
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: superagentx
|
|
3
|
+
Version: 0.1.4
|
|
4
|
+
Summary: The Ultimate Modular Autonomous Multi AI Agent Framework.
|
|
5
|
+
Home-page: https://www.superagentx.ai/
|
|
6
|
+
License: MIT
|
|
7
|
+
Keywords: superagentX,AGI,Agentic AI,ASI,superagentx,agent,LLM
|
|
8
|
+
Author: SuperAgentX AI
|
|
9
|
+
Author-email: support@superagentx.ai
|
|
10
|
+
Maintainer: SuperAgentX AI
|
|
11
|
+
Maintainer-email: support@superagentx.ai
|
|
12
|
+
Requires-Python: >=3.10,<=3.13
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Requires-Dist: aiohttp (>=3.10.8,<4.0.0)
|
|
20
|
+
Requires-Dist: aiosqlite (>=0.20.0,<0.21.0)
|
|
21
|
+
Requires-Dist: bokeh (>=3.5.2,<4.0.0)
|
|
22
|
+
Requires-Dist: boto3 (>=1.35.8,<2.0.0)
|
|
23
|
+
Requires-Dist: chromadb (>=0.5.5,<0.6.0)
|
|
24
|
+
Requires-Dist: elasticsearch (>=8.15.1,<9.0.0)
|
|
25
|
+
Requires-Dist: exa-py (>=1.1.4,<2.0.0)
|
|
26
|
+
Requires-Dist: neo4j (>=5.24.0,<6.0.0)
|
|
27
|
+
Requires-Dist: openai (>=1.47.1,<2.0.0)
|
|
28
|
+
Requires-Dist: opensearch-py (>=2.7.1,<3.0.0)
|
|
29
|
+
Requires-Dist: protobuf (==3.20.3)
|
|
30
|
+
Requires-Dist: pydantic (>=2.8.2,<3.0.0)
|
|
31
|
+
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
|
32
|
+
Requires-Dist: rich (>=13.9.2,<14.0.0)
|
|
33
|
+
Project-URL: Documentation, https://docs.superagentx.ai/
|
|
34
|
+
Project-URL: Repository, https://github.com/superagentxai/superagentx
|
|
35
|
+
Description-Content-Type: text/markdown
|
|
36
|
+
|
|
37
|
+
<div align="center">
|
|
38
|
+
|
|
39
|
+
<img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/fulllogo_transparent.png?raw=True" width="350">
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
<br/>
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
**SuperAgentX**: The Ultimate Modular Autonomous Agentic AGI Framework for Progressing Towards AGI.
|
|
46
|
+
|
|
47
|
+
[](https://www.python.org/downloads/release/python-3100/)
|
|
48
|
+
[](https://github.com/decisionfacts/superagentX)
|
|
49
|
+
[](https://github.com/decisionfacts/superagentX/blob/master/LICENSE)
|
|
50
|
+
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
## Table of contents
|
|
54
|
+
- [What is SuperAgentX?](#what-is-superagentx)
|
|
55
|
+
- [Why SuperAgentX?](#why-superagentx)
|
|
56
|
+
- [Getting Started](#getting-started)
|
|
57
|
+
- [Key Features](#key-features)
|
|
58
|
+
- [Installing Dependencies](#installing-dependencies)
|
|
59
|
+
- [Contribution](#contribution)
|
|
60
|
+
- [License](#license)
|
|
61
|
+
|
|
62
|
+
## What is SuperAgentX?
|
|
63
|
+
|
|
64
|
+
**The Ultimate Modular Autonomous Agentic AGI Framework for Progressing Towards AGI.** <br/><br/>
|
|
65
|
+
SuperAgentX is an advanced agentic AI framework designed to accelerate the development of Artificial General Intelligence (AGI). It provides a powerful, modular, and flexible platform for building autonomous AI agents capable of executing complex tasks with minimal human intervention. By integrating cutting-edge AI technologies and promoting efficient, scalable agent behavior, SuperAgentX embodies a critical step forward in the path towards superintelligence and AGI. Whether for research, development, or deployment, SuperAgentX is built to push the boundaries of what's possible with autonomous AI systems.
|
|
66
|
+
|
|
67
|
+
## Why SuperAgentX?
|
|
68
|
+
|
|
69
|
+
SuperAgentX is designed to address the growing need for highly capable, autonomous AI systems that can perform complex tasks with minimal human intervention. As we approach the limits of narrow AI, there's a need for an adaptable and scalable framework to bridge the gap toward AGI (Artificial General Intelligence). Here’s why SuperAgentX stands out:
|
|
70
|
+
|
|
71
|
+
**Super** : Cutting-edge AI systems with exceptional capabilities, paving the way to **AGI** (Artificial General Intelligence) and **ASI** (Artificial Super Intelligence).</p>
|
|
72
|
+
**Agent** : Autonomous Multi AI agent framework designed to make decisions, act independently, and handle complex tasks. </p>
|
|
73
|
+
**X** : The unknown, the limitless, the extra factor that makes SuperAgentX revolutionary, futuristic, and transformative.</p>
|
|
74
|
+
|
|
75
|
+
### Getting Started
|
|
76
|
+
|
|
77
|
+
```shell
|
|
78
|
+
pip install superagentx
|
|
79
|
+
```
|
|
80
|
+
##### Usage - Example SuperAgentX Code
|
|
81
|
+
This SuperAgentX example utilizes two handlers, Amazon and Walmart, to search for product items based on user input from the IO Console.
|
|
82
|
+
|
|
83
|
+
1. It uses Parallel execution of handler in the agent
|
|
84
|
+
2. Memory Context Enabled
|
|
85
|
+
3. LLM configured to OpenAI
|
|
86
|
+
4. Pre-requisites
|
|
87
|
+
|
|
88
|
+
Set OpenAI Key:
|
|
89
|
+
```shell
|
|
90
|
+
export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxx
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Set Rapid API Key <a href="https://rapidapi.com/auth/sign-up" target="_blank">Free Subscription</a> for Amazon, Walmart Search APIs
|
|
94
|
+
```shell
|
|
95
|
+
export RAPID_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXX
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
```python
|
|
99
|
+
# Additional lib needs to install
|
|
100
|
+
# pip install superagentx-handlers
|
|
101
|
+
# python3 superagentx_examples/ecom_iopipe.py
|
|
102
|
+
|
|
103
|
+
import asyncio
|
|
104
|
+
import os
|
|
105
|
+
import sys
|
|
106
|
+
|
|
107
|
+
from rich import print as rprint
|
|
108
|
+
|
|
109
|
+
from superagentx.memory import Memory
|
|
110
|
+
|
|
111
|
+
sys.path.extend([os.path.dirname(os.path.dirname(os.path.abspath(__file__)))])
|
|
112
|
+
|
|
113
|
+
from superagentx.agent import Agent
|
|
114
|
+
from superagentx.engine import Engine
|
|
115
|
+
from superagentx.llm import LLMClient
|
|
116
|
+
from superagentx.agentxpipe import AgentXPipe
|
|
117
|
+
from superagentx.pipeimpl.iopipe import IOPipe
|
|
118
|
+
from superagentx.prompt import PromptTemplate
|
|
119
|
+
from superagentx_handlers.ecommerce.amazon import AmazonHandler
|
|
120
|
+
from superagentx_handlers.ecommerce.walmart import WalmartHandler
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
async def main():
|
|
124
|
+
"""
|
|
125
|
+
Launches the e-commerce pipeline console client for processing requests and handling data.
|
|
126
|
+
"""
|
|
127
|
+
|
|
128
|
+
# LLM Configuration
|
|
129
|
+
llm_config = {'llm_type': 'openai'}
|
|
130
|
+
llm_client: LLMClient = LLMClient(llm_config=llm_config)
|
|
131
|
+
|
|
132
|
+
# Enable Memory
|
|
133
|
+
memory = Memory()
|
|
134
|
+
|
|
135
|
+
# Add Two Handlers (Tools) - Amazon, Walmart
|
|
136
|
+
amazon_ecom_handler = AmazonHandler()
|
|
137
|
+
walmart_ecom_handler = WalmartHandler()
|
|
138
|
+
|
|
139
|
+
# Prompt Template
|
|
140
|
+
prompt_template = PromptTemplate()
|
|
141
|
+
|
|
142
|
+
# Amazon & Walmart Engine to execute handlers
|
|
143
|
+
amazon_engine = Engine(
|
|
144
|
+
handler=amazon_ecom_handler,
|
|
145
|
+
llm=llm_client,
|
|
146
|
+
prompt_template=prompt_template
|
|
147
|
+
)
|
|
148
|
+
walmart_engine = Engine(
|
|
149
|
+
handler=walmart_ecom_handler,
|
|
150
|
+
llm=llm_client,
|
|
151
|
+
prompt_template=prompt_template
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
# Create Agent with Amazon, Walmart Engines execute in Parallel - Search Products from user prompts
|
|
155
|
+
ecom_agent = Agent(
|
|
156
|
+
name='Ecom Agent',
|
|
157
|
+
goal="Get me the best search results",
|
|
158
|
+
role="You are the best product searcher",
|
|
159
|
+
llm=llm_client,
|
|
160
|
+
prompt_template=prompt_template,
|
|
161
|
+
engines=[[amazon_engine, walmart_engine]]
|
|
162
|
+
)
|
|
163
|
+
|
|
164
|
+
# Pipe Interface to send it to public accessible interface (Cli Console / WebSocket / Restful API)
|
|
165
|
+
pipe = AgentXPipe(
|
|
166
|
+
agents=[ecom_agent],
|
|
167
|
+
memory=memory
|
|
168
|
+
)
|
|
169
|
+
|
|
170
|
+
# Create IO Cli Console - Interface
|
|
171
|
+
io_pipe = IOPipe(
|
|
172
|
+
search_name='SuperAgentX Ecom',
|
|
173
|
+
agentx_pipe=pipe,
|
|
174
|
+
read_prompt=f"\n[bold green]Enter your search here"
|
|
175
|
+
)
|
|
176
|
+
await io_pipe.start()
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
if __name__ == '__main__':
|
|
180
|
+
try:
|
|
181
|
+
asyncio.run(main())
|
|
182
|
+
except (KeyboardInterrupt, asyncio.CancelledError):
|
|
183
|
+
rprint("\nUser canceled the [bold yellow][i]pipe[/i]!")
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
##### Usage - Example SuperAgentX Result
|
|
187
|
+
SuperAgentX searches for product items requested by the user in the console, validates them against the set goal, and returns the result. It retains the context, allowing it to respond to the user's next prompt in the IO Console intelligently.
|
|
188
|
+
|
|
189
|
+

|
|
190
|
+
|
|
191
|
+
## Architecture
|
|
192
|
+
<img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/architecture.png?raw=True" title="SuperAgentX Architecture"/>
|
|
193
|
+
|
|
194
|
+
## Large Language Models
|
|
195
|
+
|
|
196
|
+
| Icon | LLM Name | Status |
|
|
197
|
+
|-----------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------|
|
|
198
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/openai.png?raw=True" title="OpenAI" height="20" width="20"/> | **OpenAI** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/checkmark.png?raw=True" title="Tested" height="20" width="20"/> |
|
|
199
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/azure-icon.png?raw=True" title="Azure OpenAI" height="20" width="20"/> | **Azure OpenAI** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/checkmark.png?raw=True" title="Tested" height="20" width="20"/> |
|
|
200
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/awsbedrock.png?raw=True" title="AWS Bedrock" height="20" width="20"/> | **AWS Bedrock** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/beta.png?raw=True" title="Testing Inprogress" height="20" width="20"/> |
|
|
201
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/gemini.png?raw=True" title="Google Gemini" height="20" width="20"/> | **Google Gemini** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/wip.png?raw=True" title="Development Inprogress" height="20" width="20"/> |
|
|
202
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/meta.png?raw=True" title="Google Gemini" height="20" width="20"/> | **Meta Llama** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/wip.png?raw=True" title="Development Inprogress" height="20" width="20"/> |
|
|
203
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/ollama.png?raw=True" title="Ollama" height="20" width="20"/> | **Ollama** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/wip.png?raw=True" title="Development Inprogress" height="20" width="20"/> |
|
|
204
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/claude-ai-logo.png?raw=True" title="Claude AI" height="20" width="20"/> | **Claude AI** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/todo.png?raw=True" title="TODO" height="20" width="20"/> |
|
|
205
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/mistral-ai-logo.png?raw=True" title="Mistral AI" height="20" width="30"/> | **Mistral AI** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/todo.png?raw=True" title="TODO" height="20" width="20"/> |
|
|
206
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/ibm.png?raw=True" title="IBM WatsonX AI" height="20" width="30"/> | **IBM WatsonX** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/todo.png?raw=True" title="TODO" height="20" width="20"/> |
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
## Key Features
|
|
210
|
+
|
|
211
|
+
#### Easy-to-Publish Interfaces
|
|
212
|
+
**Pipe** - WebSocket, Interactive Cli Console, and RESTFul API (Coming Soon) enable a smooth and real-time interface for users and systems to interact with SuperAgentX.
|
|
213
|
+
|
|
214
|
+
#### Advanced Handler Engines
|
|
215
|
+
Handler Engines (Tools) operate either in parallel or sequentially, passing the output from one engine to the input of another. This flexible orchestration enhances efficiency, allowing agents to work in perfect harmony for complex tasks.
|
|
216
|
+
|
|
217
|
+
#### Multi-Mode Agents
|
|
218
|
+
Goal oriented agents with auto retry feature based on threshold, helps to achieve expected results. SuperAgentX supports agents running in parallel, sequential, or a hybrid mode (a combination of both). This ensures optimized task execution, whether processes are dependent or independent.
|
|
219
|
+
|
|
220
|
+
#### Intelligent Context Memory
|
|
221
|
+
A robust Context Memory captures user interactions and environmental data, enabling the system to provide efficient RAG (Retrieval-Augmented Generation) search features, significantly reducing operational costs by handling data intelligently.
|
|
222
|
+
|
|
223
|
+
#### Ease of Configuration for LLM Support in SuperAgentX
|
|
224
|
+
SuperAgentX supports multiple LLMs, including **OpenAI**, **Azure OpenAI**, **AWS Bedrock LLMs**, **Llama 3+**, **Gemini AI**, **Claude AI**, **Ollama** and **IBM WatsonX** is designed to effortlessly integrate with a variety of Large Language Models (LLMs), providing a smooth and flexible setup process.
|
|
225
|
+
|
|
226
|
+
#### Continuous Learning
|
|
227
|
+
Through built-in feedback mechanisms, SuperAgentX continuously learns and adapts, allowing it to memorize and improve its performance for future interactions.
|
|
228
|
+
|
|
229
|
+
#### Adaptability and Personalization
|
|
230
|
+
Highly adaptable and flexible, SuperAgentX can be extended and trained to create personalized **AGI** (Artificial General Intelligence) systems, ensuring that it meets specific needs and scenarios.
|
|
231
|
+
|
|
232
|
+
#### Simplified Autonomous Framework
|
|
233
|
+
The **Autonomous Multi-Agent Framework** simplifies the deployment of intelligent, autonomous systems, offering a foundation with **AGI** extendability capabilities, enabling a smooth evolution toward general intelligence.
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
## Environment Setup
|
|
237
|
+
```shell
|
|
238
|
+
$ cd <path-to>/superagentx
|
|
239
|
+
$ python3.12 -m venv venv
|
|
240
|
+
$ source venv/bin/activate
|
|
241
|
+
(venv) $ pip install poetry
|
|
242
|
+
(venv) $ poetry install
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
## Documentation (_Coming Soon_)
|
|
246
|
+
|
|
247
|
+
## License
|
|
248
|
+
|
|
249
|
+
SuperAgentX is released under the [MIT](https://github.com/decisionfacts/superagentX/blob/master/LICENSE) License.
|
|
250
|
+
|
|
251
|
+
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/fulllogo_transparent.png?raw=True" width="350">
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
<br/>
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
**SuperAgentX**: The Ultimate Modular Autonomous Agentic AGI Framework for Progressing Towards AGI.
|
|
10
|
+
|
|
11
|
+
[](https://www.python.org/downloads/release/python-3100/)
|
|
12
|
+
[](https://github.com/decisionfacts/superagentX)
|
|
13
|
+
[](https://github.com/decisionfacts/superagentX/blob/master/LICENSE)
|
|
14
|
+
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
## Table of contents
|
|
18
|
+
- [What is SuperAgentX?](#what-is-superagentx)
|
|
19
|
+
- [Why SuperAgentX?](#why-superagentx)
|
|
20
|
+
- [Getting Started](#getting-started)
|
|
21
|
+
- [Key Features](#key-features)
|
|
22
|
+
- [Installing Dependencies](#installing-dependencies)
|
|
23
|
+
- [Contribution](#contribution)
|
|
24
|
+
- [License](#license)
|
|
25
|
+
|
|
26
|
+
## What is SuperAgentX?
|
|
27
|
+
|
|
28
|
+
**The Ultimate Modular Autonomous Agentic AGI Framework for Progressing Towards AGI.** <br/><br/>
|
|
29
|
+
SuperAgentX is an advanced agentic AI framework designed to accelerate the development of Artificial General Intelligence (AGI). It provides a powerful, modular, and flexible platform for building autonomous AI agents capable of executing complex tasks with minimal human intervention. By integrating cutting-edge AI technologies and promoting efficient, scalable agent behavior, SuperAgentX embodies a critical step forward in the path towards superintelligence and AGI. Whether for research, development, or deployment, SuperAgentX is built to push the boundaries of what's possible with autonomous AI systems.
|
|
30
|
+
|
|
31
|
+
## Why SuperAgentX?
|
|
32
|
+
|
|
33
|
+
SuperAgentX is designed to address the growing need for highly capable, autonomous AI systems that can perform complex tasks with minimal human intervention. As we approach the limits of narrow AI, there's a need for an adaptable and scalable framework to bridge the gap toward AGI (Artificial General Intelligence). Here’s why SuperAgentX stands out:
|
|
34
|
+
|
|
35
|
+
**Super** : Cutting-edge AI systems with exceptional capabilities, paving the way to **AGI** (Artificial General Intelligence) and **ASI** (Artificial Super Intelligence).</p>
|
|
36
|
+
**Agent** : Autonomous Multi AI agent framework designed to make decisions, act independently, and handle complex tasks. </p>
|
|
37
|
+
**X** : The unknown, the limitless, the extra factor that makes SuperAgentX revolutionary, futuristic, and transformative.</p>
|
|
38
|
+
|
|
39
|
+
### Getting Started
|
|
40
|
+
|
|
41
|
+
```shell
|
|
42
|
+
pip install superagentx
|
|
43
|
+
```
|
|
44
|
+
##### Usage - Example SuperAgentX Code
|
|
45
|
+
This SuperAgentX example utilizes two handlers, Amazon and Walmart, to search for product items based on user input from the IO Console.
|
|
46
|
+
|
|
47
|
+
1. It uses Parallel execution of handler in the agent
|
|
48
|
+
2. Memory Context Enabled
|
|
49
|
+
3. LLM configured to OpenAI
|
|
50
|
+
4. Pre-requisites
|
|
51
|
+
|
|
52
|
+
Set OpenAI Key:
|
|
53
|
+
```shell
|
|
54
|
+
export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxx
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Set Rapid API Key <a href="https://rapidapi.com/auth/sign-up" target="_blank">Free Subscription</a> for Amazon, Walmart Search APIs
|
|
58
|
+
```shell
|
|
59
|
+
export RAPID_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXX
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
```python
|
|
63
|
+
# Additional lib needs to install
|
|
64
|
+
# pip install superagentx-handlers
|
|
65
|
+
# python3 superagentx_examples/ecom_iopipe.py
|
|
66
|
+
|
|
67
|
+
import asyncio
|
|
68
|
+
import os
|
|
69
|
+
import sys
|
|
70
|
+
|
|
71
|
+
from rich import print as rprint
|
|
72
|
+
|
|
73
|
+
from superagentx.memory import Memory
|
|
74
|
+
|
|
75
|
+
sys.path.extend([os.path.dirname(os.path.dirname(os.path.abspath(__file__)))])
|
|
76
|
+
|
|
77
|
+
from superagentx.agent import Agent
|
|
78
|
+
from superagentx.engine import Engine
|
|
79
|
+
from superagentx.llm import LLMClient
|
|
80
|
+
from superagentx.agentxpipe import AgentXPipe
|
|
81
|
+
from superagentx.pipeimpl.iopipe import IOPipe
|
|
82
|
+
from superagentx.prompt import PromptTemplate
|
|
83
|
+
from superagentx_handlers.ecommerce.amazon import AmazonHandler
|
|
84
|
+
from superagentx_handlers.ecommerce.walmart import WalmartHandler
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
async def main():
|
|
88
|
+
"""
|
|
89
|
+
Launches the e-commerce pipeline console client for processing requests and handling data.
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
# LLM Configuration
|
|
93
|
+
llm_config = {'llm_type': 'openai'}
|
|
94
|
+
llm_client: LLMClient = LLMClient(llm_config=llm_config)
|
|
95
|
+
|
|
96
|
+
# Enable Memory
|
|
97
|
+
memory = Memory()
|
|
98
|
+
|
|
99
|
+
# Add Two Handlers (Tools) - Amazon, Walmart
|
|
100
|
+
amazon_ecom_handler = AmazonHandler()
|
|
101
|
+
walmart_ecom_handler = WalmartHandler()
|
|
102
|
+
|
|
103
|
+
# Prompt Template
|
|
104
|
+
prompt_template = PromptTemplate()
|
|
105
|
+
|
|
106
|
+
# Amazon & Walmart Engine to execute handlers
|
|
107
|
+
amazon_engine = Engine(
|
|
108
|
+
handler=amazon_ecom_handler,
|
|
109
|
+
llm=llm_client,
|
|
110
|
+
prompt_template=prompt_template
|
|
111
|
+
)
|
|
112
|
+
walmart_engine = Engine(
|
|
113
|
+
handler=walmart_ecom_handler,
|
|
114
|
+
llm=llm_client,
|
|
115
|
+
prompt_template=prompt_template
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
# Create Agent with Amazon, Walmart Engines execute in Parallel - Search Products from user prompts
|
|
119
|
+
ecom_agent = Agent(
|
|
120
|
+
name='Ecom Agent',
|
|
121
|
+
goal="Get me the best search results",
|
|
122
|
+
role="You are the best product searcher",
|
|
123
|
+
llm=llm_client,
|
|
124
|
+
prompt_template=prompt_template,
|
|
125
|
+
engines=[[amazon_engine, walmart_engine]]
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
# Pipe Interface to send it to public accessible interface (Cli Console / WebSocket / Restful API)
|
|
129
|
+
pipe = AgentXPipe(
|
|
130
|
+
agents=[ecom_agent],
|
|
131
|
+
memory=memory
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
# Create IO Cli Console - Interface
|
|
135
|
+
io_pipe = IOPipe(
|
|
136
|
+
search_name='SuperAgentX Ecom',
|
|
137
|
+
agentx_pipe=pipe,
|
|
138
|
+
read_prompt=f"\n[bold green]Enter your search here"
|
|
139
|
+
)
|
|
140
|
+
await io_pipe.start()
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
if __name__ == '__main__':
|
|
144
|
+
try:
|
|
145
|
+
asyncio.run(main())
|
|
146
|
+
except (KeyboardInterrupt, asyncio.CancelledError):
|
|
147
|
+
rprint("\nUser canceled the [bold yellow][i]pipe[/i]!")
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
##### Usage - Example SuperAgentX Result
|
|
151
|
+
SuperAgentX searches for product items requested by the user in the console, validates them against the set goal, and returns the result. It retains the context, allowing it to respond to the user's next prompt in the IO Console intelligently.
|
|
152
|
+
|
|
153
|
+

|
|
154
|
+
|
|
155
|
+
## Architecture
|
|
156
|
+
<img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/architecture.png?raw=True" title="SuperAgentX Architecture"/>
|
|
157
|
+
|
|
158
|
+
## Large Language Models
|
|
159
|
+
|
|
160
|
+
| Icon | LLM Name | Status |
|
|
161
|
+
|-----------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------|
|
|
162
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/openai.png?raw=True" title="OpenAI" height="20" width="20"/> | **OpenAI** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/checkmark.png?raw=True" title="Tested" height="20" width="20"/> |
|
|
163
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/azure-icon.png?raw=True" title="Azure OpenAI" height="20" width="20"/> | **Azure OpenAI** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/checkmark.png?raw=True" title="Tested" height="20" width="20"/> |
|
|
164
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/awsbedrock.png?raw=True" title="AWS Bedrock" height="20" width="20"/> | **AWS Bedrock** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/beta.png?raw=True" title="Testing Inprogress" height="20" width="20"/> |
|
|
165
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/gemini.png?raw=True" title="Google Gemini" height="20" width="20"/> | **Google Gemini** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/wip.png?raw=True" title="Development Inprogress" height="20" width="20"/> |
|
|
166
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/meta.png?raw=True" title="Google Gemini" height="20" width="20"/> | **Meta Llama** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/wip.png?raw=True" title="Development Inprogress" height="20" width="20"/> |
|
|
167
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/ollama.png?raw=True" title="Ollama" height="20" width="20"/> | **Ollama** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/wip.png?raw=True" title="Development Inprogress" height="20" width="20"/> |
|
|
168
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/claude-ai-logo.png?raw=True" title="Claude AI" height="20" width="20"/> | **Claude AI** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/todo.png?raw=True" title="TODO" height="20" width="20"/> |
|
|
169
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/mistral-ai-logo.png?raw=True" title="Mistral AI" height="20" width="30"/> | **Mistral AI** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/todo.png?raw=True" title="TODO" height="20" width="20"/> |
|
|
170
|
+
| <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/llms/ibm.png?raw=True" title="IBM WatsonX AI" height="20" width="30"/> | **IBM WatsonX** | <img src="https://github.com/decisionfacts/superagentX/blob/master/docs/images/todo.png?raw=True" title="TODO" height="20" width="20"/> |
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
## Key Features
|
|
174
|
+
|
|
175
|
+
#### Easy-to-Publish Interfaces
|
|
176
|
+
**Pipe** - WebSocket, Interactive Cli Console, and RESTFul API (Coming Soon) enable a smooth and real-time interface for users and systems to interact with SuperAgentX.
|
|
177
|
+
|
|
178
|
+
#### Advanced Handler Engines
|
|
179
|
+
Handler Engines (Tools) operate either in parallel or sequentially, passing the output from one engine to the input of another. This flexible orchestration enhances efficiency, allowing agents to work in perfect harmony for complex tasks.
|
|
180
|
+
|
|
181
|
+
#### Multi-Mode Agents
|
|
182
|
+
Goal oriented agents with auto retry feature based on threshold, helps to achieve expected results. SuperAgentX supports agents running in parallel, sequential, or a hybrid mode (a combination of both). This ensures optimized task execution, whether processes are dependent or independent.
|
|
183
|
+
|
|
184
|
+
#### Intelligent Context Memory
|
|
185
|
+
A robust Context Memory captures user interactions and environmental data, enabling the system to provide efficient RAG (Retrieval-Augmented Generation) search features, significantly reducing operational costs by handling data intelligently.
|
|
186
|
+
|
|
187
|
+
#### Ease of Configuration for LLM Support in SuperAgentX
|
|
188
|
+
SuperAgentX supports multiple LLMs, including **OpenAI**, **Azure OpenAI**, **AWS Bedrock LLMs**, **Llama 3+**, **Gemini AI**, **Claude AI**, **Ollama** and **IBM WatsonX** is designed to effortlessly integrate with a variety of Large Language Models (LLMs), providing a smooth and flexible setup process.
|
|
189
|
+
|
|
190
|
+
#### Continuous Learning
|
|
191
|
+
Through built-in feedback mechanisms, SuperAgentX continuously learns and adapts, allowing it to memorize and improve its performance for future interactions.
|
|
192
|
+
|
|
193
|
+
#### Adaptability and Personalization
|
|
194
|
+
Highly adaptable and flexible, SuperAgentX can be extended and trained to create personalized **AGI** (Artificial General Intelligence) systems, ensuring that it meets specific needs and scenarios.
|
|
195
|
+
|
|
196
|
+
#### Simplified Autonomous Framework
|
|
197
|
+
The **Autonomous Multi-Agent Framework** simplifies the deployment of intelligent, autonomous systems, offering a foundation with **AGI** extendability capabilities, enabling a smooth evolution toward general intelligence.
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
## Environment Setup
|
|
201
|
+
```shell
|
|
202
|
+
$ cd <path-to>/superagentx
|
|
203
|
+
$ python3.12 -m venv venv
|
|
204
|
+
$ source venv/bin/activate
|
|
205
|
+
(venv) $ pip install poetry
|
|
206
|
+
(venv) $ poetry install
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## Documentation (_Coming Soon_)
|
|
210
|
+
|
|
211
|
+
## License
|
|
212
|
+
|
|
213
|
+
SuperAgentX is released under the [MIT](https://github.com/decisionfacts/superagentX/blob/master/LICENSE) License.
|
|
214
|
+
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
[tool.poetry]
|
|
2
|
+
name = "superagentx"
|
|
3
|
+
version = "0.1.4"
|
|
4
|
+
description = "The Ultimate Modular Autonomous Multi AI Agent Framework."
|
|
5
|
+
license = "MIT"
|
|
6
|
+
authors = [
|
|
7
|
+
"SuperAgentX AI <support@superagentx.ai>",
|
|
8
|
+
]
|
|
9
|
+
maintainers = [
|
|
10
|
+
"SuperAgentX AI <support@superagentx.ai>",
|
|
11
|
+
]
|
|
12
|
+
readme = "README.md"
|
|
13
|
+
homepage = "https://www.superagentx.ai/"
|
|
14
|
+
repository = "https://github.com/superagentxai/superagentx"
|
|
15
|
+
documentation = "https://docs.superagentx.ai/"
|
|
16
|
+
keywords = ["superagentX", "AGI", "Agentic AI", "ASI", "superagentx", "agent", "LLM"]
|
|
17
|
+
include = [
|
|
18
|
+
"superagentx_examples"
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
[tool.poetry.dependencies]
|
|
22
|
+
python = ">=3.10,<=3.13"
|
|
23
|
+
pydantic = "^2.8.2"
|
|
24
|
+
boto3 = "^1.35.8"
|
|
25
|
+
bokeh = "^3.5.2"
|
|
26
|
+
openai = "^1.47.1"
|
|
27
|
+
python-dotenv = "^1.0.1"
|
|
28
|
+
exa-py = "^1.1.4"
|
|
29
|
+
neo4j = "^5.24.0"
|
|
30
|
+
chromadb = "^0.5.5"
|
|
31
|
+
opensearch-py = "^2.7.1"
|
|
32
|
+
elasticsearch = "^8.15.1"
|
|
33
|
+
aiohttp = "^3.10.8"
|
|
34
|
+
rich = "^13.9.2"
|
|
35
|
+
protobuf = "3.20.3"
|
|
36
|
+
aiosqlite = "^0.20.0"
|
|
37
|
+
|
|
38
|
+
[tool.poetry.group.test.dependencies]
|
|
39
|
+
pytest = "^8.3.3"
|
|
40
|
+
pytest-asyncio = "^0.24.0"
|
|
41
|
+
|
|
42
|
+
[tool.pytest.ini_options]
|
|
43
|
+
asyncio_mode = "auto"
|
|
44
|
+
|
|
45
|
+
[build-system]
|
|
46
|
+
requires = ["poetry-core"]
|
|
47
|
+
build-backend = "poetry.core.masonry.api"
|
|
File without changes
|