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

Restructure Repo #5156

Closed
wants to merge 1,471 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1471 commits
Select commit Hold shift + click to select a range
5db1a93
Updating to version v0.4 of the Protocol (#18)
Swiftyos Aug 24, 2023
d7b6d1e
Implement and Test Chat Input Field Widget
hunteraraujo Aug 24, 2023
16cbf5d
Fix tests (#20)
waynehamadi Aug 25, 2023
05ce744
Add JsonCodeSnippetView to Display and Copy Pretty-Printed JSON
hunteraraujo Aug 25, 2023
ddfbd1b
Implement UserMessageTile Widget and Tests
hunteraraujo Aug 25, 2023
33c900b
Add AgentMessageTile Widget with Tests
hunteraraujo Aug 25, 2023
0fb6724
Implement ChatView with Agent and User Message Tiles
hunteraraujo Aug 25, 2023
9f8c93e
Update main_layout.dart + main.dart to integrate ChatView
hunteraraujo Aug 25, 2023
2ca7515
Include send icon in text field
hunteraraujo Aug 25, 2023
b312b1d
Fix copy button background color
hunteraraujo Aug 25, 2023
09ce160
smol-developer-20230825081512
Auto-GPT-Bot Aug 25, 2023
85369a1
gpt-engineer-20230825081655
Auto-GPT-Bot Aug 25, 2023
2f1eef5
BabyAGI-20230825081855
Auto-GPT-Bot Aug 25, 2023
b310903
Auto-GPT-20230825082314
Auto-GPT-Bot Aug 25, 2023
97f1ae3
beebot-20230825082516
Auto-GPT-Bot Aug 25, 2023
ca6bb9b
Turbo-20230825083134
Auto-GPT-Bot Aug 25, 2023
05059e4
PolyGPT-20230825083307
Auto-GPT-Bot Aug 25, 2023
883db39
mini-agi-20230825083627
Auto-GPT-Bot Aug 25, 2023
6593b9c
Add combined charts - 20230825083805
Auto-GPT-Bot Aug 25, 2023
62a8c7a
Updating to version v0.4 of the Protocol (#21)
Swiftyos Aug 25, 2023
c08165c
Align chat tiles to top of chat view
hunteraraujo Aug 25, 2023
803e3f6
Fix various splash radius for icon buttons
hunteraraujo Aug 25, 2023
3fb6b88
smol-developer-20230826081343
Auto-GPT-Bot Aug 26, 2023
7dfc1a8
gpt-engineer-20230826081626
Auto-GPT-Bot Aug 26, 2023
3f8c4c6
BabyAGI-20230826081648
Auto-GPT-Bot Aug 26, 2023
6b59bf7
Auto-GPT-20230826082044
Auto-GPT-Bot Aug 26, 2023
2e41865
PolyGPT-20230826082743
Auto-GPT-Bot Aug 26, 2023
dc17ec6
mini-agi-20230826082817
Auto-GPT-Bot Aug 26, 2023
93f6c26
Turbo-20230826083601
Auto-GPT-Bot Aug 26, 2023
2cd7b1e
beebot-20230826083606
Auto-GPT-Bot Aug 26, 2023
a107723
Add combined charts - 20230826083824
Auto-GPT-Bot Aug 26, 2023
d3e8662
Fix Forge (#22)
waynehamadi Aug 26, 2023
59655a8
adding backend and a basic ui (#309)
SilenNaihin Aug 27, 2023
c055be1
smol-developer-20230827081404
Auto-GPT-Bot Aug 27, 2023
cdb8df6
BabyAGI-20230827081657
Auto-GPT-Bot Aug 27, 2023
c083877
gpt-engineer-20230827081830
Auto-GPT-Bot Aug 27, 2023
1e3234e
mini-agi-20230827082723
Auto-GPT-Bot Aug 27, 2023
a0cd65d
PolyGPT-20230827082846
Auto-GPT-Bot Aug 27, 2023
61c3d42
Turbo-20230827083654
Auto-GPT-Bot Aug 27, 2023
fc32db8
Auto-GPT-20230827083756
Auto-GPT-Bot Aug 27, 2023
28cb9dd
beebot-20230827084215
Auto-GPT-Bot Aug 27, 2023
54c423a
Add combined charts - 20230827084402
Auto-GPT-Bot Aug 27, 2023
194b71d
smol-developer-20230828081545
Auto-GPT-Bot Aug 28, 2023
6d62d97
gpt-engineer-20230828081843
Auto-GPT-Bot Aug 28, 2023
e61b266
BabyAGI-20230828081936
Auto-GPT-Bot Aug 28, 2023
ca4a97c
Turbo-20230828083011
Auto-GPT-Bot Aug 28, 2023
48eeab6
PolyGPT-20230828083426
Auto-GPT-Bot Aug 28, 2023
87b25cf
Auto-GPT-20230828083645
Auto-GPT-Bot Aug 28, 2023
5725411
mini-agi-20230828083816
Auto-GPT-Bot Aug 28, 2023
80955f3
beebot-20230828084516
Auto-GPT-Bot Aug 28, 2023
3d02e7d
Add combined charts - 20230828084728
Auto-GPT-Bot Aug 28, 2023
372c73f
fixed page size field
Swiftyos Aug 28, 2023
13c53b6
Refactored forge to a cleaner layout
Swiftyos Aug 28, 2023
a8dd079
Updatee cutoff for SuperAGI (#330)
waynehamadi Aug 28, 2023
d86ed40
Improve TestRevenueRetrieval_1.1 task specification (#329)
Pwuts Aug 28, 2023
0e2c98b
Turbo update (#331)
lc0rp Aug 28, 2023
dab064f
update frontend hash, run.sh
SilenNaihin Aug 29, 2023
6715b46
remove warning (#332)
waynehamadi Aug 29, 2023
abc80fe
gpt-engineer-20230829081641
Auto-GPT-Bot Aug 29, 2023
42f10ea
Turbo-20230829081637
Auto-GPT-Bot Aug 29, 2023
79f2140
smol-developer-20230829081740
Auto-GPT-Bot Aug 29, 2023
8c2cef6
BabyAGI-20230829081846
Auto-GPT-Bot Aug 29, 2023
a25d537
Auto-GPT-20230829082530
Auto-GPT-Bot Aug 29, 2023
b73b7fa
mini-agi-20230829083229
Auto-GPT-Bot Aug 29, 2023
69d452f
PolyGPT-20230829083753
Auto-GPT-Bot Aug 29, 2023
33674b5
beebot-20230829084505
Auto-GPT-Bot Aug 29, 2023
0a48463
Add combined charts - 20230829084711
Auto-GPT-Bot Aug 29, 2023
adbd6e1
Updated ignore
Swiftyos Aug 29, 2023
e1f82d1
added the ability to run the benchmark back
Swiftyos Aug 29, 2023
ea741a9
Turbo-20230830081527
Auto-GPT-Bot Aug 30, 2023
3f202d5
smol-developer-20230830081642
Auto-GPT-Bot Aug 30, 2023
fdae354
gpt-engineer-20230830081731
Auto-GPT-Bot Aug 30, 2023
bbcfa71
BabyAGI-20230830081802
Auto-GPT-Bot Aug 30, 2023
e92087b
PolyGPT-20230830083259
Auto-GPT-Bot Aug 30, 2023
c587da5
mini-agi-20230830083324
Auto-GPT-Bot Aug 30, 2023
35f5e5e
Auto-GPT-20230830084130
Auto-GPT-Bot Aug 30, 2023
fba7bce
beebot-20230830084912
Auto-GPT-Bot Aug 30, 2023
71a56e9
Add combined charts - 20230830085106
Auto-GPT-Bot Aug 30, 2023
77a726d
Updated Artifact Handling to schema 0.4 (#23)
Swiftyos Aug 30, 2023
6ae6037
Removed test scripts
Swiftyos Aug 30, 2023
80a8b95
updated doc string
Swiftyos Aug 30, 2023
87c6874
Added in agent explination
Swiftyos Aug 30, 2023
7a933ca
Exporting class from the sdk
Swiftyos Aug 30, 2023
c66b903
Update Turbo (#333)
lc0rp Aug 30, 2023
624497b
Turbo-20230830132044
Auto-GPT-Bot Aug 30, 2023
70d7ccf
Add combined charts - 20230830132335
Auto-GPT-Bot Aug 30, 2023
d4b25ed
Update Turbo (#334)
lc0rp Aug 30, 2023
16a1d88
Update TestPasswordGenerator_Easy to mention ValueError (#335)
lc0rp Aug 30, 2023
22f42cb
Turbo-20230830233500
Auto-GPT-Bot Aug 30, 2023
8644dcc
Add combined charts - 20230830233730
Auto-GPT-Bot Aug 30, 2023
afb59a0
Support agent protocol (#337)
waynehamadi Aug 31, 2023
7c49b0f
Fix tests (#338)
waynehamadi Aug 31, 2023
e96d492
Get total cost
waynehamadi Aug 31, 2023
b086247
Remove submodule (#341)
waynehamadi Aug 31, 2023
45a6d02
mini-agi-20230831051249
Auto-GPT-Bot Aug 31, 2023
b263cab
Add combined charts - 20230831051456
Auto-GPT-Bot Aug 31, 2023
b6ad300
restructure library, deprecate challenges (#336)
SilenNaihin Aug 31, 2023
635a3c5
smol-developer-20230831054734
Auto-GPT-Bot Aug 31, 2023
01a226c
Add combined charts - 20230831054916
Auto-GPT-Bot Aug 31, 2023
33b3ea6
Fix CI back (#342)
waynehamadi Aug 31, 2023
c36ec21
smol-developer-20230831060058
Auto-GPT-Bot Aug 31, 2023
fca97c9
Add combined charts - 20230831060254
Auto-GPT-Bot Aug 31, 2023
ddffc63
smol-developer-20230831081456
Auto-GPT-Bot Aug 31, 2023
76d103c
gpt-engineer-20230831081621
Auto-GPT-Bot Aug 31, 2023
3eeebdd
BabyAGI-20230831081628
Auto-GPT-Bot Aug 31, 2023
a41216a
Auto-GPT-20230831082056
Auto-GPT-Bot Aug 31, 2023
26df847
mini-agi-20230831082305
Auto-GPT-Bot Aug 31, 2023
71d66d7
beebot-20230831082546
Auto-GPT-Bot Aug 31, 2023
7fd7ac5
Turbo-20230831082553
Auto-GPT-Bot Aug 31, 2023
f0f290b
removed tracing and monitoring
Swiftyos Aug 31, 2023
595e04d
Updating Turbo (#343)
lc0rp Aug 31, 2023
1c93114
Added code to pass the write file test
Swiftyos Aug 31, 2023
edb50d8
Agent (#24)
Swiftyos Aug 31, 2023
ddd038f
Turbo-20230831145646
Auto-GPT-Bot Aug 31, 2023
cb0c145
Add combined charts - 20230831145913
Auto-GPT-Bot Aug 31, 2023
bc731e0
📝 Added template based prompting (#25)
Swiftyos Aug 31, 2023
cfd86ad
Put back Helicone MITM (#344)
waynehamadi Aug 31, 2023
3091f28
smol-developer-20230831152651
Auto-GPT-Bot Aug 31, 2023
bea7a3c
Add combined charts - 20230831152900
Auto-GPT-Bot Aug 31, 2023
eff9434
smol-developer-20230831153441
Auto-GPT-Bot Aug 31, 2023
62395a4
gpt-engineer-20230831153523
Auto-GPT-Bot Aug 31, 2023
2e93ac0
BabyAGI-20230831153646
Auto-GPT-Bot Aug 31, 2023
2e26d62
mini-agi-20230831154218
Auto-GPT-Bot Aug 31, 2023
195842b
Turbo-20230831154255
Auto-GPT-Bot Aug 31, 2023
68e4de4
PolyGPT-20230831154259
Auto-GPT-Bot Aug 31, 2023
36d7a8c
Auto-GPT-20230831154312
Auto-GPT-Bot Aug 31, 2023
56e4e83
beebot-20230831154426
Auto-GPT-Bot Aug 31, 2023
517bdb8
Add combined charts - 20230831154632
Auto-GPT-Bot Aug 31, 2023
c4d08ae
Implement and Test StepRequestBody Model
hunteraraujo Aug 31, 2023
8950ab4
Implement and Test TaskRequestBody Model
hunteraraujo Aug 31, 2023
43593d8
Update Chat Model to Use String IDs
hunteraraujo Aug 31, 2023
1c862be
Update Task Model to Use String IDs
hunteraraujo Aug 31, 2023
ac692d5
Add http dependency
hunteraraujo Aug 31, 2023
0dcdaaf
Add RestApiUtility Class for HTTP Requests
hunteraraujo Aug 31, 2023
ed03a32
Create Step Class to Model Step Information
hunteraraujo Aug 31, 2023
078db31
Introduce ChatService Class for Chat Operations
hunteraraujo Aug 31, 2023
ae5799f
Introduce TaskService Class for Task Operations
hunteraraujo Aug 31, 2023
651e112
Update ChatViewModel to Use ChatService and Step Model
hunteraraujo Aug 31, 2023
5ae17d0
Update TaskViewModel to Use TaskService and Task API Integration
hunteraraujo Aug 31, 2023
deb84cc
Remove mock data
hunteraraujo Aug 31, 2023
5d865a3
Refactor ChatInputField to Use Callback for Sending Messages
hunteraraujo Aug 31, 2023
2df6c5e
Implement onSendPressed Functionality in ChatView
hunteraraujo Aug 31, 2023
ff76671
Implement User Interactions in TaskView
hunteraraujo Aug 31, 2023
ecb9580
Integrate Services into main.dart and Update Providers
hunteraraujo Aug 31, 2023
41909f0
Tic tac toe challenge (#345)
waynehamadi Sep 1, 2023
0472e03
smol-developer-20230901081448
Auto-GPT-Bot Sep 1, 2023
687cdca
gpt-engineer-20230901081646
Auto-GPT-Bot Sep 1, 2023
a9f16dd
BabyAGI-20230901081709
Auto-GPT-Bot Sep 1, 2023
6c043d1
PolyGPT-20230901082141
Auto-GPT-Bot Sep 1, 2023
de2507c
mini-agi-20230901082431
Auto-GPT-Bot Sep 1, 2023
6206749
Turbo-20230901082434
Auto-GPT-Bot Sep 1, 2023
3dbb0a2
beebot-20230901082847
Auto-GPT-Bot Sep 1, 2023
f1cfb14
Auto-GPT-20230901082927
Auto-GPT-Bot Sep 1, 2023
aec47db
Add combined charts - 20230901083205
Auto-GPT-Bot Sep 1, 2023
44436fe
Fix Chart generation (#346)
waynehamadi Sep 1, 2023
4848a72
smol-developer-20230901153851
Auto-GPT-Bot Sep 1, 2023
805c07d
Add combined charts - 20230901154054
Auto-GPT-Bot Sep 1, 2023
69fd7d1
smol-developer-20230901161037
Auto-GPT-Bot Sep 1, 2023
c8351ff
Add combined charts - 20230901161315
Auto-GPT-Bot Sep 1, 2023
c875602
Turbo-20230901170906
Auto-GPT-Bot Sep 1, 2023
36955cd
Add combined charts - 20230901171057
Auto-GPT-Bot Sep 1, 2023
f1ce7f6
Remove chart generation for now (#347)
waynehamadi Sep 1, 2023
8197643
smol-developer-20230901172047
Auto-GPT-Bot Sep 1, 2023
abed1ae
Added script to load data into a df (#348)
SilenNaihin Sep 1, 2023
6eeefbd
bug fixes, sha frontend, updating file locations
SilenNaihin Sep 1, 2023
64aaf06
smol-developer-20230902081341
Auto-GPT-Bot Sep 2, 2023
d54f794
BabyAGI-20230902081503
Auto-GPT-Bot Sep 2, 2023
5486183
Turbo-20230902081621
Auto-GPT-Bot Sep 2, 2023
21773c3
gpt-engineer-20230902081833
Auto-GPT-Bot Sep 2, 2023
04e7ecb
PolyGPT-20230902081843
Auto-GPT-Bot Sep 2, 2023
0cac00d
mini-agi-20230902082116
Auto-GPT-Bot Sep 2, 2023
618d197
Auto-GPT-20230902082232
Auto-GPT-Bot Sep 2, 2023
4c236b1
beebot-20230902082647
Auto-GPT-Bot Sep 2, 2023
291f7f2
Add CORS Middleware to Resolve XMLHttpRequest Error (#26)
hunteraraujo Sep 2, 2023
d7b2a95
Update baseURL to point at forge
hunteraraujo Sep 2, 2023
e3200d8
Add Pagination Model for API Responses
hunteraraujo Sep 2, 2023
855c7fe
Update Task model to include optional fields and adapt factory method
hunteraraujo Sep 2, 2023
3b710b3
Add TaskResponse model to encapsulate tasks and pagination data
hunteraraujo Sep 2, 2023
bda3b8b
Refactor service classes to use api.get and handle structured responses
hunteraraujo Sep 2, 2023
7a817f4
Remove getList implementation
hunteraraujo Sep 2, 2023
7966b81
Update ViewModel classes for Chat and Task to handle structured respo…
hunteraraujo Sep 2, 2023
32c977f
Add shared_preferences dependency
hunteraraujo Sep 3, 2023
1049a4d
Add ApiSettingsViewModel for managing API base URL
hunteraraujo Sep 3, 2023
b0bd42a
Update RestApiUtility to allow dynamic baseURL
hunteraraujo Sep 3, 2023
e69e683
Integrate ApiSettingsViewModel into main.dart
hunteraraujo Sep 3, 2023
eaa4825
Refactor ApiBaseUrlField into a Separate Widget
hunteraraujo Sep 3, 2023
c9bde25
Integrate RestApiUtility with ApiSettingsViewModel for Dynamic URL Up…
hunteraraujo Sep 3, 2023
bf60fea
Refactor TaskView to Include API Base URL Field
hunteraraujo Sep 3, 2023
aa26cad
Refactor Dependency Injection in main.dart Using ProxyProvider
hunteraraujo Sep 3, 2023
cd7c613
combined reports with json (#349)
SilenNaihin Sep 3, 2023
5bbcf0d
smol-developer-20230903081529
Auto-GPT-Bot Sep 3, 2023
cd64b26
BabyAGI-20230903081702
Auto-GPT-Bot Sep 3, 2023
7a8a6ff
gpt-engineer-20230903081739
Auto-GPT-Bot Sep 3, 2023
dc6e137
PolyGPT-20230903082655
Auto-GPT-Bot Sep 3, 2023
1935d55
mini-agi-20230903082926
Auto-GPT-Bot Sep 3, 2023
222c10e
Turbo-20230903083206
Auto-GPT-Bot Sep 3, 2023
1789821
Auto-GPT-20230903084604
Auto-GPT-Bot Sep 3, 2023
c0f0a48
beebot-20230903085728
Auto-GPT-Bot Sep 3, 2023
1b314a5
Helpful TODOs
hunteraraujo Sep 3, 2023
9cebc85
Remove GUI subdirectory
hunteraraujo Sep 3, 2023
f3f7fdf
Add 'gui/' from commit '1b314a5782c42d4c1d2e55e1792e5ed240522b74'
hunteraraujo Sep 3, 2023
99bbed2
challenge logs to json (#350)
SilenNaihin Sep 3, 2023
bc21182
Add local persistence for deleted tasks
hunteraraujo Sep 4, 2023
4c54b46
gpt-engineer-20230904081545
Auto-GPT-Bot Sep 4, 2023
44b19c4
smol-developer-20230904081630
Auto-GPT-Bot Sep 4, 2023
59265a4
BabyAGI-20230904081904
Auto-GPT-Bot Sep 4, 2023
abefbdd
Turbo-20230904082958
Auto-GPT-Bot Sep 4, 2023
e598fe9
PolyGPT-20230904083452
Auto-GPT-Bot Sep 4, 2023
fc44da3
mini-agi-20230904083608
Auto-GPT-Bot Sep 4, 2023
c539866
Auto-GPT-20230904084850
Auto-GPT-Bot Sep 4, 2023
de60cf8
beebot-20230904085735
Auto-GPT-Bot Sep 4, 2023
e5cef44
Re-Organised project and added benchmark code
Swiftyos Sep 4, 2023
16be886
Removed extra dirs
Swiftyos Sep 4, 2023
bbfaf55
Added git ignore
Swiftyos Sep 4, 2023
f1133af
Added a readme and gitignore
Swiftyos Sep 4, 2023
011be8f
Added License for the main directory remvoing sub-licenses
Swiftyos Sep 4, 2023
b9be0f7
removed script
Swiftyos Sep 4, 2023
009eeeb
Cleaned notebooks removing the stored output
Swiftyos Sep 4, 2023
11c1bc3
Renamed gui to frontend
Swiftyos Sep 4, 2023
4ce962d
Added image to the Readme
Swiftyos Sep 4, 2023
613dd11
Add battleship game (#351)
waynehamadi Sep 4, 2023
a470a30
Fix multiple selection issue in TaskListTile
hunteraraujo Sep 4, 2023
2c0c2e7
Truncate task titles in TaskListTile
hunteraraujo Sep 4, 2023
e1d4564
Integrate JSON Response into AgentMessageTile
hunteraraujo Sep 4, 2023
994bdca
Prevent TaskView and ChatView from Being Obscured by CupertinoTabView
hunteraraujo Sep 4, 2023
57907bc
Url shortener challenge (#353)
waynehamadi Sep 4, 2023
2dc1a0a
working regex (#352)
SilenNaihin Sep 5, 2023
0bb45be
Rename three sum (#354)
waynehamadi Sep 5, 2023
922cf6e
BabyAGI-20230905081859
Auto-GPT-Bot Sep 5, 2023
5eefa36
smol-developer-20230905081948
Auto-GPT-Bot Sep 5, 2023
730bd35
gpt-engineer-20230905082128
Auto-GPT-Bot Sep 5, 2023
dd7e231
mini-agi-20230905083708
Auto-GPT-Bot Sep 5, 2023
cbbc5be
PolyGPT-20230905083750
Auto-GPT-Bot Sep 5, 2023
f816f33
Turbo-20230905084158
Auto-GPT-Bot Sep 5, 2023
7094121
beebot-20230905085222
Auto-GPT-Bot Sep 5, 2023
c8c5705
Addition of Ability Register and Sample Ability (#27)
Swiftyos Sep 5, 2023
1277e36
Added prompt techniques
Swiftyos Sep 5, 2023
cf2952f
Addition of Simple Memory System Based on ChromaDB (#28)
Swiftyos Sep 5, 2023
8489052
Move Auto-GPT to autogpts/autogpt
waynehamadi Sep 5, 2023
a1f7445
Merge remote-tracking branch 'forge/master' into restructure-repo
waynehamadi Sep 5, 2023
45c15e3
Auto-GPT-20230905085638
Auto-GPT-Bot Sep 5, 2023
9fc0e2d
remove benchmark
waynehamadi Sep 5, 2023
5b18765
Delete .idea directory
waynehamadi Sep 5, 2023
c2dc4ba
Delete agbenchmark directory
waynehamadi Sep 5, 2023
965a618
Merge remote-tracking branch 'benchmark1/restructure' into restructur…
waynehamadi Sep 5, 2023
9c4aca2
remove extraneous code
waynehamadi Sep 5, 2023
f41bf59
Test benchmark ci (#5157)
waynehamadi Sep 5, 2023
401231e
adding readme
SilenNaihin Sep 5, 2023
33c1810
Delete .DS_Store
waynehamadi Sep 5, 2023
c9b6535
add ci + fix linting
waynehamadi Sep 5, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
52 changes: 10 additions & 42 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,17 @@
<!-- ⚠️ At the moment any non-essential commands are not being merged.
If you want to add non-essential commands to Auto-GPT, please create a plugin instead.
We are expecting to ship plugin support within the week (PR #757).
Resources:
* https://github.com/Significant-Gravitas/Auto-GPT-Plugin-Template
-->

<!-- 📢 Announcement
We've recently noticed an increase in pull requests focusing on combining multiple changes. While the intentions behind these PRs are appreciated, it's essential to maintain a clean and manageable git history. To ensure the quality of our repository, we kindly ask you to adhere to the following guidelines when submitting PRs:

Focus on a single, specific change.
Do not include any unrelated or "extra" modifications.
Provide clear documentation and explanations of the changes made.
Ensure diffs are limited to the intended lines — no applying preferred formatting styles or line endings (unless that's what the PR is about).
For guidance on committing only the specific lines you have changed, refer to this helpful video: https://youtu.be/8-hSNHHbiZg

Check out our [wiki page on Contributing](https://github.com/Significant-Gravitas/Nexus/wiki/Contributing)

By following these guidelines, your PRs are more likely to be merged quickly after testing, as long as they align with the project's overall direction. -->

### Background
<!-- Provide a concise overview of the rationale behind this change. Include relevant context, prior discussions, or links to related issues. Ensure that the change aligns with the project's overall direction. -->

### Changes
<!-- Describe the specific, focused change made in this pull request. Detail the modifications clearly and avoid any unrelated or "extra" changes. -->
<!-- IF YOU MAKE A PR FROM A FORK, THE mini-agi TEST WON'T PASS, so ignore it.-->

### Documentation
<!-- Explain how your changes are documented, such as in-code comments or external documentation. Ensure that the documentation is clear, concise, and easy to understand. -->
### Changes

### Test Plan
<!-- Describe how you tested this functionality. Include steps to reproduce, relevant test cases, and any other pertinent information. -->
<!-- Describe the specific, focused change made in this pull request. Detail the modifications clearly and avoid any unrelated or "extra" changes. -->

### PR Quality Checklist
- [ ] My pull request is atomic and focuses on a single change.
- [ ] I have thoroughly tested my changes with multiple different prompts.
- [ ] I have considered potential risks and mitigations for my changes.
- [ ] I have documented my changes clearly and comprehensively.
- [ ] I have not snuck in any "extra" small tweaks changes. <!-- Submit these as separate Pull Requests, they are the easiest to merge! -->
- [ ] I have run the following commands against my code to ensure it passes our linters:
```shell
black .
isort .
mypy
autoflake --remove-all-unused-imports --recursive --ignore-init-module-imports --ignore-pass-after-docstring autogpt tests --in-place
```

<!-- If you haven't added tests, please explain why. If you have, check the appropriate box. If you've ensured your PR is atomic and well-documented, check the corresponding boxes. -->

<!-- By submitting this, I agree that my pull request should be closed if I do not fill this out or follow the guidelines. -->
- [ ] I have run the following commands against my code to ensure it passes our linters:
```shell
black . --exclude test.py
isort .
mypy .
autoflake --remove-all-unused-imports --recursive --ignore-init-module-imports --ignore-pass-after-docstring --in-place agbenchmark
```
301 changes: 301 additions & 0 deletions .github/workflows/benchmark_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,301 @@
name: CI
defaults:
run:
working-directory: ./benchmark/

on:
workflow_dispatch:
branches: [master]
inputs:
agents:
description: 'Agents to run (comma-separated)'
required: false
default: 'gpt-engineer,smol-developer,Auto-GPT,mini-agi,beebot,BabyAGI,PolyGPT,Turbo' # Default agents if none are specified
schedule:
- cron: '0 8 * * *'
push:
branches: [master, ci-test*]
paths-ignore:
- 'reports/**'
pull_request:
branches: [stable, master, release-*, develop]

jobs:
lint:
runs-on: ubuntu-latest
env:
min-python-version: '3.10'

steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
submodules: true

- name: Set up Python ${{ env.min-python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ env.min-python-version }}

- id: get_date
name: Get date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT

- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python -

- name: Install dependencies
run: |
export POETRY_VIRTUALENVS_IN_PROJECT=true
poetry install -vvv

- name: Lint with flake8
run: poetry run flake8

- name: Check black formatting
run: poetry run black . --exclude test.py --check
if: success() || failure()

- name: Check isort formatting
run: poetry run isort . --check
if: success() || failure()

- name: Check for unused imports and pass statements
run: |
cmd="poetry run autoflake --remove-all-unused-imports --recursive --ignore-init-module-imports --ignore-pass-after-docstring agbenchmark"
$cmd --check || (echo "You have unused imports or pass statements, please run '${cmd} --in-place'" && exit 1)
if: success() || failure()
matrix-setup:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
env-name: ${{ steps.set-matrix.outputs.env-name }}
steps:
- id: set-matrix
run: |
if [ "${{ github.event_name }}" == "schedule" ]; then
echo "::set-output name=env-name::production"
echo "::set-output name=matrix::[ 'gpt-engineer', 'smol-developer', 'Auto-GPT', 'mini-agi', 'beebot', 'BabyAGI', 'PolyGPT', 'Turbo' ]"
elif [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
IFS=',' read -ra matrix_array <<< "${{ github.event.inputs.agents }}"
matrix_string="[ \"$(echo "${matrix_array[@]}" | sed 's/ /", "/g')\" ]"
echo "::set-output name=env-name::production"
echo "::set-output name=matrix::$matrix_string"
else
echo "::set-output name=env-name::testing"
echo "::set-output name=matrix::[ 'mini-agi' ]"
fi

tests:
environment:
name: '${{ needs.matrix-setup.outputs.env-name }}'
needs: matrix-setup
env:
GH_TOKEN: ${{ github.event_name == 'pull_request' && github.token || secrets.PAT }}
min-python-version: '3.10'
name: '${{ matrix.agent-name }}'
runs-on: ubuntu-latest
timeout-minutes: 50
strategy:
fail-fast: false
matrix:
agent-name: ${{fromJson(needs.matrix-setup.outputs.matrix)}}
steps:
- name: Print Environment Name
run: |
echo "Matrix Setup Environment Name: ${{ needs.matrix-setup.outputs.env-name }}"

- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
submodules: true
token: ${{ env.GH_TOKEN }}

- name: Setup Chrome and ChromeDriver
run: |
sudo apt-get update
sudo apt-get install -y wget
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt-get install -f

- name: Set up Python ${{ env.min-python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ env.min-python-version }}

- id: get_date
name: Get date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT

- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python -

- name: Install dependencies
run: |
poetry install -vvv
poetry build

- name: Run regression tests
run: |
cd agent/$AGENT_NAME
prefix=""
if [ "$AGENT_NAME" == "gpt-engineer" ]; then
make install
source venv/bin/activate
elif [ "$AGENT_NAME" == "Auto-GPT" ]; then
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip uninstall agbenchmark -y
elif [ "$AGENT_NAME" == "mini-agi" ]; then
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env_example .env
elif [ "$AGENT_NAME" == "smol-developer" ]; then
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
elif [ "$AGENT_NAME" == "BabyAGI" ]; then
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
elif [ "$AGENT_NAME" == "SuperAGI" ]; then
cp config_template.yaml config.yaml
sed -i 's/OPENAI_API_KEY:.*/OPENAI_API_KEY: "'"${{ secrets.OPENAI_API_KEY }}"'"/' config.yaml
docker-compose up -d --build
elif [ "$AGENT_NAME" == "beebot" ]; then
poetry install
poetry run playwright install
poetry run uvicorn beebot.initiator.api:create_app --factory --timeout-graceful-shutdown=1 &
prefix="poetry run "
elif [ "$AGENT_NAME" == "PolyGPT" ]; then
cp .env.template .env
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
export NVM_DIR=$HOME/.nvm
source $NVM_DIR/nvm.sh
nvm install && nvm use
yarn install
export NODE_TLS_REJECT_UNAUTHORIZED=0
elif [ "$AGENT_NAME" == "Turbo" ]; then
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.template .env
sed -i 's/your-openai-api-key/${{ secrets.OPENAI_API_KEY }}/g' .env
else
echo "Unknown agent name: $AGENT_NAME"
exit 1
fi

pip install ../../dist/*.whl

bash -c "$(curl -fsSL https://raw.githubusercontent.com/merwanehamadi/helicone/b7ab4bc53e51d8ab29fff19ce5986ab7720970c6/mitmproxy.sh)" -s start

if [ "${GITHUB_EVENT_NAME}" == "pull_request" ] || [ "${{ github.event_name }}" == "push" ]; then
set +e # Ignore non-zero exit codes and continue execution
echo "Running the following command: ${prefix}agbenchmark start --maintain --mock"
${prefix}agbenchmark start --maintain --mock
EXIT_CODE=$?
set -e # Stop ignoring non-zero exit codes
# Check if the exit code was 5, and if so, exit with 0 instead
if [ $EXIT_CODE -eq 5 ]; then
echo "regression_tests.json is empty."
fi
echo "Running the following command: ${prefix}agbenchmark start --mock"
${prefix}agbenchmark start --mock

echo "Running the following command: ${prefix}agbenchmark start --mock --category=retrieval"
${prefix}agbenchmark start --mock --category=retrieval

echo "Running the following command: ${prefix}agbenchmark start --mock --category=interface"
${prefix}agbenchmark start --mock --category=interface

echo "Running the following command: ${prefix}agbenchmark start --mock --category=code"
${prefix}agbenchmark start --mock --category=code

echo "Running the following command: ${prefix}agbenchmark start --mock --category=memory"
${prefix}agbenchmark start --mock --category=memory

echo "Running the following command: ${prefix}agbenchmark start --mock --suite TestRevenueRetrieval"
${prefix}agbenchmark start --mock --suite TestRevenueRetrieval

echo "Running the following command: ${prefix}agbenchmark start --test=TestWriteFile"
${prefix}agbenchmark start --test=TestWriteFile

cd ../..
poetry install
poetry run uvicorn server:app --reload &
sleep 5
export AGENT_NAME=mini-agi
echo "poetry run agbenchmark start --mock --api_mode --host=http://localhost:8000"
poetry run agbenchmark start --mock --api_mode --host=http://localhost:8000
else
echo "${prefix}agbenchmark start"
${prefix}agbenchmark start || echo "This command will always return a non zero exit code unless all the challenges are solved."
fi

cd ../..

env:
GITHUB_EVENT_NAME: ${{ github.event_name }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
AGENT_NAME: ${{ matrix.agent-name }}
PROMPT_USER: false # For mini-agi. TODO: Remove this and put it in benchmarks.py
HELICONE_API_KEY: ${{ secrets.HELICONE_API_KEY }}
BASERUN_API_KEY: ${{ secrets.BASERUN_API_KEY }}
REQUESTS_CA_BUNDLE: /etc/ssl/certs/ca-certificates.crt
HELICONE_CACHE_ENABLED: false
HELICONE_PROPERTY_AGENT: ${{ matrix.agent-name }}
REPORT_LOCATION: ${{ format('../../reports/{0}', matrix.agent-name) }}
WOLFRAM_ALPHA_APPID: ${{ secrets.WOLFRAM_ALPHA_APPID }}
SERPER_API_KEY: ${{ secrets.SERPER_API_KEY }}
BING_SUBSCRIPTION_KEY: ${{ secrets.BING_SUBSCRIPTION_KEY }}

- name: Upload reports
if: always()
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.agent-name }}
path: reports/${{ matrix.agent-name }}

- name: Authenticate and Push to Branch
if: (success() || failure()) && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
run: |
git config --global user.email "github-bot@agpt.co"
git config --global user.name "Auto-GPT-Bot"

git add reports/* || echo "nothing to commit"
commit_message="${{ matrix.agent-name }}-$(date +'%Y%m%d%H%M%S')"
git commit -m "${commit_message}"
git stash
current_branch=${{ github.ref_name }}
attempts=0
max_attempts=3

while [ $attempts -lt $max_attempts ]; do
git fetch origin $current_branch
git rebase origin/$current_branch
if git push origin HEAD; then
echo "Success!"
poetry run python reports/send_to_googledrive.py || echo "Failed to upload to Google Drive"
exit 0
else
echo "Attempt $(($attempts + 1)) failed. Retrying..."
attempts=$(($attempts + 1))
fi
done

echo "Failed after $max_attempts attempts."
env:
GDRIVE_BASE64: ${{ secrets.GDRIVE_BASE64 }}
GITHUB_REF_NAME: ${{ github.ref_name }}
Loading
Loading