I’m currently working on activating conversation features in my Spring AI application but encountered a significant error. When I attempt to enable conversation functionality using ChatMemory, I receive the following error:
"*2024-11-05T10:57:17.441+01:00 ERROR 44072 --- [Bip.it] [oundedElastic-4] o.s.ai.chat.model.MessageAggregator : Aggregation Error
org.springframework.web.reactive.function.client.WebClientResponseException: 413 Payload Too Large from POST https://api.groq.com/openai/v1/chat/completions*"
This issue arises when I include the following code in RagService:
public RagService(ChatClient.Builder chatBuilder, VectorStore vectorStore) {
ChatMemory chatMemory = new InMemoryChatMemory();
this.chatClient = chatBuilder
.defaultAdvisors(
new MessageChatMemoryAdvisor(chatMemory),
new QuestionAnswerAdvisor(vectorStore),
new SimpleLoggerAdvisor())
.build();
}
Comment From: asaikali
How many messages are in the history before are getting this error message. I have created issue #1704 as a generalized version of what you are asking for.
@aniwange33 can you please us know if you got around your issues by reducing the amount of message in the chat memory, can you provide a sample reproducer of the issue.
Comment From: aniwange33
How many messages are in the history before are getting this error message. I have created issue #1704 as a generalized version of what you are asking for.
@aniwange33 can you please us know if you got around your issues by reducing the amount of message in the chat memory, can you provide a sample reproducer of the issue.
I couldn’t log the number of messages in the history without getting an error. However, when I used Filter.Expression, the error didn’t occur. Despite this, the conversation activation hasn’t been working smoothly, and sometimes the responses are inaccurate.
public RagService(ChatClient.Builder chatBuilder, VectorStore vectorStore, @Value("classpath:/system.md") Resource systemPrompt) {
ChatMemory chatMemory = new InMemoryChatMemory();
var fb = new FilterExpressionBuilder();
Filter.Expression source = fb.eq("source", "FY25-MER-2.8-Indicator-Reference-Guide.pdf").build();
SearchRequest searchRequest = SearchRequest.defaults().withTopK(2).withFilterExpression(source);
List
public Flux