You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: fix mid-identifier wrap in tables, drop hardcoded deps in AI Adapters
custom.css adds word-break:keep-all + overflow-wrap:normal + white-space:nowrap on inline code inside tables so identifiers like skillFile, description, responseAs, journalFormat, Class<?> stop splitting mid-character under narrow columns. Verified in a browser against /docs/agents/coordinator/ and /docs/tutorial/11-ai-adapters/. Tutorial 11 removes the Built-in properties+dependency block and four per-runtime Dependency subsections — the Runtimes table at the top already carries the Maven coords, and the duplicated snippets held a wrong Embabel version (4.0.38) that would have resolved to nothing.
Copy file name to clipboardExpand all lines: docs/src/content/docs/tutorial/11-ai-adapters.md
+1-58Lines changed: 1 addition & 58 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,19 +9,7 @@ Atmosphere's AI layer follows the same adapter pattern as its transport layer. J
9
9
10
10
## Built-in LLM Client (zero extra dependencies)
11
11
12
-
Before reaching for an adapter module, know that `atmosphere-ai` itself includes a built-in `OpenAiCompatibleClient`. This client works with **OpenAI**, **Google Gemini**, **Ollama**, **Azure OpenAI**, and any OpenAI-compatible endpoint -- with zero additional dependencies beyond `atmosphere-ai`.
13
-
14
-
```xml
15
-
<properties>
16
-
<atmosphere.version>4.0.38</atmosphere.version>
17
-
</properties>
18
-
19
-
<dependency>
20
-
<groupId>org.atmosphere</groupId>
21
-
<artifactId>atmosphere-ai</artifactId>
22
-
<version>${atmosphere.version}</version>
23
-
</dependency>
24
-
```
12
+
Before reaching for an adapter module, know that `atmosphere-ai` itself includes a built-in `OpenAiCompatibleClient`. This client works with **OpenAI**, **Google Gemini**, **Ollama**, **Azure OpenAI**, and any OpenAI-compatible endpoint — with zero additional dependencies beyond `atmosphere-ai`. The Maven coordinates for every module in this chapter are listed in the [Runtimes table](#runtimes) below and in the [Spring Boot integration guide](/docs/tutorial/14-spring-boot/).
25
13
26
14
Use it directly via `AiConfig`:
27
15
@@ -133,16 +121,6 @@ When multiple `AgentRuntime` implementations are on the classpath, the one with
133
121
|`SpringAiToolBridge`| Converts Atmosphere `ToolDefinition` to Spring AI `ToolCallback`. Spring AI handles the tool call loop automatically. |
134
122
|`AtmosphereSpringAiAutoConfiguration`| Spring Boot `@AutoConfiguration`. Activates when `ChatClient` is on the classpath. |
135
123
136
-
### Dependency
137
-
138
-
```xml
139
-
<dependency>
140
-
<groupId>org.atmosphere</groupId>
141
-
<artifactId>atmosphere-spring-ai</artifactId>
142
-
<version>${atmosphere.version}</version>
143
-
</dependency>
144
-
```
145
-
146
124
### Auto-configuration
147
125
148
126
The auto-configuration creates a `SpringAiStreamingAdapter` bean and, if a `ChatClient` bean exists, wires it into `SpringAiAgentRuntime`:
@@ -210,16 +188,6 @@ When an `@AiEndpoint` receives a message, `SpringAiAgentRuntime.execute()` runs
210
188
|`LangChain4jToolBridge`| Converts `ToolDefinition` to `ToolSpecification` and handles tool execution. |
211
189
|`AtmosphereLangChain4jAutoConfiguration`| Activates when `StreamingChatLanguageModel` is on the classpath. |
212
190
213
-
### Dependency
214
-
215
-
```xml
216
-
<dependency>
217
-
<groupId>org.atmosphere</groupId>
218
-
<artifactId>atmosphere-langchain4j</artifactId>
219
-
<version>${atmosphere.version}</version>
220
-
</dependency>
221
-
```
222
-
223
191
### Configuration example
224
192
225
193
A typical LangChain4j wiring (the same pattern used internally by `atmosphere-ai` when the LangChain4j adapter is on the classpath):
@@ -289,16 +257,6 @@ Unlike Spring AI, LangChain4j does not execute tool callbacks automatically. Whe
289
257
|`AdkEventAdapter`| Subscribes to a `Flowable<Event>` and forwards partial streaming texts, turn completions, and errors to a `StreamingSession`. |
290
258
|`AtmosphereAdkAutoConfiguration`| Activates when `com.google.adk.runner.Runner` is on the classpath. |
291
259
292
-
### Dependency
293
-
294
-
```xml
295
-
<dependency>
296
-
<groupId>org.atmosphere</groupId>
297
-
<artifactId>atmosphere-adk</artifactId>
298
-
<version>${atmosphere.version}</version>
299
-
</dependency>
300
-
```
301
-
302
260
### ADK-specific details
303
261
304
262
ADK requires tools to be registered at agent construction time. You cannot add tools dynamically per-request. Use `AdkAgentRuntime.configureWithTools()`:
@@ -352,21 +310,6 @@ The adapter handles three event types:
352
310
353
311
Embabel is a Kotlin-based agent framework with built-in planning, tool calling, and orchestration. The `atmosphere-embabel` adapter bridges Embabel's `OutputChannel` pattern to `StreamingSession`, streaming agent events (thinking, tool calls, results) to the browser.
0 commit comments