Merge pull request #15197 from ARajan1084/release-1-77-7-test-key-model-selection-fix

fix: Test key view: state on model info update
This commit is contained in:
Krish Dholakia
2025-10-04 14:08:42 -07:00
committed by GitHub
4 changed files with 42 additions and 36 deletions
@@ -7023,7 +7023,8 @@
"cache_read_input_token_cost": 2.16e-07,
"litellm_provider": "deepinfra",
"mode": "chat",
"supports_tool_choice": true
"supports_tool_choice": true,
"supports_reasoning": true
},
"deepinfra/deepseek-ai/DeepSeek-V3.1-Terminus": {
"max_tokens": 163840,
+2 -1
View File
@@ -7023,7 +7023,8 @@
"cache_read_input_token_cost": 2.16e-07,
"litellm_provider": "deepinfra",
"mode": "chat",
"supports_tool_choice": true
"supports_tool_choice": true,
"supports_reasoning": true
},
"deepinfra/deepseek-ai/DeepSeek-V3.1-Terminus": {
"max_tokens": 163840,
+1 -1
View File
@@ -22,7 +22,7 @@ import SpendLogsTable from "@/components/view_logs"
import ModelHubTable from "@/components/model_hub_table"
import NewUsagePage from "@/components/new_usage"
import APIRef from "@/components/api_ref"
import ChatUI from "@/components/chat_ui"
import ChatUI from "@/components/chat_ui/ChatUI"
import Sidebar from "@/components/leftnav"
import Usage from "@/components/usage"
import CacheDashboard from "@/components/cache_dashboard"
@@ -25,34 +25,34 @@ import {
import { v4 as uuidv4 } from 'uuid';
import { message, Select, Spin, Typography, Tooltip, Input, Upload, Modal, Button } from "antd";
import { makeOpenAIChatCompletionRequest } from "./chat_ui/llm_calls/chat_completion";
import { makeOpenAIImageGenerationRequest } from "./chat_ui/llm_calls/image_generation";
import { makeOpenAIImageEditsRequest } from "./chat_ui/llm_calls/image_edits";
import { makeOpenAIResponsesRequest } from "./chat_ui/llm_calls/responses_api";
import { makeAnthropicMessagesRequest } from "./chat_ui/llm_calls/anthropic_messages";
import { fetchAvailableModels, ModelGroup } from "./chat_ui/llm_calls/fetch_models";
import { fetchAvailableMCPTools } from "./chat_ui/llm_calls/fetch_mcp_tools";
import type { MCPTool } from "./chat_ui/llm_calls/fetch_mcp_tools";
import { litellmModeMapping, ModelMode, EndpointType, getEndpointType } from "./chat_ui/mode_endpoint_mapping";
import { makeOpenAIChatCompletionRequest } from "./llm_calls/chat_completion";
import { makeOpenAIImageGenerationRequest } from "./llm_calls/image_generation";
import { makeOpenAIImageEditsRequest } from "./llm_calls/image_edits";
import { makeOpenAIResponsesRequest } from "./llm_calls/responses_api";
import { makeAnthropicMessagesRequest } from "./llm_calls/anthropic_messages";
import { fetchAvailableModels, ModelGroup } from "./llm_calls/fetch_models";
import { fetchAvailableMCPTools } from "./llm_calls/fetch_mcp_tools";
import type { MCPTool } from "./llm_calls/fetch_mcp_tools";
import { litellmModeMapping, ModelMode, EndpointType, getEndpointType } from "./mode_endpoint_mapping";
import { Prism as SyntaxHighlighter } from "react-syntax-highlighter";
import { coy } from 'react-syntax-highlighter/dist/esm/styles/prism';
import EndpointSelector from "./chat_ui/EndpointSelector";
import TagSelector from "./tag_management/TagSelector";
import VectorStoreSelector from "./vector_store_management/VectorStoreSelector";
import GuardrailSelector from "./guardrails/GuardrailSelector";
import { determineEndpointType } from "./chat_ui/EndpointUtils";
import { generateCodeSnippet } from "./chat_ui/CodeSnippets";
import { MessageType } from "./chat_ui/types";
import ReasoningContent from "./chat_ui/ReasoningContent";
import ResponseMetrics, { TokenUsage } from "./chat_ui/ResponseMetrics";
import ResponsesImageUpload from "./chat_ui/ResponsesImageUpload";
import ResponsesImageRenderer from "./chat_ui/ResponsesImageRenderer";
import { convertImageToBase64, createMultimodalMessage, createDisplayMessage } from "./chat_ui/ResponsesImageUtils";
import ChatImageUpload from "./chat_ui/ChatImageUpload";
import ChatImageRenderer from "./chat_ui/ChatImageRenderer";
import { createChatMultimodalMessage, createChatDisplayMessage } from "./chat_ui/ChatImageUtils";
import SessionManagement from "./chat_ui/SessionManagement";
import MCPEventsDisplay, { MCPEvent } from "./chat_ui/MCPEventsDisplay";
import EndpointSelector from "./EndpointSelector";
import TagSelector from "../tag_management/TagSelector";
import VectorStoreSelector from "../vector_store_management/VectorStoreSelector";
import GuardrailSelector from "../guardrails/GuardrailSelector";
import { determineEndpointType } from "./EndpointUtils";
import { generateCodeSnippet } from "./CodeSnippets";
import { MessageType } from "./types";
import ReasoningContent from "./ReasoningContent";
import ResponseMetrics, { TokenUsage } from "./ResponseMetrics";
import ResponsesImageUpload from "./ResponsesImageUpload";
import ResponsesImageRenderer from "./ResponsesImageRenderer";
import { convertImageToBase64, createMultimodalMessage, createDisplayMessage } from "./ResponsesImageUtils";
import ChatImageUpload from "./ChatImageUpload";
import ChatImageRenderer from "./ChatImageRenderer";
import { createChatMultimodalMessage, createChatDisplayMessage } from "./ChatImageUtils";
import SessionManagement from "./SessionManagement";
import MCPEventsDisplay, { MCPEvent } from "./MCPEventsDisplay";
import {
SendOutlined,
ApiOutlined,
@@ -73,7 +73,7 @@ import {
FilePdfOutlined,
ArrowUpOutlined
} from "@ant-design/icons";
import NotificationsManager from "./molecules/notifications_manager";
import NotificationsManager from "../molecules/notifications_manager";
const { TextArea } = Input;
const { Dragger } = Upload;
@@ -282,13 +282,17 @@ const ChatUI: React.FC<ChatUIProps> = ({
);
console.log("Fetched models:", uniqueModels);
if (uniqueModels.length > 0) {
setModelInfo(uniqueModels);
if (!selectedModel) {
setSelectedModel(uniqueModels[0].model_group);
}
setModelInfo(uniqueModels);
// check for selection overlap or empty model list
const hasSelection = uniqueModels.some(m => m.model_group === selectedModel);
if (!uniqueModels.length) {
setSelectedModel(undefined);
} else if (!hasSelection) {
setSelectedModel(uniqueModels[0].model_group);
}
} catch (error) {
console.error("Error fetching model info:", error);
}