feat(extensions): support chat completions API spring web starter#382
Conversation
|
ruigangliu.lrg seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
This PR adds support for a Chat Completions API Spring Web Starter to AgentScope-Java, implementing an OpenAI-compatible HTTP API for chat completions. The implementation includes both streaming (SSE) and non-streaming endpoints, session management, message conversion, and comprehensive test coverage.
Key Changes:
- New Spring Boot starter module exposing Chat Completions HTTP API endpoints
- Session-based agent management with in-memory implementation
- Support for both streaming and non-streaming chat responses
- Comprehensive unit tests for all components
Reviewed changes
Copilot reviewed 24 out of 24 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
agentscope-spring-boot-starters/pom.xml |
Adds new chat-completions-web-starter module to parent POM |
agentscope-chat-completions-web-starter/pom.xml |
Defines dependencies for the new starter module |
ChatCompletionsController.java |
REST controller implementing POST endpoints for chat completions |
ChatCompletionsStreamingService.java |
Service handling SSE streaming responses |
ChatMessageConverter.java |
Converts HTTP DTOs to framework message objects |
ChatCompletionsResponseBuilder.java |
Builds response payloads for API responses |
InMemorySessionManager.java |
In-memory session management implementation |
ChatCompletionsSessionManager.java |
Interface for session management |
ChatCompletionsWebAutoConfiguration.java |
Spring Boot auto-configuration for the starter |
ChatCompletionsProperties.java |
Configuration properties for the web starter |
API DTOs (ChatMessage.java, ChatCompletionsRequest.java, etc.) |
Request/response data transfer objects |
| Test files | Comprehensive unit tests for all components |
chat-completions-web example |
Example Spring Boot application demonstrating the starter usage |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...web-starter/src/main/java/io/agentscope/spring/boot/chat/session/InMemorySessionManager.java
Outdated
Show resolved
Hide resolved
...src/main/java/io/agentscope/spring/boot/chat/config/ChatCompletionsWebAutoConfiguration.java
Show resolved
Hide resolved
...src/main/java/io/agentscope/spring/boot/chat/config/ChatCompletionsWebAutoConfiguration.java
Outdated
Show resolved
Hide resolved
...web-starter/src/main/java/io/agentscope/spring/boot/chat/session/InMemorySessionManager.java
Outdated
Show resolved
Hide resolved
...-web-starter/src/main/java/io/agentscope/spring/boot/chat/web/ChatCompletionsController.java
Outdated
Show resolved
Hide resolved
...-web-starter/src/main/java/io/agentscope/spring/boot/chat/web/ChatCompletionsController.java
Outdated
Show resolved
Hide resolved
...n/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
Outdated
Show resolved
Hide resolved
...e-extensions/agentscope-spring-boot-starters/agentscope-chat-completions-web-starter/pom.xml
Outdated
Show resolved
Hide resolved
agentscope-examples/chat-completions-web/src/main/resources/application.yml
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 33 out of 33 changed files in this pull request and generated 15 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...-web-starter/src/main/java/io/agentscope/spring/boot/chat/web/ChatCompletionsController.java
Show resolved
Hide resolved
...src/main/java/io/agentscope/spring/boot/chat/config/ChatCompletionsWebAutoConfiguration.java
Show resolved
Hide resolved
.../src/main/java/io/agentscope/spring/boot/chat/streaming/ChatCompletionsStreamingService.java
Outdated
Show resolved
Hide resolved
...main/java/io/agentscope/core/chat/completions/streaming/ChatCompletionsStreamingAdapter.java
Outdated
Show resolved
Hide resolved
...rc/main/java/io/agentscope/core/chat/completions/builder/ChatCompletionsResponseBuilder.java
Show resolved
Hide resolved
...ns-web/src/main/java/io/agentscope/core/chat/completions/session/InMemorySessionManager.java
Outdated
Show resolved
Hide resolved
...ns-web/src/main/java/io/agentscope/core/chat/completions/converter/ChatMessageConverter.java
Show resolved
Hide resolved
...main/java/io/agentscope/core/chat/completions/streaming/ChatCompletionsStreamingAdapter.java
Show resolved
Hide resolved
...er/src/main/java/io/agentscope/spring/boot/chat/service/ChatCompletionsStreamingService.java
Show resolved
Hide resolved
...rter/src/main/java/io/agentscope/spring/boot/chat/session/ChatCompletionsSessionManager.java
Outdated
Show resolved
Hide resolved
81d6ec1 to
a8ff98c
Compare
agentscope-extensions/agentscope-extensions-chat-completions-web/pom.xml
Outdated
Show resolved
Hide resolved
...src/main/java/io/agentscope/spring/boot/chat/config/ChatCompletionsWebAutoConfiguration.java
Outdated
Show resolved
Hide resolved
...e-extensions/agentscope-spring-boot-starters/agentscope-chat-completions-web-starter/pom.xml
Show resolved
Hide resolved
...main/java/io/agentscope/core/chat/completions/streaming/ChatCompletionsStreamingAdapter.java
Outdated
Show resolved
Hide resolved
…entscope-ai#382) ## AgentScope-Java Version [The version of AgentScope-Java i'm working on: 1.0.7-SNAPSHOT] ## Description [Please describe the background, purpose, changes made, and how to test this PR] add support for [Feature]: Chat Completions API Spring Web Starter [agentscope-ai#219](agentscope-ai#219) ## Checklist Please check the following items before code is ready to be reviewed. - [ ] Code has been formatted with `mvn spotless:apply` - [ ] All tests are passing (`mvn test`) - [ ] Javadoc comments are complete and follow project conventions - [ ] Related documentation has been updated (e.g. links, examples, etc.) - [ ] Code is ready for review --------- Co-authored-by: ruigangliu.lrg <ruigangliu.lrg@alibaba-inc.com>
AgentScope-Java Version
[The version of AgentScope-Java i'm working on: 1.0.7-SNAPSHOT]
Description
[Please describe the background, purpose, changes made, and how to test this PR]
add support for [Feature]: Chat Completions API Spring Web Starter
#219
Checklist
Please check the following items before code is ready to be reviewed.
mvn spotless:applymvn test)