-
Notifications
You must be signed in to change notification settings - Fork 4
Home
⚠️ Note: This doesn't work without Eden secrets yet. A localhost-ready version of Eve is expected in the future.
Install Rye for Python & package management
Install homebrew
Install the following homebrew packages:
brew install libmagic
brew install ffmpeg
Set up the workflows repo:
git clone https://github.com/edenartlab/workflows.git
cd workflows
git checkout reformat
Clone Eve (in the same parent directory as workflows) and install packages:
git clone https://github.com/edenartlab/eve.git
cd eve
rye sync
Copy .env.example
and fill in with appropriate secret values
To get help with eve, run:
rye run eve --help
Create with tools
rye run eve create flux_schnell --prompt "universe in a bottle" --aspect_ratio "16:9"`
Upload tool config to stage (to target prod, add --db prod
:
rye run eve update txt2img img2vid vid2vid_sdxl
Test a tool on stage (using test.json
)
rye run eve test flux_schnell
Chat with Eve (not working yet)
rye run eve chat
Eve comes with a number of lightweight clients that allow you to interact with an eve agent on different social platforms.
Example for Discord (Assumes you have a .env file in the eve/clients/discord folder based on the example env)
Running locally:
rye sync --features "discord"
rye run python eve/clients/discord/client.py --env=./eve/clients/discord/.env
Running with docker
docker build -f eve/clients/discord/Dockerfile --build-arg ENV_FILE=eve/clients/discord/.env -t eve-discord .
docker run --name eve-discord eve-discord
To run an agent from a yaml file, use the eve start
command. 1st arg is a relative path to a yaml file containing an eve agent spec, with --env being optional arg (defaults to .env)
This will launch clients based on what you've specified in the clients
section of your yaml, ie
clients:
discord:
enabled: true
local:
enabled: true
To start the agent, run this command:
rye run eve start eve/agents/new.yaml --env=./eve/clients/discord/.env
Create a .env.{key} file in eve/agents
with your client secrets
Add key
and deployments
properties to your agent's yaml file. Key is the mongo agent.key property. Ex:
name: Eve
key: eve
...
deployments:
- discord
...
Run
rye run python scripts/deploy_agent.py
Or to deploy individual agents:
rye run python scripts/deploy_agent.py --agents=agent1,agent2