Bob’s building a customer support system that can:
- Summarize messages
- Auto-reply using a language model
- Classify sentiment
- Generate product descriptions
Instead of building models from scratch, Bob uses:
- OpenAI API for LLMs (GPT-like magic)
- TensorFlow Java for local ML inference
[Client]
⬇️
[Spring Boot API]
⬇️⬇️
[OpenAI API] ← LLM tasks (chat, summarization)
[TensorFlow] ← In-house models (sentiment, image tags)
Bob’s API acts as a smart gateway, combining cloud-based AI with local model inference.
@Configuration
public class OpenAIConfig {
@Bean
public WebClient openAIClient() {
return WebClient.builder()
.baseUrl("https://api.openai.com/v1")
.defaultHeader("Authorization", "Bearer " + System.getenv("OPENAI_API_KEY"))
.build();
}
}
@Service
public class GPTService {
@Autowired
private WebClient openAIClient;public Mono<String> getChatResponse(String prompt) {
return openAIClient.post()
.uri("/chat/completions")
.bodyValue(Map.of(
"model", "gpt-3.5-turbo",
"messages", List.of(Map.of("role", "user", "content", prompt))
))
.retrieve()
.bodyToMono(String.class);
}
}
Supports:
- Summarization
- Text generation
- Translation
- Code generation