Spring AI ChatClient– Response Types Explained
Spring AI ChatClient– Response Types Explained
Whenyou invoke .call() on a ChatClient, there are different ways to get the result, depending on what you want to do with it
Streaming Responses
• To stream reponses, we can use. stream() instead of. call()
• Good for real-time or chunked responses (like streaming output to UI.
Structured Output Converter in Spring AI
Why DoWe Need Structured Output?
LLMs typically return plain text responses. But in real-world apps, we often need structured data like,
• JSON
• XML
• JavaClasses (POJOs)
Structured data is easier to parse, use, and integrate in applications.
What is a Structured Output Converter ?
Before sending prompt to LLM:
➤Addsformatting instructions to guide the model.
➤Ensures it replies in a parseable format.
After getting response from LLM:
➤Converts raw text into a Java object, like Map, List, or custom class
Structured Output Converter in Spring AI
CountryCities countryCities = this.chatClient.prompt()
.user(question)
.call()
.entity(CountryCities.class);
List<CountryCities> countryCitiesList =
this.chatClient.prompt()
.user(question).call()
.entity(new ParameterizedTypeReference
<List<CountryCities>>() {});
- > because Java's type erasure
removes generic type information like List
Map<String, List<String>> countryMapList =
this.chatClient.prompt()
.user(question).call()
.entity(new ParameterizedTypeReference
<Map<String, List<String>>>() {});
Comments
Post a Comment