Skip to main content

Personal Simple Generic Agents

Project description

FivcPlayground

An intelligent agent ecosystem built on Strands for autonomous tool generation, task assessment, and dynamic agent orchestration.

๐Ÿ”„ Dual Backend Support: FivcPlayground supports both Strands (default) and LangChain backends. See Backend Selection Guide for details on switching backends.

๐ŸŽฏ Overview

FivcPlayground provides a flexible multi-agent system that can:

  • Assess tasks intelligently to determine the best approach
  • Retrieve and use tools dynamically based on task requirements
  • Plan and execute complex workflows with specialized agents
  • Generate and optimize tools autonomously
  • Chat and assist users through an interactive web interface

๐Ÿš€ Quickstart

Prerequisites

  • Python 3.10 or higher
  • API keys for LLM providers (OpenAI, Ollama, etc.)

Installation

# Install with uv (recommended)
make install        # runtime + dev dependencies

# Or minimal installation
make install-min    # runtime only

# Or with pip
pip install -e .

Configuration

  1. Copy the example environment file:
cp .env.example .env
  1. Configure your LLM provider settings in .env:
# OpenAI
OPENAI_API_KEY=your_key_here
OPENAI_BASE_URL=https://api.openai.com/v1

# Or Ollama
OLLAMA_BASE_URL=http://localhost:11434

Quick Start

# Launch the web interface
make serve

# Or run an agent from CLI
uv run fivcplayground run Generic --query "What is machine learning?"

# Show available commands
uv run fivcplayground --help

๐Ÿ“ Project Structure

src/fivcplayground/
โ”œโ”€โ”€ agents/          # Agent creation and management
โ”‚   โ””โ”€โ”€ types/       # Agent retriever and creator types
โ”œโ”€โ”€ backends/        # Backend implementations (langchain, strands)
โ”‚   โ”œโ”€โ”€ langchain/   # LangChain backend
โ”‚   โ””โ”€โ”€ strands/     # Strands backend
โ”œโ”€โ”€ demos/           # Streamlit web interface
โ”œโ”€โ”€ embeddings/      # Vector database and embeddings
โ”‚   โ””โ”€โ”€ types/       # Embedding database types
โ”œโ”€โ”€ models/          # LLM model factories and providers
โ”‚   โ””โ”€โ”€ types/       # Model types and implementations
โ”‚       โ”œโ”€โ”€ repositories/  # Model configuration repositories
โ”‚       โ””โ”€โ”€ base.py        # ModelConfig data model
โ”œโ”€โ”€ schemas.py       # Pydantic data schemas
โ”œโ”€โ”€ settings/        # Configuration management
โ”œโ”€โ”€ tasks.py         # Task execution functions
โ”œโ”€โ”€ tools/           # Tool management and retrieval
โ”‚   โ””โ”€โ”€ types/       # Tool retriever and config types
โ””โ”€โ”€ utils/           # Utility functions

configs/             # Configuration examples
examples/            # Usage examples
โ”œโ”€โ”€ agents/          # Agent usage examples
โ””โ”€โ”€ tools/           # Tool usage examples
tests/               # Test suite
docs/                # Documentation

๐Ÿ’ป Usage

Command Line Interface

# Show all available commands
fivcplayground --help

# Run an agent interactively
fivcplayground run Generic

# Run an agent with a specific query
fivcplayground run Generic --query "What is machine learning?"

# Run different agent types
fivcplayground run Companion --query "Tell me a joke"
fivcplayground run Consultant --query "How should I approach this task?"

# Clean temporary files
fivcplayground clean

# Show system information
fivcplayground info

Available Agents

  • Generic - Standard agent for general task execution
  • Companion - Friendly chat agent for conversations
  • Tooling - Specialized in finding the right tools
  • Consultant - Assesses tasks and recommends approaches
  • Planner - Creates execution plans and teams
  • Researcher - Analyzes patterns and workflows
  • Engineer - Develops and optimizes tools
  • Evaluator - Assesses performance and quality

Web Interface

FivcPlayground includes a modern web interface built with Streamlit:

# Launch web interface (default: localhost:8501)
fivcplayground web

# Or using Make
make serve

# Development mode with auto-reload
make serve-dev

# Custom port and host
fivcplayground web --port 8080 --host 0.0.0.0

Features:

  • ๐Ÿ’ฌ Interactive chat interface - Natural conversation with agents
  • ๐Ÿ”„ Async execution - Non-blocking, responsive interface
  • ๐Ÿ› ๏ธ Tool integration - Automatic tool selection and execution
  • ๐Ÿ“ Conversation history - Full session management
  • ๐ŸŽจ Modern UI - Clean, intuitive Streamlit interface

See Web Interface Documentation for detailed usage instructions.

๐Ÿงฐ Available Tools

FivcPlayground includes built-in tools and supports MCP (Model Context Protocol) tools:

Built-in Tools:

  • calculator - Mathematical calculations
  • current_time - Current date and time
  • python_repl - Python code execution

MCP Tools: Configure MCP servers in configs/mcp.yaml to add additional tools dynamically.

๐Ÿ“š Documentation

For comprehensive documentation, see the docs/ directory:

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

๐Ÿ“„ License

MIT

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

fivcplayground-0.1.13.tar.gz (105.9 kB view details)

Uploaded Source

Built Distribution

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

fivcplayground-0.1.13-py3-none-any.whl (84.1 kB view details)

Uploaded Python 3

File details

Details for the file fivcplayground-0.1.13.tar.gz.

File metadata

  • Download URL: fivcplayground-0.1.13.tar.gz
  • Upload date:
  • Size: 105.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.10

File hashes

Hashes for fivcplayground-0.1.13.tar.gz
Algorithm Hash digest
SHA256 5caecf97ce884d280392f7e35a3c99f37400b8599b2a1f8014c9330aa44a914e
MD5 5703feb9b7ad43b89d7dccabd0b1a4f5
BLAKE2b-256 befbafed4a6c1259627f44536a8f0e9d91b239698cab872d09bfe6da24102e44

See more details on using hashes here.

File details

Details for the file fivcplayground-0.1.13-py3-none-any.whl.

File metadata

File hashes

Hashes for fivcplayground-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 4274e83362bf7a945a643aabc3a680388304e69069470beb07869dd1b3d445d6
MD5 5f336a20a80cb491b55c2c108a88c7d3
BLAKE2b-256 690a337d17bdc0741f74d46f198d60d006d7f9c54f7c7e6e226e3ce554f8131a

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