Skip to content

Commit f46dbed

Browse files
apappascsTheovanKraay
authored andcommitted
fix: remove default temperature on all QueryTransformer implementations
Signed-off-by: Alexandros Pappas <apappascs@gmail.com> update documentation Signed-off-by: Alexandros Pappas <apappascs@gmail.com> Signed-off-by: Theo van Kraay <theo.van@microsoft.com>
1 parent b6c3baa commit f46dbed

File tree

4 files changed

+5
-3
lines changed

4 files changed

+5
-3
lines changed

spring-ai-docs/src/main/antora/modules/ROOT/pages/api/retrieval-augmented-generation.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,8 @@ Pre-Retrieval modules are responsible for processing the user query to achieve t
172172
A component for transforming the input query to make it more effective for retrieval tasks, addressing challenges
173173
such as poorly formed queries, ambiguous terms, complex vocabulary, or unsupported languages.
174174

175+
IMPORTANT: When using a `QueryTransformer`, it's recommended to configure the `ChatClient.Builder` with a low temperature (e.g., 0.0) to ensure more deterministic and accurate results, improving retrieval quality. The default temperature for most chat models is typically too high for optimal query transformation, leading to reduced retrieval effectiveness.
176+
175177
===== CompressionQueryTransformer
176178

177179
A `CompressionQueryTransformer` uses a large language model to compress a conversation history and a follow-up query

spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/CompressionQueryTransformer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public Query transform(Query query) {
8484
.user(user -> user.text(this.promptTemplate.getTemplate())
8585
.param("history", formatConversationHistory(query.history()))
8686
.param("query", query.text()))
87-
.options(ChatOptions.builder().temperature(0.0).build())
87+
.options(ChatOptions.builder().build())
8888
.call()
8989
.content();
9090

spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/RewriteQueryTransformer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public Query transform(Query query) {
8282
.user(user -> user.text(this.promptTemplate.getTemplate())
8383
.param("target", this.targetSearchSystem)
8484
.param("query", query.text()))
85-
.options(ChatOptions.builder().temperature(0.0).build())
85+
.options(ChatOptions.builder().build())
8686
.call()
8787
.content();
8888

spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/TranslationQueryTransformer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public Query transform(Query query) {
9191
.user(user -> user.text(this.promptTemplate.getTemplate())
9292
.param("targetLanguage", this.targetLanguage)
9393
.param("query", query.text()))
94-
.options(ChatOptions.builder().temperature(0.0).build())
94+
.options(ChatOptions.builder().build())
9595
.call()
9696
.content();
9797

0 commit comments

Comments
 (0)