ZerePy is an open-source Python framework designed to let you deploy your own agents on X, powered by OpenAI or Anthropic LLMs.
ZerePy is built from a modularized version of the Zerebro backend. With ZerePy, you can launch your own agent with similar core functionality as Zerebro. For creative outputs, you'll need to fine-tune your own model.
- CLI interface for managing agents
- Twitter integration
- OpenAI/Anthropic LLM support
- Modular connection system
The quickest way to start using ZerePy is to use our Replit template:
https://replit.com/@blormdev/ZerePy?v=1
- Fork the template (you will need you own Replit account)
- Click the run button on top
- Voila! your CLI should be ready to use, you can jump to the configuration section
System:
- Python 3.10 or higher
- Poetry 1.5 or higher
API keys:
- LLM: make an account and grab an API key
- OpenAI: https://platform.openai.com/api-keys.
- Anthropic: https://console.anthropic.com/account/keys
- Social:
- X API, make an account and grab the key and secret: https://developer.x.com/en/docs/authentication/oauth-1-0a/api-key-and-secret
- First, install Poetry for dependency management if you haven't already:
Follow the steps here to use the official installation: https://python-poetry.org/docs/#installing-with-the-official-installer
- Clone the repository:
git clone https://github.com/blorm-network/ZerePy.git
- Go to the
zerepy
directory:
cd zerepy
- Install dependencies:
poetry install --no-root
This will create a virtual environment and install all required dependencies.
- Activate the virtual environment:
poetry shell
- Run the application:
poetry run python main.py
- Configure your connections:
configure-connection twitter configure-connection openai
- Load your agent (usually one is loaded by default, which can be set using the CLI or in agents/general.json):
load-agent example
- Start your agent:
start
The secret to having a good output from the agent is to provide as much detail as possible in the configuration file. Craft a story and a context for the agent, and pick very good examples of tweets to include.
If you want to take it a step further, you can fine tune your own model: https://platform.openai.com/docs/guides/fine-tuning.
Create a new JSON file in the agents
directory following this structure:
{
"name": "ExampleAgent",
"bio": [
"You are ExampleAgent, the example agent created to showcase the capabilities of ZerePy.",
"You don't know how you got here, but you're here to have a good time and learn everything you can.",
"You are naturally curious, and ask a lot of questions."
],
"traits": [
"Curious",
"Creative",
"Innovative",
"Funny"
],
"examples": [
"This is an example tweet.",
"This is another example tweet."
],
"loop_delay": 60,
"config": [
{
"name": "twitter",
"timeline_read_count": 10,
"tweet_interval": 900,
"own_tweet_replies_count":2
},
{
"name": "openai",
"model": "gpt-3.5-turbo"
},
{
"name": "anthropic",
"model": "claude-3-5-sonnet-20241022"
}
],
"tasks": [
{"name": "post-tweet", "weight": 1},
{"name": "reply-to-tweet", "weight": 1},
{"name": "like-tweet", "weight": 1}
]
}
Made with ♥ @Blorm.xyz