mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-06-02 03:01:14 +02:00
Add proper default temperature + overrides (#2059)
* add proper default temperature + overrides * remove unclear commment * ammend defaults + include internet serach
This commit is contained in:
parent
3bc2cf9946
commit
6350219143
@ -111,10 +111,8 @@ export function ChatPage({
|
|||||||
const selectedChatSession = chatSessions.find(
|
const selectedChatSession = chatSessions.find(
|
||||||
(chatSession) => chatSession.id === existingChatSessionId
|
(chatSession) => chatSession.id === existingChatSessionId
|
||||||
);
|
);
|
||||||
const chatSessionIdRef = useRef<number | null>(existingChatSessionId);
|
|
||||||
|
|
||||||
// LLM
|
const chatSessionIdRef = useRef<number | null>(existingChatSessionId);
|
||||||
const llmOverrideManager = useLlmOverride(selectedChatSession);
|
|
||||||
|
|
||||||
// Assistants
|
// Assistants
|
||||||
const filteredAssistants = orderAssistantsForUser(availableAssistants, user);
|
const filteredAssistants = orderAssistantsForUser(availableAssistants, user);
|
||||||
@ -136,6 +134,25 @@ export function ChatPage({
|
|||||||
)
|
)
|
||||||
: undefined
|
: undefined
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Gather default temperature settings
|
||||||
|
const search_param_temperature = searchParams.get(
|
||||||
|
SEARCH_PARAM_NAMES.TEMPERATURE
|
||||||
|
);
|
||||||
|
const defaultTemperature = search_param_temperature
|
||||||
|
? parseFloat(search_param_temperature)
|
||||||
|
: selectedAssistant?.tools.some(
|
||||||
|
(tool) =>
|
||||||
|
tool.in_code_tool_id === "SearchTool" ||
|
||||||
|
tool.in_code_tool_id === "InternetSearchTool"
|
||||||
|
)
|
||||||
|
? 0
|
||||||
|
: 0.7;
|
||||||
|
const llmOverrideManager = useLlmOverride(
|
||||||
|
selectedChatSession,
|
||||||
|
defaultTemperature
|
||||||
|
);
|
||||||
|
|
||||||
const setSelectedAssistantFromId = (assistantId: number) => {
|
const setSelectedAssistantFromId = (assistantId: number) => {
|
||||||
// NOTE: also intentionally look through available assistants here, so that
|
// NOTE: also intentionally look through available assistants here, so that
|
||||||
// even if the user has hidden an assistant they can still go back to it
|
// even if the user has hidden an assistant they can still go back to it
|
||||||
@ -764,10 +781,7 @@ export function ChatPage({
|
|||||||
llmOverrideManager.llmOverride.modelName ||
|
llmOverrideManager.llmOverride.modelName ||
|
||||||
searchParams.get(SEARCH_PARAM_NAMES.MODEL_VERSION) ||
|
searchParams.get(SEARCH_PARAM_NAMES.MODEL_VERSION) ||
|
||||||
undefined,
|
undefined,
|
||||||
temperature:
|
temperature: llmOverrideManager.temperature || undefined,
|
||||||
llmOverrideManager.temperature ||
|
|
||||||
parseFloat(searchParams.get(SEARCH_PARAM_NAMES.TEMPERATURE) || "") ||
|
|
||||||
undefined,
|
|
||||||
systemPromptOverride:
|
systemPromptOverride:
|
||||||
searchParams.get(SEARCH_PARAM_NAMES.SYSTEM_PROMPT) || undefined,
|
searchParams.get(SEARCH_PARAM_NAMES.SYSTEM_PROMPT) || undefined,
|
||||||
useExistingUserMessage: isSeededChat,
|
useExistingUserMessage: isSeededChat,
|
||||||
|
@ -6,7 +6,7 @@ import {
|
|||||||
} from "@/lib/types";
|
} from "@/lib/types";
|
||||||
import useSWR, { mutate, useSWRConfig } from "swr";
|
import useSWR, { mutate, useSWRConfig } from "swr";
|
||||||
import { errorHandlingFetcher } from "./fetcher";
|
import { errorHandlingFetcher } from "./fetcher";
|
||||||
import { useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { DateRangePickerValue } from "@tremor/react";
|
import { DateRangePickerValue } from "@tremor/react";
|
||||||
import { SourceMetadata } from "./search/interfaces";
|
import { SourceMetadata } from "./search/interfaces";
|
||||||
import { destructureValue } from "./llm/utils";
|
import { destructureValue } from "./llm/utils";
|
||||||
@ -143,7 +143,8 @@ export interface LlmOverrideManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function useLlmOverride(
|
export function useLlmOverride(
|
||||||
currentChatSession?: ChatSession
|
currentChatSession?: ChatSession,
|
||||||
|
defaultTemperature?: number
|
||||||
): LlmOverrideManager {
|
): LlmOverrideManager {
|
||||||
const [llmOverride, setLlmOverride] = useState<LlmOverride>(
|
const [llmOverride, setLlmOverride] = useState<LlmOverride>(
|
||||||
currentChatSession && currentChatSession.current_alternate_model
|
currentChatSession && currentChatSession.current_alternate_model
|
||||||
@ -167,7 +168,13 @@ export function useLlmOverride(
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const [temperature, setTemperature] = useState<number | null>(null);
|
const [temperature, setTemperature] = useState<number | null>(
|
||||||
|
defaultTemperature != undefined ? defaultTemperature : 0
|
||||||
|
);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setTemperature(defaultTemperature !== undefined ? defaultTemperature : 0);
|
||||||
|
}, [defaultTemperature]);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
updateModelOverrideForChatSession,
|
updateModelOverrideForChatSession,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user