A lightweight framework for running generative agents through a Streamlit interface.
Project description
Cynia Agents
Cynia Agents is a lightweight framework for running generative agents through a Streamlit interface.
Generation logic lives in installable components which can be added or removed without modifying the UI.
The framework provides unified LLM, configuration, and artifact management, allowing agent developers to focus on building components that generate content.
The repository ships with only a simple example component. Complex generators such as the Bukkit plugin agent can be distributed separately and dropped into the components folder.
Installation
You can install Cynia Agents directly via pip:
pip install cynia-agents
Usage
Running the Application
To start the Cynia Agents UI, simply run:
cynia-agents
The application will launch in your default web browser. You can configure your API keys and choose an LLM provider from the Configuration Center page in the sidebar.
Managing Components
You can manage your components in the Component Center:
- Import ZIP: Upload a ZIP file containing a component.
- Import Folder: Select a local folder to import as a component.
- Dependencies: Automatically install dependencies for your components.
Developing Components
To develop a new component, navigate to your component's directory and run:
cynia-agents dev
This command will start the application and temporarily link your current directory as a component, allowing you to see changes in real-time.
See COMPONENT_DEVELOPMENT.md for detailed information on building your own generators.
Developing Components
A component is a Python module placed inside the components/ directory. Here's a minimal example of a CyniaAgents component.
from cynia_agents.component_base import BaseComponent
class MyComponent(BaseComponent):
name = "My Generator"
description = "Does something amazing"
# Declare any additional packages your component depends on
requirements = ["pandas"]
def render(self):
import streamlit as st
self.logger("Rendering my component")
st.write("Hello from my component")
See COMPONENT_DEVELOPMENT.md for information on building your own generators.
Components can be a single Python file or a folder containing multiple files. Single-file components keep their dependencies in a requirements list while multi-file components include a requirements.txt file.
License
Licensed under the Apache 2.0 License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cynia_agents-2.1.0.tar.gz.
File metadata
- Download URL: cynia_agents-2.1.0.tar.gz
- Upload date:
- Size: 2.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78540332fb4cefd5558d5832229a106261cef285a4484a3e1809c3e47f991d03
|
|
| MD5 |
26b94f5f150241f3da691689a6e06796
|
|
| BLAKE2b-256 |
438660c8d9a32388ccee645f5cc5f483967cc4aea76d2693905fdc1295f232a1
|
File details
Details for the file cynia_agents-2.1.0-py3-none-any.whl.
File metadata
- Download URL: cynia_agents-2.1.0-py3-none-any.whl
- Upload date:
- Size: 2.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b97912039677af89acb962dbdc20a601625f3523d4eea603ccdee27bcfdb158
|
|
| MD5 |
f74ada064e53123d184e6d813d70b9c8
|
|
| BLAKE2b-256 |
4231f8cbf7ad53ec6109c9f33f7d75a466de3be1eee99c34d624bc41c6492aac
|