Skip to content

Commit d1df958

Browse files
committed
Standardize AI model response temperature across provider specific ranges
- Anthropic expects a 0-1 range. Gemini & OpenAI expect a 0-2 range - Anneal temperature to explore reasoning trajectories but respond factually - Default send_message_to_model and extract_question temps to the same
1 parent 55ae0ed commit d1df958

File tree

6 files changed

+6
-16
lines changed

6 files changed

+6
-16
lines changed

src/khoj/processor/conversation/anthropic/anthropic_chat.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ def extract_questions_anthropic(
3535
conversation_log={},
3636
api_key=None,
3737
api_base_url=None,
38-
temperature=0.7,
3938
location_data: LocationData = None,
4039
user: KhojUser = None,
4140
query_images: Optional[list[str]] = None,
@@ -101,7 +100,6 @@ def extract_questions_anthropic(
101100
messages=messages,
102101
system_prompt=system_prompt,
103102
model_name=model,
104-
temperature=temperature,
105103
api_key=api_key,
106104
api_base_url=api_base_url,
107105
response_type="json_object",
@@ -242,7 +240,7 @@ def converse_anthropic(
242240
compiled_references=references,
243241
online_results=online_results,
244242
model_name=model,
245-
temperature=0,
243+
temperature=0.2,
246244
api_key=api_key,
247245
api_base_url=api_base_url,
248246
system_prompt=system_prompt,

src/khoj/processor/conversation/anthropic/utils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def anthropic_completion_with_backoff(
5656
messages,
5757
system_prompt,
5858
model_name: str,
59-
temperature=0,
59+
temperature=0.4,
6060
api_key=None,
6161
api_base_url: str = None,
6262
model_kwargs=None,

src/khoj/processor/conversation/google/gemini_chat.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ def extract_questions_gemini(
3535
conversation_log={},
3636
api_key=None,
3737
api_base_url=None,
38-
temperature=0.6,
3938
max_tokens=None,
4039
location_data: LocationData = None,
4140
user: KhojUser = None,
@@ -103,7 +102,6 @@ def extract_questions_gemini(
103102
model,
104103
api_base_url=api_base_url,
105104
response_type="json_object",
106-
temperature=temperature,
107105
tracer=tracer,
108106
)
109107

@@ -130,7 +128,6 @@ def gemini_send_message_to_model(
130128
api_base_url=None,
131129
response_type="text",
132130
response_schema=None,
133-
temperature=0.6,
134131
model_kwargs=None,
135132
tracer={},
136133
):
@@ -153,7 +150,6 @@ def gemini_send_message_to_model(
153150
model_name=model,
154151
api_key=api_key,
155152
api_base_url=api_base_url,
156-
temperature=temperature,
157153
model_kwargs=model_kwargs,
158154
tracer=tracer,
159155
)
@@ -168,7 +164,7 @@ def converse_gemini(
168164
model: Optional[str] = "gemini-2.0-flash",
169165
api_key: Optional[str] = None,
170166
api_base_url: Optional[str] = None,
171-
temperature: float = 0.6,
167+
temperature: float = 0.4,
172168
completion_func=None,
173169
conversation_commands=[ConversationCommand.Default],
174170
max_prompt_size=None,

src/khoj/processor/conversation/google/utils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def get_gemini_client(api_key, api_base_url=None) -> genai.Client:
7373
reraise=True,
7474
)
7575
def gemini_completion_with_backoff(
76-
messages, system_prompt, model_name, temperature=0, api_key=None, api_base_url=None, model_kwargs=None, tracer={}
76+
messages, system_prompt, model_name, temperature=0.8, api_key=None, api_base_url=None, model_kwargs=None, tracer={}
7777
) -> str:
7878
client = gemini_clients.get(api_key)
7979
if not client:

src/khoj/processor/conversation/openai/gpt.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ def extract_questions(
6363
today = datetime.today()
6464
current_new_year = today.replace(month=1, day=1)
6565
last_new_year = current_new_year.replace(year=today.year - 1)
66-
temperature = 0.7
6766

6867
prompt = prompts.extract_questions.format(
6968
current_date=today.strftime("%Y-%m-%d"),
@@ -99,7 +98,6 @@ def extract_questions(
9998
model,
10099
response_type="json_object",
101100
api_base_url=api_base_url,
102-
temperature=temperature,
103101
tracer=tracer,
104102
)
105103

@@ -127,7 +125,6 @@ def send_message_to_model(
127125
response_type="text",
128126
response_schema=None,
129127
api_base_url=None,
130-
temperature=0,
131128
tracer: dict = {},
132129
):
133130
"""
@@ -146,7 +143,6 @@ def send_message_to_model(
146143
messages=messages,
147144
model_name=model,
148145
openai_api_key=api_key,
149-
temperature=temperature,
150146
api_base_url=api_base_url,
151147
model_kwargs=model_kwargs,
152148
tracer=tracer,
@@ -162,7 +158,7 @@ def converse_openai(
162158
model: str = "gpt-4o-mini",
163159
api_key: Optional[str] = None,
164160
api_base_url: Optional[str] = None,
165-
temperature: float = 0.2,
161+
temperature: float = 0.4,
166162
completion_func=None,
167163
conversation_commands=[ConversationCommand.Default],
168164
max_prompt_size=None,

src/khoj/processor/conversation/openai/utils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
def completion_with_backoff(
4949
messages,
5050
model_name: str,
51-
temperature=0,
51+
temperature=0.8,
5252
openai_api_key=None,
5353
api_base_url=None,
5454
model_kwargs: dict = {},

0 commit comments

Comments
 (0)