Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Main to dev sync v12 #1193

Merged
merged 37 commits into from
Sep 6, 2023
Merged
Show file tree
Hide file tree
Changes from 36 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
3f55790
Merge pull request #1072 from TransformerOptimus/dev
Tarraann Aug 17, 2023
7558711
fixing the toolkit config in iteration workflow
Aug 17, 2023
3d5c8fe
List File S3 (#1075)
luciferlinx101 Aug 17, 2023
9db16b3
frontend fixes (#1078)
Fluder-Paradyne Aug 18, 2023
10abe9e
fixed api_bug (#1081)
Aryan-Singh-14 Aug 18, 2023
303a65b
fix (#1085)
nihiragarwal24 Aug 18, 2023
5227806
api fix (#1086)
Fluder-Paradyne Aug 18, 2023
ccc108f
Added docs, video, new contributors (#1089)
Akki-jain Aug 18, 2023
c990e16
Toolmarketplace (#1098)
sayan1101 Aug 22, 2023
f558f09
schedule agent fix (#1105)
rounak610 Aug 23, 2023
9da77f1
partial revert 1105 (#1110)
Fluder-Paradyne Aug 24, 2023
65f3e53
Delay change (#1107)
luciferlinx101 Aug 24, 2023
dff037f
added expose 8001 (#1116)
Fluder-Paradyne Aug 24, 2023
447a250
Models Frontend Changes (#1119)
jedan2506 Aug 25, 2023
83d65b2
latest safetensors breaking in macs (#1135)
Fluder-Paradyne Aug 28, 2023
7118e79
Release11 (#1144)
Fluder-Paradyne Aug 29, 2023
2d67c9e
added tool config for dalle
Aug 30, 2023
4e50fd0
Update image_generation_toolkit.py
Tarraann Aug 30, 2023
3571006
Update image_generation_toolkit.py
Tarraann Aug 30, 2023
ba71598
added model dependency on dalle tool
Aug 30, 2023
cc2e508
Release11 (#1153)
Fluder-Paradyne Aug 30, 2023
fecd315
Merge pull request #1151 from TransformerOptimus/dalle_api_fix_main
Tarraann Aug 30, 2023
924506c
stop agent from executing if model is not found (#1155)
Fluder-Paradyne Aug 30, 2023
94c43db
revert tools.json (#1159)
Fluder-Paradyne Aug 30, 2023
b9ba84b
add null check
Fluder-Paradyne Aug 30, 2023
7ebe765
Merge pull request #1160 from TransformerOptimus/fix_get_matching_text
jagtarcontlo Aug 30, 2023
46a90f5
Update README.MD
Akki-jain Aug 30, 2023
6257069
Merge pull request #1162 from TransformerOptimus/Readme_update_v11
Akki-jain Aug 31, 2023
7a87651
Knowledge search fix
Aug 31, 2023
739cf5f
Merge pull request #1169 from TransformerOptimus/knowledge_model_fix_…
Tarraann Aug 31, 2023
4fa5f9d
set pool size to 20 (#1172)
Fluder-Paradyne Aug 31, 2023
48e68cf
call logs bugs main (#1173)
jedan2506 Aug 31, 2023
e5fe0a5
marketplace changes (#1167)
jedan2506 Sep 1, 2023
0e5abbc
Unit Test Fix (#1177)
luciferlinx101 Sep 4, 2023
c15ded4
Added functionaility to use APT packages (#1164)
andrew-kelly-neutralaiz Sep 6, 2023
a14ceed
synced with main
luciferlinx101 Sep 6, 2023
d7974dc
removed console.log
luciferlinx101 Sep 6, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 37 additions & 49 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@
</p>

<p align="center"><i>Open-source framework to build, manage and run useful Autonomous AI Agents</i></p>


<p align="center">
<a href="https://superagi.com"> <img src="https://superagi.com/wp-content/uploads/2023/08/Website.svg"></a>
<a href="https://app.superagi.com"> <img src="https://superagi.com/wp-content/uploads/2023/07/Cloud.svg"></a>
<a href="https://marketplace.superagi.com/"> <img src="https://superagi.com/wp-content/uploads/2023/08/Marketplace.svg"></a>
<a href="https://marketplace.superagi.com/"> <img src="https://superagi.com/wp-content/uploads/2023/08/Docs.svg"></a>
<a href="https://superagi.com/docs/"> <img src="https://superagi.com/wp-content/uploads/2023/08/Docs.svg"></a>
<a href="https://documenter.getpostman.com/view/28438662/2s9Xy6rqP5"> <img src="https://superagi.com/wp-content/uploads/2023/08/APIs.svg"></a>
</p>

<p align="center">
Expand All @@ -26,15 +27,12 @@
<a href="https://github.com/TransformerOptimus/SuperAGI/stargazers" target="blank">
<img src="https://img.shields.io/github/stars/TransformerOptimus/SuperAGI?style=for-the-badge" alt="SuperAGI stars"/>
</a>
<a href="https://github.com/TransformerOptimus/SuperAGI/pulls" target="blank">
<img src="https://img.shields.io/github/issues-pr/TransformerOptimus/SuperAGI?style=for-the-badge" alt="SuperAGI pull-requests"/>
</a>
<a href='https://github.com/TransformerOptimus/SuperAGI/releases'>
<img src='https://img.shields.io/github/release/TransformerOptimus/SuperAGI?&label=Latest&style=for-the-badge'>
</a>

<a href="https://github.com/TransformerOptimus/SuperAGI/commits" target="blank">
<img src="https://img.shields.io/github/commits-since/TransformerOptimus/SuperAGI/v0.0.3.svg?style=for-the-badge" alt="SuperAGI Commits"/>
<img src="https://img.shields.io/github/commits-since/TransformerOptimus/SuperAGI/v0.0.11.svg?style=for-the-badge" alt="SuperAGI Commits"/>
</a>
</p>

Expand Down Expand Up @@ -76,7 +74,7 @@

<hr>

## 📽 Setting Up SuperAGI using Docker Hub
### 📽 Setting Up SuperAGI using Docker Hub

<p align="center">
<a href='https://youtu.be/qjJneWjH5v4'><img src="https://superagi.com/wp-content/uploads/2023/08/DockerHub_install-1.png" width=1000px></a>
Expand All @@ -87,29 +85,27 @@
<a href="https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=640182997&machine=basicLinux32gb&location=EastUs"> <img src="https://github.com/codespaces/badge.svg"></a><br>Not sure how to setup? <a href="https://youtu.be/yvmNthyWYCE">Learn here</a>
</p>

<br>
<p align="center">
<a href="https://cloud.digitalocean.com/apps/new?repo=https://github.com/TransformerOptimus/SuperAGI/tree/main"> <img src="https://www.deploytodo.com/do-btn-blue.svg"></a><br>Deploy SuperAGI to DigitalOcean with one click.
</p>

## 💡 Features
### 💡 Features

- Provision, Spawn & Deploy Autonomous AI Agents
- Extend Agent Capabilities with Tools
- Run Concurrent Agents Seamlessly
- Graphical User Interface
- Action Console
- Multiple Vector DBs
- Agent Trajectory Fine-Tuning
- Performance Monitoring
- Agent Memory Storage
- Resource Manager
- Provision, spawn & deploy autonomous AI agents
- Tools/Toolkits for extended agent capabilities
- Concurrent agent runs
- Schedule agents
- Action console
- Multiple vector DBs
- Agent trajectory fine-tuning
- Performance monitoring
- Tool memory
- Resource manager
- Knowledge embeddings
- Agent workflows

## 🛠 Tools
### 🛠 Tools
<a href="#"><img src=https://superagi.com/wp-content/uploads/2023/08/Twitter.png height=50px width=50px alt="Twitter" valign="middle" title="Twitter"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/08/Coding.png height=50px width=50px alt="Coding Tool" valign="middle" title="Coding Tool"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/08/Insta.png height=50px width=50px alt="Instagram" valign="middle" title="Instagram"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/08/Knowledge_tool.png height=50px width=50px alt="Knowledge Search" valign="middle" title="Knowledge Search"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/05/Group-113612.png height=50px width=50px alt="Email" valign="middle" title="Email"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/05/Group-113610.png height=50px width=50px alt="Jira" valign="middle" title="Jira"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/05/Group-113611.png height=50px width=50px alt="File Manager" valign="middle" title="File Manager"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/05/Group-113613.png height=50px width=50px alt="Google Search" valign="middle" title="Google Search"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/05/Group-113615.png height=50px width=50px alt="Dall-E" valign="middle" title="Dall-E"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/05/Group-113614.png height=50px width=50px alt="Github" valign="middle" title="Github"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/05/Group-113616.png height=50px width=50px alt="Web Interaction" valign="middle" title="Web Interaction"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/05/Group-113622.png height=50px width=50px alt="Duckduckgo" valign="middle" title="Duckduckgo"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/08/Calendar_tool.png height=50px width=50px alt="Google Calendar" valign="middle" title="Google Calendar"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/08/Search_tool.png height=50px width=50px alt="Google Calendar" valign="middle" title="Google Search"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/08/Serp.png height=50px width=50px alt="Serp API" valign="middle" title="Serp API"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/08/Searx.png height=50px width=50px alt="Searx" valign="middle" title="Searx "></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/08/Web_scraper_logo.png height=50px width=50px alt="Web Scraper" valign="middle" title="Web Scraper"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/08/Notion_logo.png height=50px width=50px alt="Notion" valign="middle" title="Notion"></a> <a href="#"><img src=https://superagi.com/wp-content/uploads/2023/08/Apollo_logo.png height=50px width=50px alt="Apollo" valign="middle" title="Apollo"></a>


## 💻 Screenshots
### 💻 Screenshot

<p align="center">
<a href="https://superagi.com//#gh-dark-mode-only">
Expand All @@ -118,13 +114,24 @@
</p>


## 🛣 Roadmap
### 🛣 Roadmap
[Click here to checkout the latest roadmap 🔗](https://github.com/users/TransformerOptimus/projects/5/views/1)

### ⚙️ Setting up

1. Download the repo using `git clone https://github.com/TransformerOptimus/SuperAGI.git` in your terminal or directly from github page in zip format.

2. Navigate to the directory using `cd SuperAGI` and create a copy of `config_template.yaml`, naming it `config.yaml` (take note of the file extension `.yaml`, *not* `.yml`).
3. Enter your LLM API Key or Auth token in `config.yaml` file.
4. Ensure that Docker is installed in your system, if not, Install it from [here](https://docs.docker.com/get-docker/).
5. Once you have Docker Desktop running, run the command: `docker-compose up --build` in the SuperAGI directory. Open your browser and navigate to `http://localhost:3000` to access SuperAGI.

- If you wish to change the port it's running on, open the `docker-compose.yml` file and update the `proxy` container port forwarding, for example: `"3000:80"`


<a id="architecture">

## 🌐 Architecture
### 🌐 Architecture
</a>
<details>
<summary>SuperAGI Architecture</summary>
Expand Down Expand Up @@ -157,31 +164,11 @@
</details>


## ⚙️ Setting up

1. Download the repo using `git clone https://github.com/TransformerOptimus/SuperAGI.git` in your terminal or directly from github page in zip format.

2. Navigate to the directory using `cd SuperAGI` and create a copy of `config_template.yaml`, naming it `config.yaml` (take note of the file extension `.yaml`, *not* `.yml`).
3. Enter your unique OpenAI API Key, Google key, Custom search engine ID without any quotes or spaces in `config.yaml` file. Follow the links below to get your keys:

|Keys|Accessing the keys|
|--|--|
|**OpenAI API Key**| Sign up and create an API key at [OpenAI Developer](https://beta.openai.com/signup/)|
|**Google API key**| Create a project in the [Google Cloud Console](https://console.cloud.google.com/) and enable the API you need (for example: [Google Custom Search JSON API](https://developers.google.com/custom-search/v1/introduction)).|
|**Custom search engine ID**| Visit [Google Programmable Search Engine](https://programmablesearchengine.google.com/about/) to create a custom search engine for your application and obtain the search engine ID.|

4. Ensure that Docker is installed in your system, if not, Install it from [here](https://docs.docker.com/get-docker/).
5. Once you have Docker Desktop running, run the command: `docker-compose up --build` in the SuperAGI directory. Open your browser and navigate to `http://localhost:3000` to access SuperAGI.

- If you wish to change the port it's running on, open the `docker-compose.yml` file and update the `proxy` container port forwarding, for example: `"3000:80"`



## ⚠️ Under Development!
### ⚠️ Under Development!
This project is under active development and may still have issues. We appreciate your understanding and patience. If you encounter any problems, please first check the open issues. If your issue is not listed, kindly create a new issue detailing the error or problem you experienced. Thank you for your support!


## 👩‍💻 Contributors
### 👩‍💻 Contributors
[![TransformerOptimus](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/133493246?v=4&w=50&h=50&mask=circle)](https://github.com/TransformerOptimus) [![Cptsnowcrasher](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/133322218?v=4&w=50&h=50&mask=circle)](https://github.com/Cptsnowcrasher) [![vectorcrow](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/133646556?v=4&w=50&h=50&mask=circle)](https://github.com/vectorcrow) [![Akki-jain](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/92881074?v=4&w=50&h=50&mask=circle)](https://github.com/Akki-jain) [![Autocop-Agent](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/129729746?v=4&w=50&h=50&mask=circle)](https://github.com/Autocop-Agent)[![COLONAYUSH](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/60507126?v=4&w=50&h=50&mask=circle)](https://github.com/COLONAYUSH)[![luciferlinx101](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/129729795?v=4&w=50&h=50&mask=circle)](https://github.com/luciferlinx101)[![mukundans89](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/101278493?v=4&w=50&h=50&mask=circle)](https://github.com/mukundans89)[![Fluder-Paradyne](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/121793617?v=4&w=50&h=50&mask=circle)](https://github.com/Fluder-Paradyne)[![nborthy](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/101320057?v=4&w=50&h=50&mask=circle)](https://github.com/nborthy)[![nihirr](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/122777244?v=4&w=50&h=50&mask=circle)](https://github.com/nihirr)[![Tarraann](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/97586318?v=4&w=50&h=50&mask=circle)](https://github.com/Tarraann)[![neelayan7](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/43145646?v=4&w=50&h=50&mask=circle)](https://github.com/neelayan7)[![Arkajit-Datta](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/61142632?v=4&w=50&h=50&mask=circle)](https://github.com/Arkajit-Datta)[![guangchen811](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/103159823?v=4&w=50&h=50&mask=circle)](https://github.com/guangchen811)[![juanfpo96](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/14787156?v=4&w=50&h=50&mask=circle)](https://github.com/juanfpo96)[![iskandarreza](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/32027019?v=4&w=50&h=50&mask=circle)](https://github.com/iskandarreza)[![jpenalbae](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/8380459?v=4&w=50&h=50&mask=circle)](https://github.com/jpenalbae)[![pallasite99](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/26508636?v=4&w=50&h=50&mask=circle)](https://github.com/pallasite99)[![xutpuu](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/11964505?v=4&w=50&h=50&mask=circle)](https://github.com/xutpuu)[![alexkreidler](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/11166947?v=4&w=50&h=50&mask=circle)](https://github.com/alexkreidler)[![hanhyalex123](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/100895608?v=4&w=50&h=50&mask=circle)](https://github.com/hanhyalex123)[![ps4vs](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/91535358?v=4&w=50&h=50&mask=circle)](https://github.com/ps4vs)[![eltociear](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/22633385?v=4&w=50&h=50&mask=circle)](https://github.com/eltociear)
[![shaiss](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/113060?v=4&w=50&h=50&mask=circle)](https://github.com/shaiss)
[![AdityaRajSingh1992](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/105219157?v=4&w=50&h=50&mask=circle)](https://github.com/AdityaRajSingh1992)
Expand All @@ -204,8 +191,9 @@ This project is under active development and may still have issues. We appreciat
[![ResoluteStoic](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/105219157?v=4&w=50&h=50&mask=circle)](https://github.com/ResoluteStoic)
[![JohnHunt999](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/137149331?v=4&w=50&h=50&mask=circle)](https://github.com/JohnHunt999)
[![Maverick-F35](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/138012351?v=4&w=50&h=50&mask=circle)](https://github.com/Maverick-F359)
[![PaulRBerg](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/8782666?v=4&w=50&h=50&mask=circle)](https://github.com/PaulRBerg)
[![jorgectf](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/46056498?v=4&w=50&h=50&mask=circle)](https://github.com/jorgectf)
[![AdityaSharma13064](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/138581531?v=4&w=50&h=50&mask=circle)](https://github.com/AdityaSharma13064)
[![lalitlj](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/138583454?v=4&w=50&h=50&mask=circle)](https://github.com/lalitlj)


<p align="center"><a href="https://github.com/TransformerOptimus/SuperAGI#"><img src="https://superagi.com/wp-content/uploads/2023/05/backToTopButton.png" alt="Back to top" height="29"/></a></p>
2 changes: 2 additions & 0 deletions gui/pages/Content/Agents/AgentCreate.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ export default function AgentCreate({
useEffect(() => {
getOrganisationConfig(organisationId, "model_api_key")
.then((response) => {
console.log(response.data['api_key'])
const apiKey = response.data['api_key']
setHasAPIkey(!(apiKey === null));
})
Expand Down Expand Up @@ -164,6 +165,7 @@ export default function AgentCreate({
} else {
setModel(selected_model);
}
console.log(response)
})
.catch((error) => {
console.error('Error fetching models:', error);
Expand Down
2 changes: 1 addition & 1 deletion gui/pages/Content/Models/ModelInfo.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export default function ModelInfo(modelDetails){
<hr className="horizontal_line padding_0" />
<div className="row">
<div className="col-3" />
<div className="col-6 vertical_containers">
<div className="col-6 col-6-scrollable vertical_containers">
<span>Installation Type</span>
<div className="horizontal_container mt_8 color_white gap_4">
{modelData === 'Marketplace' && <Image width={16} height={16} src="/images/marketplace_logo.png" alt="marketplace_logo" />}
Expand Down
11 changes: 10 additions & 1 deletion install_tool_dependencies.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
#!/bin/bash

# Update and upgrade apt settings and apps
apt update && apt upgrade -y
xargs apt install -y < /app/requirements_apt.txt

# Run the project's main requirements.txt
pip install -r /app/requirements.txt

# Loop through the tools directories and install their requirements.txt if they exist
for tool in /app/superagi/tools/* /app/superagi/tools/external_tools/* /app/superagi/tools/marketplace_tools/* ; do
# Loop through the tools directories and install their apt_requirements.txt if they exist
if [ -d "$tool" ] && [ -f "$tool/requirements_apt.txt" ]; then
echo "Installing apt requirements for tool: $(basename "$tool")"
xargs apt install -y < "$tool/requirements_apt.txt"
fi
# Loop through the tools directories and install their requirements.txt if they exist
if [ -d "$tool" ] && [ -f "$tool/requirements.txt" ]; then
echo "Installing requirements for tool: $(basename "$tool")"
pip install -r "$tool/requirements.txt"
Expand Down
9 changes: 7 additions & 2 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,13 @@
db_url = urlparse(db_url)
db_url = db_url.scheme + "://" + db_url.netloc + db_url.path

engine = create_engine(db_url)
# SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
engine = create_engine(db_url,
pool_size=20, # Maximum number of database connections in the pool
max_overflow=50, # Maximum number of connections that can be created beyond the pool_size
pool_timeout=30, # Timeout value in seconds for acquiring a connection from the pool
pool_recycle=1800, # Recycle connections after this number of seconds (optional)
pool_pre_ping=False, # Enable connection health checks (optional)
)

# app.add_middleware(DBSessionMiddleware, db_url=f'postgresql://{db_username}:{db_password}@localhost/{db_name}')
app.add_middleware(DBSessionMiddleware, db_url=db_url)
Expand Down
Loading
Loading