Skip to main content

A lightweight framework for running generative agents through a Streamlit interface.

Project description

Demo

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cynia_agents-2.1.0.tar.gz (2.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cynia_agents-2.1.0-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

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

Hashes for cynia_agents-2.1.0.tar.gz
Algorithm Hash digest
SHA256 78540332fb4cefd5558d5832229a106261cef285a4484a3e1809c3e47f991d03
MD5 26b94f5f150241f3da691689a6e06796
BLAKE2b-256 438660c8d9a32388ccee645f5cc5f483967cc4aea76d2693905fdc1295f232a1

See more details on using hashes here.

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

Hashes for cynia_agents-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4b97912039677af89acb962dbdc20a601625f3523d4eea603ccdee27bcfdb158
MD5 f74ada064e53123d184e6d813d70b9c8
BLAKE2b-256 4231f8cbf7ad53ec6109c9f33f7d75a466de3be1eee99c34d624bc41c6492aac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page