Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions docs/content/docs/get-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,70 @@ After building:
- The Python package is installed and ready to use
- The distribution JAR is located at: `dist/target/flink-agents-dist-*.jar`

## Maven Dependencies (Java Development)

For developing Flink Agents applications in Java, add the following dependencies to your `pom.xml`:

### Basic Dependencies for Agent Development

**Required for developing Agent applications:**
- `flink-agents-api` - Core API interfaces and classes
- Integration modules - Add the specific integrations you need (e.g., `flink-agents-integrations-chat-models-openai`)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In #433, we add constant strings to point a resource implementation, so integration modules is not required for developing. But they are still need for running in IDE


**Additional dependencies for running in IDE:**
- `flink-agents-runtime` - Runtime execution engine (required for local execution/testing)
- Flink artifacts - `flink-streaming-java` and `flink-clients` with `provided` scope

### Example pom.xml

```xml
<properties>
<flink.version>1.20.3</flink.version>
<flink-agents.version>0.2-SNAPSHOT</flink-agents.version>
</properties>

<dependencies>
<!-- Flink Agents Core API -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-agents-api</artifactId>
<version>${flink-agents.version}</version>
</dependency>

<!-- Flink Agents Integration (example: OpenAI) -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-agents-integrations-chat-models-openai</artifactId>
<version>${flink-agents.version}</version>
</dependency>

<!-- Runtime (required for IDE/local execution) -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-agents-runtime</artifactId>
<version>${flink-agents.version}</version>
</dependency>
Comment on lines +180 to +185
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this also be provided?


<!-- Flink dependencies (provided scope) -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java</artifactId>
<version>${flink.version}</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients</artifactId>
<version>${flink.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a feeling that there are too many dependencies need to be added for execution in an IDE. This not only harms the user experience, but also makes this document hard to maintain as the dependencies need to be added may change in future and this document can easily become inconsistent. I wonder if we can introduce a pom like flink-agents-ide-supports, which includes all dependencies needed for the local execution. Of course this can be a separate issue and should not block this PR.
cc @wenjin272


{{< hint info >}}
**Note:** Replace `0.2-SNAPSHOT` with the actual release version when available. For SNAPSHOT versions, you may need to add the Apache snapshot repository to your `pom.xml`.
{{< /hint >}}
Comment on lines +204 to +206
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can remove this hint and just use 0.2 w/o the -SNAPSHOT suffix. The version will soon be available in 1-2 weeks.


## Deploy to Flink Cluster

Expand Down