Sarvis Spring Boot Starter provides seamless integration with Sarvam AI in Spring Boot applications.
It automatically configures a ready-to-use SarvisClient bean, allowing developers to interact with Sarvam AI Chat Completions API with zero boilerplate configuration.
Sarvis acts as an abstraction layer over Sarvam AI, making integration clean, scalable, and production-ready.
- Auto-configured
SarvisClientbean - Zero boilerplate integration
- Spring Boot 3+ compatible
- Externalized configuration support
- Lightweight and production-ready
- Automatic RestTemplate configuration
- Clean and extensible architecture
- Maven Central distribution
Add dependency:
<dependency>
<groupId>io.github.akashkobal</groupId>
<artifactId>sarvis-spring-boot-starter</artifactId>
<version>0.0.1</version>
</dependency>No additional repository configuration required.
application.yml
sarvis:
api-key: YOUR_SARVAM_API_KEY
model: sarvam-mapplication.properties
sarvis.api-key=YOUR_SARVAM_API_KEY
sarvis.model=sarvam-m
Inject and use SarvisClient:
import io.github.akashkobal.client.SarvisClient;
import org.springframework.web.bind.annotation.*;
@RestController
public class ChatController {
private final SarvisClient sarvisClient;
public ChatController(SarvisClient sarvisClient) {
this.sarvisClient = sarvisClient;
}
@GetMapping("/chat")
public String chat(@RequestParam String message) {
return sarvisClient.chat(message);
}
}GET http://localhost:8080/chat?message=Hello
Example Response:
Hello! How can I help you today?
Sarvis Spring Boot Starter automatically configures:
- SarvisClient
- SarvisProperties
- RestTemplate
- Spring Boot AutoConfiguration
No manual bean configuration required.
sarvis-spring-boot-starter
│
├── client/
│ └── SarvisClient.java
│
├── config/
│ └── SarvisAutoConfiguration.java
│
├── properties/
│ └── SarvisProperties.java
│
├── dto/
│ ├── ChatRequest.java
│ └── ChatResponse.java
│
└── META-INF/spring/
└── org.springframework.boot.autoconfigure.AutoConfiguration.imports
- Java 17+
- Spring Boot 3+
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}Artifact:
https://central.sonatype.com/artifact/io.github.akashkobal/sarvis-spring-boot-starter
Contributions are welcome.
Please read:
- CONTRIBUTING.md
- CODE_OF_CONDUCT.md
Repository:
https://github.com/AkashKobal/sarvis-spring-boot-starter
Do not commit API keys.
Report vulnerabilities via:
https://github.com/AkashKobal/sarvis-spring-boot-starter/security
MIT License
See LICENSE file.
Akash Kobal
https://github.com/AkashKobal
Current version:
0.0.1
Planned features:
- Streaming support
- Async support
- Retry support
- Timeout configuration
- WebClient support
- Observability support
Report issues:
https://github.com/AkashKobal/sarvis-spring-boot-starter/issues