• Stars
    star
    140
  • Rank 261,473 (Top 6 %)
  • Language Starlark
  • License
    MIT License
  • Created over 1 year ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

It's like Auto-GPT met Brew. The easiest and fastest way to get started with AutoGPT with any backend of your choice & whatever plugins you may need

Auto-GPT Package

Run of the Auto-GPT Package

"It's like AutoGPT got a brew install", made possible by Kurtosis.

NOTE: This now runs with 0.4.0 that drops support for Milvus, Weaviate and PineCone. You can run Kurtosis against 0.3.1 by doing kurtosis run github.com/kurtosis-tech/[email protected] with the desired arguments

Run AutoGPT in the browser (no installation needed)

  1. If you don't have an OpenAI API key, get one here
  2. Click this link to open a Gitpod, selecting "Continue" to use the default resources
  3. Wait for the Gitpod to boot up and the terminal to finish installing Kurtosis (should take ~30 seconds)
  4. Run the following in the terminal (replacing YOUR_API_KEY_HERE with your OpenAI API key)
    kurtosis run github.com/kurtosis-tech/autogpt-package --enclave autogpt '{"OPENAI_API_KEY": "YOUR_API_KEY_HERE"}'
  5. When installing & starting AutoGPT has finished, run the following in the terminal to open the AutoGPT prompt:
    kurtosis service shell autogpt autogpt --exec "python -m autogpt"
  6. Use AutoGPT as you please!

Run of the Auto-GPT Package

Run AutoGPT on your machine

  1. If you don't have an OpenAI API key, get one here
  2. Install Kurtosis using these instructions
  3. Run the following in your terminal (replacing YOUR_API_KEY_HERE with your OpenAI API key)
    kurtosis run github.com/kurtosis-tech/autogpt-package --enclave autogpt '{"OPENAI_API_KEY": "YOUR_API_KEY_HERE"}'
  4. When installing & starting AutoGPT has finished, run the following in your terminal to open the AutoGPT prompt:
    kurtosis service shell autogpt autogpt

and then within the prompt:

> python -m autogpt
  1. Use AutoGPT as you please! To destroy the AutoGPT instance, run:
    kurtosis enclave rm -f autogpt
    

Configuring AutoGPT (including memory backend)

To pass any of the AutoGPT configuration values listed here, pass the argument as a property of the JSON object you're passing to Kurtosis just like you passed in OPENAI_API_KEY.

For example, this is how you'd pass the RESTRICT_TO_WORKSPACE flag:

kurtosis run github.com/kurtosis-tech/autogpt-package --enclave autogpt '{"OPENAI_API_KEY": "YOUR_API_KEY_HERE", "RESTRICT_TO_WORKSPACE": "False"}'

NOTE: this package spins up AutoGPT using the local backend by default. Other backends are available by setting the MEMORY_BACKEND parameter in the JSON object you pass in when you run the kurtosis run command above.

For example, to set the redis memory backend:

kurtosis run github.com/kurtosis-tech/autogpt-package --enclave autogpt '{"OPENAI_API_KEY": "YOUR_API_KEY_HERE", "MEMORY_BACKEND": "redis"}'

NOTE: Redis isn't working with 0.4.0 for now

To run with a different image other than the one hardcoded in main.star use

kurtosis run github.com/kurtosis-tech/autogpt-package --enclave autogpt '{"OPENAI_API_KEY": "YOUR_API_KEY_HERE", "AUTOGPT_IMAGE": "significantgravitas/auto-gpt:v0.4.0"}'

Using AutoGPT plugins

Kurtosis supports the ALLOWLISTED_PLUGINS configuration flag that AutoGPT ships with. For example, to run the AutoGPTTwitter plugin do the following:

kurtosis run github.com/kurtosis-tech/autogpt-package --enclave autogpt '{"OPENAI_API_KEY": "YOUR_API_KEY_HERE", "ALLOWLISTED_PLUGINS": "AutoGPTTwitter"}'

To get multiple plugins running at the same time; separate them with comma without spaces like so:

kurtosis run github.com/kurtosis-tech/autogpt-package --enclave autogpt '{"OPENAI_API_KEY": "YOUR_API_KEY_HERE", "ALLOWLISTED_PLUGINS": "AutoGPTTwitter,AutoGPTEmailPlugin"}'

Under the hood, Kurtosis will download and install the package for you.

As of now the following plugins are supported:

First Party

Third Party

To add support for more plugins, simply create an issue or create a PR adding an entry to plugins.star.

Run without OpenAI

We understand OpenAI can be expensive for some people; more-ever some people might be trying to use this with their own models. AutoGPT-Package supports running AutoGPT against a GPT4All model that runs via LocalAI. To use a local model -

kurtosis run github.com/kurtosis-tech/autogpt-package '{"GPT_4ALL": true}'

This uses the https://gpt4all.io/models/ggml-gpt4all-j.bin model default

To use a different model try the MODEL_URL parameter like -

kurtosis run github.com/kurtosis-tech/autogpt-package '{"GPT_4ALL": true, "MODEL_URL": "https://gpt4all.io/models/ggml-gpt4all-l13b-snoozy.bin"}'

Development

To develop on this package, clone this repo and run the following:

