How albertowang/spring-ai-alibaba-noob works
This repository is a Spring AI agent and graph-workflow demo. Its main user path accepts an HTTP message, runs a streaming ReAct weather agent, and returns generated content; the tool can supply city weather data. Separate examples demonstrate intent-routed arithmetic and chat memory backed by files or Redis. Monitoring is also implemented, though the sampled code does not establish its wiring. The README is empty, so capability coverage is based on the source tree and sampled files.
Main entry points: GraphChatClient.java Chat graph · MyWorkflowGraph.java Workflow runner · ReactAgentStreamController.java Stream controller · GraphChatClientRedisWriteMemory.java Redis write example
Components 19
Streaming agent
- Stream controller
src/main/java/alberto/ai/controller/ReactAgentStreamController.java - ReAct agent
src/main/java/alberto/ai/controller/ReactAgentStreamController.java - Weather tool
src/main/java/alberto/ai/tools/WeatherTool.java - Weather schema
src/main/java/alberto/ai/tools/WeatherSchema.java
Graph workflow
- Workflow runner
src/main/java/alberto/ai/graph/MyWorkflowGraph.java - Intent classifier
src/main/java/alberto/ai/graph/IntentClassifierNode.java - Add/subtract nodes
src/main/java/alberto/ai/graph/MyWorkflowGraph.java - Print result
src/main/java/alberto/ai/graph/MyWorkflowGraph.java
Chat memory
- Chat graph
src/main/java/alberto/ai/memory/GraphChatClient.java - Chat model
src/main/java/alberto/ai/memory/GraphChatClient.java - File checkpoint
src/main/java/alberto/ai/memory/GraphChatClient.java - Redis checkpoint
src/main/java/alberto/ai/memory/GraphChatClient.java - File memory example
src/main/java/alberto/ai/memory/GraphChatClientFileSystemMemory.java - Redis write example
src/main/java/alberto/ai/memory/redis/GraphChatClientRedisWriteMemory.java - Redis read example
src/main/java/alberto/ai/memory/redis/GraphChatClientRedisReadMemory.java
Monitoring
- AI monitor
src/main/java/alberto/ai/hook/AiMonitor.java
Other components
- HTTP user
- DashScope model
- Redis
Connections 16
- HTTP user → Stream controller: sends message
- Stream controller → ReAct agent: streams request
- ReAct agent → DashScope model: calls model
- ReAct agent → Weather tool: dispatches tool
- Stream controller → HTTP user: streams content
- Workflow runner → Intent classifier: runs classifier
- Workflow runner → Add/subtract nodes: routes intent
- Workflow runner → Print result: runs output
- File memory example → Chat graph: invokes graph
- Redis write example → Chat graph: invokes graph
- Redis read example → Chat graph: reads graph state
- Chat graph → Chat model: calls model
- Chat graph → File checkpoint: checkpoints
- Chat graph → Redis checkpoint: checkpoints
- Redis write example → Redis: connects to
- Redis read example → Redis: connects to