Flink Agents is an Agentic AI framework based on Apache Flink

Clone this repo:

Branches

  1. bd2f2f6 [docs] Update flink agents overview doc. (#243) by Xuannan · 9 hours ago main
  2. 48c62b2 [docs] Add docs for chat models and prompts (#245) by Alan Z. · 33 hours ago
  3. aae8a38 [docs] Update workflow agent quickstart with overview and code walkthrough (#244) by Xuannan · 33 hours ago
  4. 69e8c96 [Bug] Add missing close function in MCPServer (#247) by Alan Z. · 33 hours ago
  5. eaee98b [example][java] Add multiple agent integration example (#239) by Letao Jiang · 5 days ago

Apache Flink Agents

Apache Flink Agents is an Agentic AI framework based on Apache Flink.

Building

Prerequisites for building Flink Agents:

  • Unix-like environment (we use Linux, Mac OS X, Cygwin, WSL)
  • Git
  • Maven
  • Java 11
  • Python 3 (3.10, 3.11)

To clone from git, enter:

git clone https://github.com/apache/flink-agents.git

Java Build

To build Flink Agents Java part, run:

cd flink-agents
mvn clean install -DskipTests

Python Build

Using uv (Recommended) — Build and Install

cd python

# Install uv (fast Python package manager)
pip install uv

# Create env and install build dependencies
uv sync --extra build

# Build sdist and wheel into python/dist/
uv run python -m build

# Install the built wheel into the environment
uv pip install dist/*.whl

Using pip (Alternative) — Build and Install

cd python

# Install project (editable) with 'build' extra/tools
pip install -e .[build]

# Build sdist and wheel into python/dist/
python -m build

# Install the built wheel into the environment
python -m pip install dist/*.whl

Build Python with Flink-Agents jars

This will also package flink-agents jars in wheel, which is necessary when run agent as pyflink job.

# Build java and python
bash -x tools/build.sh

# Skip building java (must be built already)
bash -x tools/build.sh -p

How to Contribute

Contribution Guidelines.

Community

Slack

See the Apache Flink website for how to join the slack workspace. We use #flink-agents-dev for developement related discussions.

Community Sync

There is a weekly online sync. Everyone is welcome to join. Please find the schedule, agenda for the next sync, and records of previous syncs in this github discussion page.