Last week I published another video on my YouTube channel. The title is Spring & AI without Spring AI: Chat with GPT. It’s part of my series on integrating the OpenAI services into Java systems without using the experimental Spring AI framework. Nothing against that framework, of course — it’s just very early in the alpha phase for it, and there’s still plenty you can do without it.
For example, Spring 3+ added in the HTTP exchange interfaces. With those interfaces, you can add methods annotated with @GetExchange
, @PostExchange
, etc, to abstract methods, and Spring will implement them for you. All you need to do is provide a bean that configures a WebClient
and arranges for a proxy, and you’re good to go.
In this particular case, my interface looks like:
@HttpExchange("/v1") public interface OpenAIInterface { @PostExchange("/chat/completions") ChatResponse getChatResponse( @RequestBody ChatRequest chatRequest); }
The WebClient
bean is configured using an HttpServiceProxyFactory
, which is mostly boilerplate that is included my @Configuration
class called AppConfig
.
For the details, see this GitHub repository.
Here’s the actual video:
I hope you find it entertaining. I’m publishing this blog post about it partly to show the new video, and partly because I just enabled my blog to work with the Fediverse. That means if you’re on Mastodon, you can look up my blog’s account there, @kousenit, subscribe to it, and you’ll get every post.
Leave a Reply