Skip to content
Vincent Naples edited this page Dec 19, 2024 · 29 revisions

⚠️ Note: This doesn't work without Eden secrets yet. A localhost-ready version of Eve is expected in the future.

Prerequisites

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

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

Quick Start

To get help with eve, run:

rye run eve --help

Create with tools

`rye run eve tool 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

Agent folder structure

An agent in the agents folder should have the following structure:

  • api.yaml to define its spec
  • test.json to define a test
  • `.env to define its secrets
image

Running Agents

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 [AGENT_NAME]

Deploying Agents to Modal

Create a .env file in your agent's folder with your client secrets. Follow .env.example in eve/agents

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
Clone this wiki locally