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
- Copy the example environment file:
cp .env.example .env
- 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 calculationscurrent_time- Current date and timepython_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:
- System Design - Architecture and design principles
- Backend Selection Guide - Switching between Strands and LangChain backends
- Web Interface Guide - Complete web interface usage
- Dependencies - Installation and dependency management
- Quick Start - Getting started with FivcPlayground
- Documentation Index - Complete documentation overview
๐ค Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
๐ License
MIT
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5caecf97ce884d280392f7e35a3c99f37400b8599b2a1f8014c9330aa44a914e
|
|
| MD5 |
5703feb9b7ad43b89d7dccabd0b1a4f5
|
|
| BLAKE2b-256 |
befbafed4a6c1259627f44536a8f0e9d91b239698cab872d09bfe6da24102e44
|
File details
Details for the file fivcplayground-0.1.13-py3-none-any.whl.
File metadata
- Download URL: fivcplayground-0.1.13-py3-none-any.whl
- Upload date:
- Size: 84.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4274e83362bf7a945a643aabc3a680388304e69069470beb07869dd1b3d445d6
|
|
| MD5 |
5f336a20a80cb491b55c2c108a88c7d3
|
|
| BLAKE2b-256 |
690a337d17bdc0741f74d46f198d60d006d7f9c54f7c7e6e226e3ce554f8131a
|