Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: remove default temperature on all QueryTransformer implementations #2258

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

apappascs
Copy link
Contributor

resolving #2243

@ilayaperumalg
Copy link
Member

@apappascs Thanks for the PR!

@ilayaperumalg ilayaperumalg self-assigned this Feb 27, 2025
@ilayaperumalg ilayaperumalg added this to the 1.0.0-M7 milestone Feb 27, 2025
@ilayaperumalg ilayaperumalg added the RAG Issues related to Retrieval Augmented Generation label Feb 27, 2025
@@ -84,7 +84,7 @@ public Query transform(Query query) {
.user(user -> user.text(this.promptTemplate.getTemplate())
.param("history", formatConversationHistory(query.history()))
.param("query", query.text()))
.options(ChatOptions.builder().temperature(0.0).build())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ThomasVitale Is there any specific reason why we had the temperature set here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's recommended to set the temperature to a low value when performing query transformations to ensure more accurate results that will improve the retrieval quality. After removing this, it will be up to the developer to set the temperature on the ChatClient.Builder when instantiating a QueryTransformer. We need to specify that in the documentation as a pre-requisite to use a query transformer, because the typical default temperature is too high and will affect the retrieval quality.

All these modular RAG APIs and implementations are still in an experimental state. This is good input to perhaps review some design choices and improve the APIs, ensuring both good out-of-the-box experience, but also flexibility.

Side note:
This is not the first place where we see problems with the OpenAI reasoning models behaving differently. It feels like something that should be handled at the ChatModel API level so to have a general handling of those differences in one place, rather than addressing incompatibilities wherever they occur.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the feedback, @ThomasVitale. I have updated the documentation based on your comment.

@apappascs apappascs force-pushed the fix/remove-default-temperature-querytransformer branch from 1ca2107 to 282d7cb Compare February 27, 2025 21:50
Signed-off-by: Alexandros Pappas <[email protected]>
@apappascs apappascs force-pushed the fix/remove-default-temperature-querytransformer branch from 282d7cb to dd40808 Compare February 27, 2025 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RAG Issues related to Retrieval Augmented Generation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants