Flink Agents is an Agentic AI framework based on Apache Flink

Clone this repo:

Branches

  1. d282e6e [api][python] Separate the abstraction of ChatModel to connection and settings (#113) by Wenjin Xie · 30 hours ago main
  2. 1c62fd6 [api][java] Support serialize and deserialize AgentPlan with python resource providers. by WenjinXie · 5 days ago
  3. 72988dc [hotfix] Fix serializable resource deserialize error. by WenjinXie · 5 days ago
  4. fa6dd85 feat: add reasoning extraction from think tags in OllamaChatModel (#101) by twosom · 5 days ago
  5. 71b9414 [Python] Support for Event containing Row field can be json serializable (#63) by Kavishankarks · 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.9, 3.10, 3.11 or 3.12)

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)

Firstly, install uv and build dependencies:

pip install uv
cd python
uv sync --extra build

Then build the package:

uv run python -m build

Using pip (Traditional)

Alternatively, you can use traditional pip:

cd python
pip install -e .[build]
python -m build

The sdist and wheel package of flink-agents will be found under ./python/dist/. Either of them could be used for installation:

# Using uv
uv pip install python/dist/*.whl

# Using pip
python -m pip install python/dist/*.whl

Note: The requirements/*.txt files are deprecated. Please use the modern pyproject.toml dependency groups. See python/MIGRATION_GUIDE.md for details.

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.