kurtosis run . --enclave autogpt '{"OPENAI_API_KEY": "YOUR_API_KEY_HERE"}'

Note the . - this tells Kurtosis to use the version of the package on your local machine (rather than the version on Github).

Kurtosis also has an extension available on the VSCode marketplace that provides syntax highlighting and autocompletion for the Starlark that this package is composed of.

Feedback or Questions?

Let us know in our Discord or on Twitter @KurtosisTech!

Feel free to create an issue on GitHub if you have any bugs or feature requests.

More Repositories

1

kardinal

Kardinal is the lightest-weight way to spin up dev and test environments in Kubernetes. Deploy the absolute minimum resources necessary and implement dev, test, and QA all in one cluster.
Go
446
star
2

kurtosis

A platform for packaging and launching ephemeral backend stacks with a focus on approachability for the average developer.
Go
334
star
3

ethereum-package

A Kurtosis package that deploys a private, portable, and modular Ethereum devnet
Starlark
172
star
4

agentgpt-package

The quickest way to run or develop on AgentGPT
Starlark
31
star
5

zzz-deprecated-eth2-merge-kurtosis-module

Deprecated in favor of https://github.com/kurtosis-tech/eth2-package
Go
29
star
6

zzz-deprecated-near-kurtosis-module

A Kurtosis module for launching a local NEAR network in Kurtosis
TypeScript
20
star
7

awesome-kurtosis

Official Awesome Kurtosis page. Code examples using Kurtosis
PLpgSQL
16
star
8

eth-network-package

A Kurtosis package that spins up a local Ethereum testnet
Starlark
15
star
9

zz-deprecated_kurtosis-onboarding-experience

Shell
15
star
10

llm-package

Spin up any(almost) llm locally!
Starlark
10
star
11

postgres-package

A Postgres Kurtosis package
Starlark
9
star
12

hyperlane-package

Starlark
8
star
13

zzz-deprecated-kurtosis-engine-api-lib

API & client for the Kurtosis engine server
JavaScript
7
star
14

eth-kurtosis

An index of packages and examples for getting started with multi-client private Ethereum testnets over Docker or Kubernetes.
7
star
15

zz-deprecated-kurtosis-module-api-lib

This has been replaced in favor of Starlark Packages https://docs.kurtosis.com/reference/packages/
Go
6
star
16

near-package

A Kurtosis package that spins up a local near testnet
Starlark
6
star
17

zzz-deprecated-kurtosis-core-api-lib

Open-source library for interacting with the Kurtosis Core API
JavaScript
5
star
18

avalanche-package

A Kurtosis package that spins up an Avalanche node
Go
4
star
19

package-template-repo

A template for creating Kurtosis packages
Starlark
3
star
20

ZZ-DEPRECATED_kurtosis

E2E Testing Harness for Service-Based Networks
Go
2
star
21

zz-deprecated_ethereum-kurtosis-module

A Kurtosis module for starting a private Ethereum network with a single command
Go
2
star
22

protocolberg

Kurtosis SDK Demo @ ProtocolBerg. Use this link for an environment
Go
2
star
23

zz-deprecated-kurtosis-module-starter-pack

Deprecated in favor of https://docs.kurtosis.com/reference/packages/
Shell
2
star
24

aptos-package

Starlark
2
star
25

web3-tools

Tooling for web3 built over Starlark
Solidity
2
star
26

mern-package

This is a Kurtosis MERN package you can use as a template to create your own MERN project.
JavaScript
2
star
27

django-package

This is a Kurtosis Django package you can use as a template to create your own Django application to run in Kurtosis.
Python
2
star
28

kurtosis-docs

Shell
1
star
29

zz-deprecated_kurtosis-tech.github.io

Shell
1
star
30

kurtosis-testsuite-starter-pack

TypeScript
1
star
31

optimism-package

Starlark
1
star
32

zzz-deprecated-avalanche-smart-contract-sample-testsuite

A testsuite for testing smart contracts on the Avalanche blockchain
Go
1
star
33

zzz-deprecated-base-repo

The Kurtosis base template repo for all our other repos
Shell
1
star
34

sei-package

Spins up SEI
Starlark
1
star
35

ssv-demo

A demo for the SSV.Network
TypeScript
1
star
36

rabbitmq-package

A Kurtosis package to deploy a cluster of RabbitMQ nodes
Starlark
1
star
37

ZZ-DEPRECATED_kurtosis-go

Go
1
star
38

vscode-kurtosis

This is the repository for kurtosis plugin for vs code.
Go
1
star
39

readyset-package

Starlark
1
star
40

etcd-package

Starlark
1
star
41

mongodb-package

Starlark
1
star
42

novu-package

Starlark
1
star
43

grafana-package

A Grafana Kurtosis package
Starlark
1
star
44

flink-package

Starlark
1
star
45

zzz-deprecated--onboarding-ethereum-testsuite

An Ethereum testsuite for use in the onboarding experience
TypeScript
1
star
46

datastore-army-package

Toy Kurtosis package that starts a bunch of datastore services
Starlark
1
star
47

new-obd

Online boutique demo for Kardinal
Go
1
star
48

laravel-package

This is a Kurtosis Laravel package you can use as a template to create your own Laravel application to run in Kurtosis.
PHP
1
star