From b721fd83af5931adeb0a74aaedd105374b9450f7 Mon Sep 17 00:00:00 2001 From: Anant Bhargava Date: Thu, 10 Sep 2026 18:42:13 +0000 Subject: [PATCH 1/5] Fix frontend projectId resolution and route fallback in Playground components - Added getProjectByIdQuery to fetch individual project details. - Added explicit runtime assertions in inference queries to guard against missing project IDs. - Added projectId to ProjectState and fallback lookup in useProjectContext if the project is not in allProjects. - Resolved activeProjectId fallback using route params in InputCardActionsRow, OutputCardEvaluator, PromptCleaningModal, and playground page. - Disabled generate output button with tooltip if activeProjectId is absent. CONV=a51d4f04-81c0-4eda-a17e-54cf6eba6035 TAG=agy --- .../components/Input/InputCardActionsRow.tsx | 30 ++++++++++++--- .../components/Output/OutputCardEvaluator.tsx | 9 ++++- .../components/PromptCleaningModal.tsx | 12 ++++-- .../projects/[id]/playground/page.tsx | 14 +++++-- .../projects/hooks/useProjectContext.tsx | 22 ++++++++++- frontend/queries/clientQueries.ts | 38 +++++++++++++++---- 6 files changed, 101 insertions(+), 24 deletions(-) diff --git a/frontend/app/(authRoutes)/projects/[id]/playground/components/Input/InputCardActionsRow.tsx b/frontend/app/(authRoutes)/projects/[id]/playground/components/Input/InputCardActionsRow.tsx index f2a6cc7..870e587 100644 --- a/frontend/app/(authRoutes)/projects/[id]/playground/components/Input/InputCardActionsRow.tsx +++ b/frontend/app/(authRoutes)/projects/[id]/playground/components/Input/InputCardActionsRow.tsx @@ -19,6 +19,7 @@ import MaterialIcon from "@/components/MaterialIcon"; import { MainConfig } from "@/config/config"; import { PLAYGROUND_CUSTOM_INPUT_NAME } from "@/config/constants"; import { usePlaygroundContext } from "@/hooks/usePlaygroundContext"; +import { useParams } from "next/navigation"; import { continueChatBSxSQuery, inferenceChatCompletionQuery, @@ -92,6 +93,12 @@ export default function InputCardActionsRow() { setIsNewChat, } = usePlaygroundContext(); const { projectState, isSideBySide } = useProjectContext(); + const params = useParams<{ id: string }>(); + const activeProjectId = + projectState?.projectId || + projectState?.project?.project_id || + (params?.id as string) || + ""; const allCustomInputs = useMemo(() => { return inputs @@ -145,7 +152,7 @@ export default function InputCardActionsRow() { return inferenceChatCompletionQuery( payload, - projectState?.project?.project_id || "", + activeProjectId, ); }, onSuccess: (response: ChatCompletionResponse) => { @@ -208,7 +215,7 @@ export default function InputCardActionsRow() { } await inferenceChatCompletionStreamingConnection( - projectState?.project?.project_id || "", + activeProjectId, { payload, onStart: () => { @@ -326,7 +333,7 @@ export default function InputCardActionsRow() { model_id_b: models?.[1]?.id || null, prompts: [...allCustomInputs], }, - projectState?.project?.project_id || "", + activeProjectId, pairId || "", ), onSuccess: (response) => { @@ -359,7 +366,7 @@ export default function InputCardActionsRow() { })), variables: variables || {}, }, - projectState?.project?.project_id || "", + activeProjectId, ), onSuccess: (response) => { onSxSQuerySuccess(response); @@ -427,6 +434,7 @@ export default function InputCardActionsRow() { !firstItem.hidden; return ( + !activeProjectId || // Disable generate output when project is not resolved generateOutputNoInputsPresent || // Disable generate output when there are no inputs generateOutputNoModelsPresent || // Disable generate output when there are missing models isChatStartingWithAssistant || // Disable generate output when the chat is starting with an assistant @@ -434,11 +442,20 @@ export default function InputCardActionsRow() { generateOutputEmptyUserInputs || // Disable generate output when there are empty user inputs !isPlaygroundModified ); - }, [isSideBySide, models, inputs]); + }, [ + activeProjectId, + generateOutputNoInputsPresent, + generateOutputNoModelsPresent, + generateOutputEmptyUserInputs, + isPlaygroundModified, + inputs, + ]); const generateOutputTooltip = useMemo(() => { let tooltip = ""; - if (generateOutputNoInputsPresent) { + if (!activeProjectId) { + tooltip = "Project is still loading or invalid."; + } else if (generateOutputNoInputsPresent) { tooltip = "There are no inputs to generate an output."; } else if (generateOutputNoModelsPresent) { tooltip = "There are no selected models to generate an output."; @@ -450,6 +467,7 @@ export default function InputCardActionsRow() { return tooltip; }, [ + activeProjectId, generateOutputNoInputsPresent, generateOutputNoModelsPresent, generateOutputEmptyUserInputs, diff --git a/frontend/app/(authRoutes)/projects/[id]/playground/components/Output/OutputCardEvaluator.tsx b/frontend/app/(authRoutes)/projects/[id]/playground/components/Output/OutputCardEvaluator.tsx index 34faa6b..59dedb2 100644 --- a/frontend/app/(authRoutes)/projects/[id]/playground/components/Output/OutputCardEvaluator.tsx +++ b/frontend/app/(authRoutes)/projects/[id]/playground/components/Output/OutputCardEvaluator.tsx @@ -27,12 +27,19 @@ import { GAevents } from "@/types"; import logGAevent from "@/utils/logGAevent"; import { Text, UnstyledButton } from "@mantine/core"; import { useMutation } from "@tanstack/react-query"; +import { useParams } from "next/navigation"; import { useMemo } from "react"; import { CHAT_THUMBS, SIDE_BY_SIDE_EVAL_OPTIONS } from "../../consts"; export default function OutputCardEvaluator() { const { projectState, isSideBySide } = useProjectContext(); + const params = useParams<{ id: string }>(); + const activeProjectId = + projectState?.projectId || + projectState?.project?.project_id || + (params?.id as string) || + ""; const { feedbackEvalId } = useHumanEvalsContext(); const { outputs, @@ -107,7 +114,7 @@ export default function OutputCardEvaluator() { if (isSideBySide) { const rating = thumb.value as HUMAN_SXS_RATING; humanEvalSxSMutation.mutate({ - projectId: projectState?.project?.project_id || "", + projectId: activeProjectId, pairId, rating: rating && rating === humanEvaluator?.value diff --git a/frontend/app/(authRoutes)/projects/[id]/playground/components/PromptCleaningModal.tsx b/frontend/app/(authRoutes)/projects/[id]/playground/components/PromptCleaningModal.tsx index dee877c..abc2690 100644 --- a/frontend/app/(authRoutes)/projects/[id]/playground/components/PromptCleaningModal.tsx +++ b/frontend/app/(authRoutes)/projects/[id]/playground/components/PromptCleaningModal.tsx @@ -23,7 +23,7 @@ import { usePlaygroundContext } from "@/hooks/usePlaygroundContext"; import LocalStorage from "@/utils/LocalStorage"; import { Button, Group, Modal, Text } from "@mantine/core"; import Image from "next/image"; -import { useRouter } from "next/navigation"; +import { useParams, useRouter } from "next/navigation"; import { useCallback } from "react"; import { useProjectContext } from "../../../hooks/useProjectContext"; @@ -36,11 +36,17 @@ export default function PromptCleaningModal({ }: PromptCleaningModalProps) { const hasSeen = LocalStorage.get(SHOW_PLAYGROUND_INFO_BAR); const { projectState } = useProjectContext(); + const params = useParams<{ id: string }>(); + const activeProjectId = + projectState?.projectId || + projectState?.project?.project_id || + (params?.id as string) || + ""; const { resetPlayground } = usePlaygroundContext(); const router = useRouter(); const onNavigateToProject = useCallback(() => { - router.push(`${routes.projects}/${projectState?.project?.project_id}`); - }, [router, projectState?.project?.project_id]); + router.push(`${routes.projects}/${activeProjectId}`); + }, [router, activeProjectId]); const handleClose = useCallback(() => { onClose(); diff --git a/frontend/app/(authRoutes)/projects/[id]/playground/page.tsx b/frontend/app/(authRoutes)/projects/[id]/playground/page.tsx index 6db51c9..7805661 100644 --- a/frontend/app/(authRoutes)/projects/[id]/playground/page.tsx +++ b/frontend/app/(authRoutes)/projects/[id]/playground/page.tsx @@ -26,7 +26,7 @@ import { usePlaygroundContext } from "@/hooks/usePlaygroundContext"; import { Model } from "@/queries/types"; import { InferenceChatCompletionPromptRole } from "@/types"; import { Group, ScrollArea, Text } from "@mantine/core"; -import { useRouter } from "next/navigation"; +import { useParams, useRouter } from "next/navigation"; import { useCallback, useEffect, useMemo, useState } from "react"; import { useProjectContext } from "../../hooks/useProjectContext"; @@ -43,6 +43,12 @@ import { InputCardItemProps, PROMPTS } from "./types"; export default function ProjectPlayground() { const { projectState, isSideBySide } = useProjectContext(); + const params = useParams<{ id: string }>(); + const activeProjectId = + projectState?.projectId || + projectState?.project?.project_id || + (params?.id as string) || + ""; const { isPromptCleaningModalOpen, closePromptCleaningModalOpen, @@ -96,8 +102,8 @@ export default function ProjectPlayground() { const router = useRouter(); const onNavigateTo = useCallback(() => { - router.push(`${routes.projects}/${projectState?.project?.project_id}`); - }, [router, projectState?.project?.project_id]); + router.push(`${routes.projects}/${activeProjectId}`); + }, [router, activeProjectId]); const onDeleteInput = (id: string) => { const customInputs = inputs.filter((input) => @@ -180,7 +186,7 @@ export default function ProjectPlayground() { /> diff --git a/frontend/app/(authRoutes)/projects/hooks/useProjectContext.tsx b/frontend/app/(authRoutes)/projects/hooks/useProjectContext.tsx index 19e4cac..bffd8d0 100644 --- a/frontend/app/(authRoutes)/projects/hooks/useProjectContext.tsx +++ b/frontend/app/(authRoutes)/projects/hooks/useProjectContext.tsx @@ -27,6 +27,7 @@ import { useProjectsContext } from "@/hooks/useProjectsContext"; import { SxsHumanEvalPassRateQuery, getPointwiseEvalAnalyticsQuery, + getProjectByIdQuery, getProjectQuery, getProjectSxSQuery, getSxSEvalAnalyticsQuery, @@ -70,6 +71,7 @@ import { getProjectModals } from "../[id]/utils/projectModals"; type ProjectMetricsData = MetricsSummaryResponse | SxsInferenceMetricsResponse; interface ProjectState { + projectId: string; project: Project | null; activeStep: number; metricsData: ProjectMetricsData | undefined; @@ -293,12 +295,27 @@ export const ProjectProvider = (props: PropsWithChildren) => { }, [projectData?.total_size, totalSize]); useEffect(() => { - if (projectId && allProjects && allProjects.length > 0) { + if (!projectId) return; + + if (allProjects && allProjects.length > 0) { const foundProject = allProjects.find( (proj) => proj.project_id === projectId, ); - setProject(foundProject || null); + if (foundProject) { + setProject(foundProject); + return; + } } + + getProjectByIdQuery(projectId) + .then((proj) => { + if (proj) { + setProject(proj); + } + }) + .catch((err) => { + console.error("Failed to load project by ID", err); + }); }, [projectId, allProjects]); const resetMetrics = () => { @@ -494,6 +511,7 @@ export const ProjectProvider = (props: PropsWithChildren) => { const projectContext: ProjectContextType = { projectState: { + projectId: projectId || project?.project_id || "", project, activeStep, metricsData, diff --git a/frontend/queries/clientQueries.ts b/frontend/queries/clientQueries.ts index 3a38b47..f123910 100644 --- a/frontend/queries/clientQueries.ts +++ b/frontend/queries/clientQueries.ts @@ -118,6 +118,12 @@ export const getProjectsQuery = async (params: GetProjectsParams = {}) => { )) as ProjectsDto; }; +export const getProjectByIdQuery = async (projectId: string) => { + return (await getRequest( + `${backendEndpoints.PROJECTS.INDEX}/${projectId}`, + )) as Project; +}; + export const createProjectQuery = async (data: Project) => (await postRequest(backendEndpoints.PROJECTS.INDEX, data)) as Project; @@ -289,20 +295,28 @@ export const deleteModelQuery = async (id: string) => { export const inferenceChatCompletionQuery = async ( payload: InferenceChatCompletionPayload, projectId: string, -) => - (await postRequest( +) => { + if (!projectId) { + throw new Error("Cannot execute chat completion: Project ID is required."); + } + return (await postRequest( `inference/projects/${projectId}/${backendEndpoints.INFERENCE.QUICK_COMPARE_CHAT_COMPLETION}`, payload, )) as ChatCompletionResponse; +}; export const inferenceAllChatCompletionBulkQuery = async ( payload: any, projectId: string, -) => - (await postRequest( +) => { + if (!projectId) { + throw new Error("Cannot execute bulk inference: Project ID is required."); + } + return (await postRequest( `/inference/projects/${projectId}/bulk/all`, payload, )) as ChatCompletionResponse; +}; export const deleteUserDataQuery = () => deleteRequest(backendEndpoints.AUTH.DELETE_USER_DATA); @@ -656,21 +670,29 @@ export const getSxsProjectBulkExport = async ( export const inferenceChatCompletionSxSQuery = async ( payload: InferenceChatCompletionSxSPayload, projectId: string, -) => - (await postRequest( +) => { + if (!projectId) { + throw new Error("Cannot execute SxS inference: Project ID is required."); + } + return (await postRequest( `sxs/${backendEndpoints.CONTAINERS}/${projectId}/inference`, payload, )) as ChatCompletionSxSResponse; +}; export const continueChatBSxSQuery = async ( payload: ContinueChatBSxSQueryPayload, projectId: string, pairId: string, -) => - (await postRequest( +) => { + if (!projectId) { + throw new Error("Cannot continue SxS chat: Project ID is required."); + } + return (await postRequest( `sxs/${backendEndpoints.CONTAINERS}/${projectId}/${pairId}/continue`, payload, )) as ChatCompletionSxSResponse; +}; export const uploadDatasetFileQuery = async ( datasetId: string, From 32af5313ac0d180ad6401d6cf869c8b0178d66d8 Mon Sep 17 00:00:00 2001 From: Anant Bhargava Date: Thu, 10 Sep 2026 18:42:19 +0000 Subject: [PATCH 2/5] Preserve upstream HTTP status and error details in RetryUtils and InferenceServiceImpl - Replaced empty RuntimeException in RetryUtils with exception containing status code and response body to preserve upstream API error diagnostics. - Updated InferenceServiceImpl to log full exception stack traces instead of message-only logging. CONV=a51d4f04-81c0-4eda-a17e-54cf6eba6035 TAG=agy --- .../inference/service/InferenceServiceImpl.java | 4 ++-- .../java/com/planck/planck/util/RetryUtils.java | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/server/src/main/java/com/planck/planck/domain/inference/service/InferenceServiceImpl.java b/server/src/main/java/com/planck/planck/domain/inference/service/InferenceServiceImpl.java index 5a504d4..12ca5d9 100644 --- a/server/src/main/java/com/planck/planck/domain/inference/service/InferenceServiceImpl.java +++ b/server/src/main/java/com/planck/planck/domain/inference/service/InferenceServiceImpl.java @@ -332,7 +332,7 @@ public boolean reRunInferenceAndUpdateResponse(InferenceDTO dto) { user, chatResponse, model, project, previousMonitoring); successful = true; } catch (Exception e) { - log.error("Exception while communicating with LLM: {}", e); + log.error("Exception while communicating with LLM", e); dto.setReason(e.getMessage()); } @@ -528,7 +528,7 @@ private ChatResponseWithLatency executeInferenceWithModel( try { return providerStrategy.chat(chatPrompt); } catch (Exception e) { - log.error("Exception while communicating with LLM: {}", e); + log.error("Exception while communicating with LLM", e); dto.setReason(e.getMessage()); InferenceStatus inferenceStatus = inferenceStatusService.createOrUpdateInferenceStatus(dto, InferenceStatusEnum.FAILED); diff --git a/server/src/main/java/com/planck/planck/util/RetryUtils.java b/server/src/main/java/com/planck/planck/util/RetryUtils.java index d8d1071..cd66b9a 100644 --- a/server/src/main/java/com/planck/planck/util/RetryUtils.java +++ b/server/src/main/java/com/planck/planck/util/RetryUtils.java @@ -88,17 +88,26 @@ private static CompletableFuture executeWithRetryInternal(RetryContext context.lastStatusCode = result.statusCode; context.errorMessage = result.errorMessage; - return CompletableFuture.failedFuture(new RuntimeException()); + String msg = + result.errorMessage != null && !result.errorMessage.isEmpty() + ? result.errorMessage + : "Request failed with HTTP " + result.statusCode; + return CompletableFuture.failedFuture(new RuntimeException(msg)); }) .handle( (result, throwable) -> { if (throwable != null) { if (!shouldRetry(context.lastStatusCode, context.attempt, context.config)) { - String errorMessage = ""; - if (context.errorMessage != null) { + String errorMessage; + if (context.errorMessage != null && !context.errorMessage.isEmpty()) { errorMessage = context.errorMessage; + } else if (throwable.getMessage() != null && !throwable.getMessage().isEmpty()) { + errorMessage = throwable.getMessage(); + } else if (throwable.getCause() != null + && throwable.getCause().getMessage() != null) { + errorMessage = throwable.getCause().getMessage(); } else { - errorMessage += throwable.getMessage(); + errorMessage = "Request failed with status " + context.lastStatusCode; } throw new RuntimeException(errorMessage, throwable); } From adb749aa230babf2e93999339fc96cd0bad24f9a Mon Sep 17 00:00:00 2001 From: Anant Bhargava Date: Thu, 10 Sep 2026 18:42:25 +0000 Subject: [PATCH 3/5] Harmonize LLM provider parameters, model aliases, and OpenAI reasoning model constraints - Supported both max_output_tokens and max_tokens across Anthropic, OpenAI, Mistral, and OpenAI-compatible strategies. - Added resolveModelName mapping in AnthropicStrategy for model aliases (Claude 3.7, 3.5, 3 Opus, Claude 4). - Omitted temperature and top_p for OpenAI reasoning models (o1, o3, o4) to prevent HTTP 400 parameter rejections. - Added resolveFrequencyPenalty to OpenAiCommonStrategy and MistralStrategy, fixing legacy frequence_penalty typo across Grok, DeepSeek, HuggingFace, and Mistral. - Added retired model endpoint remapping in MistralStrategy and GoogleStrategy. CONV=a51d4f04-81c0-4eda-a17e-54cf6eba6035 TAG=agy --- .../modelproviders/AnthropicStrategy.java | 56 ++++++++++++++-- .../modelproviders/DeepSeekStrategy.java | 26 +++++--- .../modelproviders/GoogleStrategy.java | 59 ++++++++++++++--- .../modelproviders/GrokStrategy.java | 26 +++++--- .../modelproviders/HuggingFaceStrategy.java | 26 +++++--- .../modelproviders/MistralStrategy.java | 64 +++++++++++++++---- .../modelproviders/OpenAIStrategy.java | 25 ++++++-- .../modelproviders/OpenAiCommonStrategy.java | 31 +++++++-- 8 files changed, 241 insertions(+), 72 deletions(-) diff --git a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/AnthropicStrategy.java b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/AnthropicStrategy.java index abc96eb..72ab870 100644 --- a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/AnthropicStrategy.java +++ b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/AnthropicStrategy.java @@ -53,7 +53,8 @@ public Flux streamChat(List prompts) { @SuppressWarnings("unchecked") private AnthropicChatModel buildClientWithOptions() { - var optionsBuilder = AnthropicChatModel.builder().apiKey(apiKey).modelName(modelName); + String resolvedModel = resolveModelName(modelName); + var optionsBuilder = AnthropicChatModel.builder().apiKey(apiKey).modelName(resolvedModel); optionsBuilder.maxRetries(0); if (this.properties.get("stop_sequences") != null @@ -73,8 +74,14 @@ private AnthropicChatModel buildClientWithOptions() { optionsBuilder.topK(Integer.valueOf(this.properties.get("top_k").toString())); } - if (this.properties.get("max_tokens") != null) { - optionsBuilder.maxTokens(Integer.valueOf(this.properties.get("max_tokens").toString())); + Object maxTokens = + this.properties.get("max_output_tokens") != null + ? this.properties.get("max_output_tokens") + : this.properties.get("max_tokens"); + if (maxTokens != null) { + optionsBuilder.maxTokens(Integer.valueOf(maxTokens.toString())); + } else { + optionsBuilder.maxTokens(4096); } return optionsBuilder.build(); @@ -82,7 +89,9 @@ private AnthropicChatModel buildClientWithOptions() { @SuppressWarnings("unchecked") private StreamingChatModel buildStreamingClientWithOptions() { - var optionsBuilder = AnthropicStreamingChatModel.builder().apiKey(apiKey).modelName(modelName); + String resolvedModel = resolveModelName(modelName); + var optionsBuilder = + AnthropicStreamingChatModel.builder().apiKey(apiKey).modelName(resolvedModel); if (this.properties.get("stop_sequences") != null && !((List) this.properties.get("stop_sequences")).isEmpty()) { @@ -101,10 +110,45 @@ private StreamingChatModel buildStreamingClientWithOptions() { optionsBuilder.topK(Integer.valueOf(this.properties.get("top_k").toString())); } - if (this.properties.get("max_tokens") != null) { - optionsBuilder.maxTokens(Integer.valueOf(this.properties.get("max_tokens").toString())); + Object maxTokens = + this.properties.get("max_output_tokens") != null + ? this.properties.get("max_output_tokens") + : this.properties.get("max_tokens"); + if (maxTokens != null) { + optionsBuilder.maxTokens(Integer.valueOf(maxTokens.toString())); + } else { + optionsBuilder.maxTokens(4096); } return optionsBuilder.build(); } + + private String resolveModelName(String name) { + if (name == null || name.isBlank()) { + return "claude-3-5-sonnet-20241022"; + } + switch (name) { + case "claude-3.7-sonnet": + case "claude-3-7-sonnet": + return "claude-3-7-sonnet-20250219"; + case "claude-3.5-sonnet": + case "claude-3-5-sonnet": + return "claude-3-5-sonnet-20241022"; + case "claude-3.5-haiku": + case "claude-3-5-haiku": + return "claude-3-5-haiku-20241022"; + case "claude-3-opus": + return "claude-3-opus-20240229"; + case "claude-3-haiku": + return "claude-3-haiku-20240307"; + case "claude-3-sonnet": + return "claude-3-sonnet-20240229"; + case "claude-opus-4-20250514": + return "claude-opus-4"; + case "claude-sonnet-4-20250514": + return "claude-sonnet-4"; + default: + return name; + } + } } diff --git a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/DeepSeekStrategy.java b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/DeepSeekStrategy.java index 054d507..0f67bdc 100644 --- a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/DeepSeekStrategy.java +++ b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/DeepSeekStrategy.java @@ -37,12 +37,15 @@ public class DeepSeekStrategy extends OpenAiCommonStrategy { protected OpenAiChatModel buildClientWithOptions() { var optionsBuilder = getBuilderWithCommonOptions(); - if (this.properties.get("max_tokens") != null) - optionsBuilder.maxTokens(Integer.valueOf(this.properties.get("max_tokens").toString())); + Integer maxTokens = resolveMaxTokens(); + if (maxTokens != null) { + optionsBuilder.maxTokens(maxTokens); + } - if (this.properties.get("frequence_penalty") != null) - optionsBuilder.frequencyPenalty( - Double.valueOf(this.properties.get("frequence_penalty").toString())); + Double frequencyPenalty = resolveFrequencyPenalty(); + if (frequencyPenalty != null) { + optionsBuilder.frequencyPenalty(frequencyPenalty); + } if (this.properties.get("presence_penalty") != null) optionsBuilder.presencePenalty( @@ -63,12 +66,15 @@ protected OpenAiChatModel buildClientWithOptions() { protected StreamingChatModel buildStreamingClientWithOptions() { var optionsBuilder = getStreamingBuilderWithCommonOptions(); - if (this.properties.get("max_tokens") != null) - optionsBuilder.maxTokens(Integer.valueOf(this.properties.get("max_tokens").toString())); + Integer maxTokens = resolveMaxTokens(); + if (maxTokens != null) { + optionsBuilder.maxTokens(maxTokens); + } - if (this.properties.get("frequence_penalty") != null) - optionsBuilder.frequencyPenalty( - Double.valueOf(this.properties.get("frequence_penalty").toString())); + Double frequencyPenalty = resolveFrequencyPenalty(); + if (frequencyPenalty != null) { + optionsBuilder.frequencyPenalty(frequencyPenalty); + } if (this.properties.get("presence_penalty") != null) optionsBuilder.presencePenalty( diff --git a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/GoogleStrategy.java b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/GoogleStrategy.java index f76aee1..d65b976 100644 --- a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/GoogleStrategy.java +++ b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/GoogleStrategy.java @@ -55,16 +55,26 @@ public ChatResponseWithLatency chat(List prompts) { Content systemInstruction = null; List contents = new ArrayList<>(); for (Prompt prompt : prompts) { - if (prompt.getRole() == InputRole.SYSTEM && prompts.size() > 1) { - systemInstruction = Content.fromParts(Part.fromText(prompt.getText())); + if (prompt.getRole() == InputRole.SYSTEM || prompt.getRole() == InputRole.DEVELOPER) { + if (prompt.getText() != null && !prompt.getText().trim().isEmpty()) { + systemInstruction = Content.fromParts(Part.fromText(prompt.getText())); + } continue; } - contents.add(Content.fromParts(Part.fromText(prompt.getText()))); + if (prompt.getText() != null && !prompt.getText().trim().isEmpty()) { + String role = prompt.getRole() == InputRole.ASSISTANT ? "model" : "user"; + contents.add( + Content.builder().role(role).parts(List.of(Part.fromText(prompt.getText()))).build()); + } + } + if (contents.isEmpty()) { + contents.add(Content.builder().role("user").parts(List.of(Part.fromText(" "))).build()); } GenerateContentConfig config = getGenerationConfig(systemInstruction); - return getResponseWithRetry(client, model.getName(), contents, config); + String targetModel = resolveModelName(model.getName()); + return getResponseWithRetry(client, targetModel, contents, config); } @Override @@ -74,18 +84,28 @@ public Flux streamChat(List prompts) { Content systemInstruction = null; List contents = new ArrayList<>(); for (Prompt prompt : prompts) { - if (prompt.getRole() == InputRole.SYSTEM && prompts.size() > 1) { - systemInstruction = Content.fromParts(Part.fromText(prompt.getText())); + if (prompt.getRole() == InputRole.SYSTEM || prompt.getRole() == InputRole.DEVELOPER) { + if (prompt.getText() != null && !prompt.getText().trim().isEmpty()) { + systemInstruction = Content.fromParts(Part.fromText(prompt.getText())); + } continue; } - contents.add(Content.fromParts(Part.fromText(prompt.getText()))); + if (prompt.getText() != null && !prompt.getText().trim().isEmpty()) { + String role = prompt.getRole() == InputRole.ASSISTANT ? "model" : "user"; + contents.add( + Content.builder().role(role).parts(List.of(Part.fromText(prompt.getText()))).build()); + } + } + if (contents.isEmpty()) { + contents.add(Content.builder().role("user").parts(List.of(Part.fromText(" "))).build()); } GenerateContentConfig config = getGenerationConfig(systemInstruction); long startTime = System.currentTimeMillis(); ResponseStream streamResponse; + String targetModel = resolveModelName(model.getName()); try { - streamResponse = client.models.generateContentStream(model.getName(), contents, config); + streamResponse = client.models.generateContentStream(targetModel, contents, config); } catch (Exception e) { throw new LlmProviderException( "Error while sending request to Gemini API: " + e.getMessage(), e); @@ -149,7 +169,10 @@ private ChatResponseWithLatency getResponseWithRetry( latencyMs.set(System.currentTimeMillis() - startTime); return new RetryUtils.StatusResult<>(response, HttpStatus.SC_OK); } catch (ApiException e) { - return new RetryUtils.StatusResult<>(null, e.code()); + return new RetryUtils.StatusResult<>(null, e.code(), e.getMessage()); + } catch (Exception e) { + return new RetryUtils.StatusResult<>( + null, HttpStatus.SC_INTERNAL_SERVER_ERROR, e.getMessage()); } }, defaultRetryProperties); @@ -208,10 +231,26 @@ private GenerateContentConfig getGenerationConfig(Content systemInstruction) { configBuilder.responseLogprobs(true); } - configBuilder.thinkingConfig(ThinkingConfig.builder().includeThoughts(true).build()); + String targetModel = resolveModelName(modelName); + if (targetModel != null && targetModel.contains("thinking")) { + configBuilder.thinkingConfig(ThinkingConfig.builder().includeThoughts(true).build()); + } return configBuilder.build(); } + private String resolveModelName(String name) { + if (name == null || name.isBlank()) { + return "gemini-2.5-flash"; + } + if (name.startsWith("gemini-2.0") || name.equals("gemini-flash") || name.equals("gemini-pro")) { + if (name.contains("lite")) { + return "gemini-2.5-flash-lite"; + } + return "gemini-2.5-flash"; + } + return name; + } + private Client buildClient() { Client client = Client.builder().apiKey(apiKey).build(); return client; diff --git a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/GrokStrategy.java b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/GrokStrategy.java index 2146577..e865e33 100644 --- a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/GrokStrategy.java +++ b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/GrokStrategy.java @@ -37,12 +37,15 @@ public class GrokStrategy extends OpenAiCommonStrategy { protected OpenAiChatModel buildClientWithOptions() { var optionsBuilder = getBuilderWithCommonOptions(); - if (this.properties.get("max_tokens") != null) - optionsBuilder.maxTokens(Integer.valueOf(this.properties.get("max_tokens").toString())); + Integer maxTokens = resolveMaxTokens(); + if (maxTokens != null) { + optionsBuilder.maxTokens(maxTokens); + } - if (this.properties.get("frequence_penalty") != null) - optionsBuilder.frequencyPenalty( - Double.valueOf(this.properties.get("frequence_penalty").toString())); + Double frequencyPenalty = resolveFrequencyPenalty(); + if (frequencyPenalty != null) { + optionsBuilder.frequencyPenalty(frequencyPenalty); + } if (this.properties.get("presence_penalty") != null) optionsBuilder.presencePenalty( @@ -63,12 +66,15 @@ protected OpenAiChatModel buildClientWithOptions() { protected StreamingChatModel buildStreamingClientWithOptions() { var optionsBuilder = getStreamingBuilderWithCommonOptions(); - if (this.properties.get("max_tokens") != null) - optionsBuilder.maxTokens(Integer.valueOf(this.properties.get("max_tokens").toString())); + Integer maxTokens = resolveMaxTokens(); + if (maxTokens != null) { + optionsBuilder.maxTokens(maxTokens); + } - if (this.properties.get("frequence_penalty") != null) - optionsBuilder.frequencyPenalty( - Double.valueOf(this.properties.get("frequence_penalty").toString())); + Double frequencyPenalty = resolveFrequencyPenalty(); + if (frequencyPenalty != null) { + optionsBuilder.frequencyPenalty(frequencyPenalty); + } if (this.properties.get("presence_penalty") != null) optionsBuilder.presencePenalty( diff --git a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/HuggingFaceStrategy.java b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/HuggingFaceStrategy.java index ff2e670..75ce2a0 100644 --- a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/HuggingFaceStrategy.java +++ b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/HuggingFaceStrategy.java @@ -37,12 +37,15 @@ public class HuggingFaceStrategy extends OpenAiCommonStrategy { protected OpenAiChatModel buildClientWithOptions() { var optionsBuilder = getBuilderWithCommonOptions(); - if (this.properties.get("max_tokens") != null) - optionsBuilder.maxTokens(Integer.valueOf(this.properties.get("max_tokens").toString())); + Integer maxTokens = resolveMaxTokens(); + if (maxTokens != null) { + optionsBuilder.maxTokens(maxTokens); + } - if (this.properties.get("frequence_penalty") != null) - optionsBuilder.frequencyPenalty( - Double.valueOf(this.properties.get("frequence_penalty").toString())); + Double frequencyPenalty = resolveFrequencyPenalty(); + if (frequencyPenalty != null) { + optionsBuilder.frequencyPenalty(frequencyPenalty); + } if (this.properties.get("presence_penalty") != null) optionsBuilder.presencePenalty( @@ -63,12 +66,15 @@ protected OpenAiChatModel buildClientWithOptions() { protected StreamingChatModel buildStreamingClientWithOptions() { var optionsBuilder = getStreamingBuilderWithCommonOptions(); - if (this.properties.get("max_tokens") != null) - optionsBuilder.maxTokens(Integer.valueOf(this.properties.get("max_tokens").toString())); + Integer maxTokens = resolveMaxTokens(); + if (maxTokens != null) { + optionsBuilder.maxTokens(maxTokens); + } - if (this.properties.get("frequence_penalty") != null) - optionsBuilder.frequencyPenalty( - Double.valueOf(this.properties.get("frequence_penalty").toString())); + Double frequencyPenalty = resolveFrequencyPenalty(); + if (frequencyPenalty != null) { + optionsBuilder.frequencyPenalty(frequencyPenalty); + } if (this.properties.get("presence_penalty") != null) optionsBuilder.presencePenalty( diff --git a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/MistralStrategy.java b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/MistralStrategy.java index 991127c..8fcda41 100644 --- a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/MistralStrategy.java +++ b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/MistralStrategy.java @@ -53,15 +53,25 @@ public Flux streamChat(List prompts) { @SuppressWarnings("unchecked") private MistralAiChatModel buildClientWithOptions() { - var optionsBuilder = MistralAiChatModel.builder().apiKey(apiKey).modelName(modelName); + String resolvedModel = resolveModelName(modelName); + var optionsBuilder = MistralAiChatModel.builder().apiKey(apiKey).modelName(resolvedModel); optionsBuilder.maxRetries(0); - if (this.properties.get("max_tokens") != null) - optionsBuilder.maxTokens(Integer.valueOf(this.properties.get("max_tokens").toString())); + Object maxTokens = + this.properties.get("max_output_tokens") != null + ? this.properties.get("max_output_tokens") + : this.properties.get("max_tokens"); + if (maxTokens != null) { + optionsBuilder.maxTokens(Integer.valueOf(maxTokens.toString())); + } - if (this.properties.get("frequence_penalty") != null) - optionsBuilder.frequencyPenalty( - Double.valueOf(this.properties.get("frequence_penalty").toString())); + Object freqPenalty = + this.properties.get("frequency_penalty") != null + ? this.properties.get("frequency_penalty") + : this.properties.get("frequence_penalty"); + if (freqPenalty != null) { + optionsBuilder.frequencyPenalty(Double.valueOf(freqPenalty.toString())); + } if (this.properties.get("presence_penalty") != null) optionsBuilder.presencePenalty( @@ -86,14 +96,25 @@ private MistralAiChatModel buildClientWithOptions() { @SuppressWarnings("unchecked") private StreamingChatModel buildStreamingClientWithOptions() { - var optionsBuilder = MistralAiStreamingChatModel.builder().apiKey(apiKey).modelName(modelName); - - if (this.properties.get("max_tokens") != null) - optionsBuilder.maxTokens(Integer.valueOf(this.properties.get("max_tokens").toString())); + String resolvedModel = resolveModelName(modelName); + var optionsBuilder = + MistralAiStreamingChatModel.builder().apiKey(apiKey).modelName(resolvedModel); + + Object maxTokens = + this.properties.get("max_output_tokens") != null + ? this.properties.get("max_output_tokens") + : this.properties.get("max_tokens"); + if (maxTokens != null) { + optionsBuilder.maxTokens(Integer.valueOf(maxTokens.toString())); + } - if (this.properties.get("frequence_penalty") != null) - optionsBuilder.frequencyPenalty( - Double.valueOf(this.properties.get("frequence_penalty").toString())); + Object freqPenalty = + this.properties.get("frequency_penalty") != null + ? this.properties.get("frequency_penalty") + : this.properties.get("frequence_penalty"); + if (freqPenalty != null) { + optionsBuilder.frequencyPenalty(Double.valueOf(freqPenalty.toString())); + } if (this.properties.get("presence_penalty") != null) optionsBuilder.presencePenalty( @@ -115,4 +136,21 @@ private StreamingChatModel buildStreamingClientWithOptions() { return optionsBuilder.build(); } + + private String resolveModelName(String name) { + if (name == null || name.isBlank()) { + return "mistral-small-latest"; + } + switch (name) { + case "mistral-tiny": + case "mistral-tiny-2312": + case "mistral-small-2312": + return "mistral-small-latest"; + case "mistral-medium-2312": + case "mistral-medium": + return "mistral-medium-latest"; + default: + return name; + } + } } diff --git a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/OpenAIStrategy.java b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/OpenAIStrategy.java index 96e40d1..aa12444 100644 --- a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/OpenAIStrategy.java +++ b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/OpenAIStrategy.java @@ -129,7 +129,7 @@ private ChatResponseWithLatency getResponseWithRetry( latencyMs.set(System.currentTimeMillis() - startTime); return new RetryUtils.StatusResult<>(response, HttpStatus.SC_OK); } catch (OpenAIException e) { - throw new RuntimeException(e.getMessage()); + throw new RuntimeException(e); } }, defaultRetryProperties); @@ -146,20 +146,31 @@ private OpenAIClient buildClient() { return client; } + private boolean isReasoningModel(String model) { + if (model == null) return false; + String lower = model.toLowerCase(); + return lower.startsWith("o1") || lower.startsWith("o3") || lower.startsWith("o4"); + } + private ResponseCreateParams getParams(List prompts) { ResponseCreateParams.Builder paramsBuilder = ResponseCreateParams.builder() .inputOfResponse(getInputFromMessages(prompts)) .model(ChatModel.of(modelName)); - if (this.properties.get("max_tokens") != null) - paramsBuilder.maxOutputTokens(Long.valueOf(this.properties.get("max_tokens").toString())); + Object maxTokens = + this.properties.get("max_output_tokens") != null + ? this.properties.get("max_output_tokens") + : this.properties.get("max_tokens"); + if (maxTokens != null) paramsBuilder.maxOutputTokens(Long.valueOf(maxTokens.toString())); - if (this.properties.get("temperature") != null) - paramsBuilder.temperature(Double.valueOf(this.properties.get("temperature").toString())); + if (!isReasoningModel(modelName)) { + if (this.properties.get("temperature") != null) + paramsBuilder.temperature(Double.valueOf(this.properties.get("temperature").toString())); - if (this.properties.get("top_p") != null) - paramsBuilder.topP(Double.valueOf(this.properties.get("top_p").toString())); + if (this.properties.get("top_p") != null) + paramsBuilder.topP(Double.valueOf(this.properties.get("top_p").toString())); + } if (this.properties.get("top_logprobs") != null) paramsBuilder.topLogprobs(Long.valueOf(this.properties.get("top_logprobs").toString())); diff --git a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/OpenAiCommonStrategy.java b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/OpenAiCommonStrategy.java index bdc5731..7c3d290 100644 --- a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/OpenAiCommonStrategy.java +++ b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/OpenAiCommonStrategy.java @@ -63,9 +63,9 @@ protected OpenAiChatModelBuilder getBuilderWithCommonOptions() { if (this.properties.get("top_p") != null) optionsBuilder.topP(Double.valueOf(this.properties.get("top_p").toString())); - if (this.properties.get("max_completion_tokens") != null) { - optionsBuilder.maxCompletionTokens( - Integer.valueOf(this.properties.get("max_completion_tokens").toString())); + Integer maxTokens = resolveMaxTokens(); + if (maxTokens != null) { + optionsBuilder.maxCompletionTokens(maxTokens); } optionsBuilder.returnThinking(true); return optionsBuilder; @@ -81,14 +81,33 @@ protected OpenAiStreamingChatModelBuilder getStreamingBuilderWithCommonOptions() if (this.properties.get("top_p") != null) optionsBuilder.topP(Double.valueOf(this.properties.get("top_p").toString())); - if (this.properties.get("max_completion_tokens") != null) { - optionsBuilder.maxCompletionTokens( - Integer.valueOf(this.properties.get("max_completion_tokens").toString())); + Integer maxTokens = resolveMaxTokens(); + if (maxTokens != null) { + optionsBuilder.maxCompletionTokens(maxTokens); } optionsBuilder.returnThinking(true); return optionsBuilder; } + protected Integer resolveMaxTokens() { + Object val = this.properties.get("max_output_tokens"); + if (val == null) val = this.properties.get("max_tokens"); + if (val == null) val = this.properties.get("max_completion_tokens"); + if (val != null) { + return Integer.valueOf(val.toString()); + } + return null; + } + + protected Double resolveFrequencyPenalty() { + Object val = this.properties.get("frequency_penalty"); + if (val == null) val = this.properties.get("frequence_penalty"); + if (val != null) { + return Double.valueOf(val.toString()); + } + return null; + } + protected abstract OpenAiChatModel buildClientWithOptions(); protected abstract StreamingChatModel buildStreamingClientWithOptions(); From 473c12a0e59816ddc10e84714cff7253f98eac15 Mon Sep 17 00:00:00 2001 From: Anant Bhargava Date: Thu, 10 Sep 2026 18:42:31 +0000 Subject: [PATCH 4/5] Deprecate retired Gemini 2.0 and legacy Mistral models in model seed data - Marked retired Google Gemini 2.0 models (gemini-2.0-flash-001, gemini-2.0-flash, gemini-2.0-flash-lite, gemini-2.0-flash-thinking-exp) with is_deprecated = 1. - Marked retired Mistral models (mistral-tiny, mistral-tiny-2312, mistral-small-2312, mistral-medium-2312) with is_deprecated = 1. CONV=a51d4f04-81c0-4eda-a17e-54cf6eba6035 TAG=agy --- .../src/main/resources/liquibase/data/model.csv | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/server/src/main/resources/liquibase/data/model.csv b/server/src/main/resources/liquibase/data/model.csv index 11ce03b..33fe49a 100644 --- a/server/src/main/resources/liquibase/data/model.csv +++ b/server/src/main/resources/liquibase/data/model.csv @@ -8,10 +8,10 @@ model_e04fc2f3-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,Anthropic's most model_e0517ac2-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,Anthropic's most balanced model between intelligence and speed.,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": null}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 4096, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 4096}}",0,Claude Sonnet 3,claude-3-sonnet-20240229,"{""seed"": null, ""top_p"": 1.0, ""temperature"": null, ""stop_sequences"": [], ""max_output_tokens"": 4096}",ANTHROPIC,SYSTEM,2025-10-21 06:19:18,https://api.anthropic.com/v1/messages,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-02-29 00:00:00 model_e0532205-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,Anthropic's most powerful model for complex reasoning and analysis.,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": null}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 32000, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 32000}}",0,Claude Opus 4,claude-opus-4-20250514,"{""seed"": null, ""top_p"": 1.0, ""temperature"": null, ""stop_sequences"": [], ""max_output_tokens"": 32000}",ANTHROPIC,SYSTEM,2025-10-21 06:19:18,https://api.anthropic.com/v1/messages,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-05-14 00:00:00 model_e054f733-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,Anthropic's balanced model between intelligence and speed.,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": null}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 64000, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 64000}}",0,Claude Sonnet 4,claude-sonnet-4-20250514,"{""seed"": null, ""top_p"": 1.0, ""temperature"": null, ""stop_sequences"": [], ""max_output_tokens"": 64000}",ANTHROPIC,SYSTEM,2025-10-21 06:19:18,https://api.anthropic.com/v1/messages,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-05-14 00:00:00 -model_e05c4290-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Gemini 2.0 Flash is a fast, efficient model that excels across diverse tasks, released in January of 2025.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 2.0 Flash 001,gemini-2.0-flash-001,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-01-01 00:00:00 -model_e05e18cd-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Gemini 2.0 Flash Lite is a lightweight, fast model for efficient processing.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 2.0 Flash-Lite,gemini-2.0-flash-lite,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-lite:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-12-01 00:00:00 -model_e05fcd85-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Preview release (April 17th, 2025) of Gemini 2.5 Flash","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 2.0 Flash Thinking Experimental,gemini-2.0-flash-thinking-exp,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-thinking-exp:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-04-17 00:00:00 -model_e061a42c-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Gemini 2.0 Flash is a fast, efficient model that excels across diverse tasks.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 2.0 Flash,gemini-2.0-flash,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-12-01 00:00:00 +model_e05c4290-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Gemini 2.0 Flash is a fast, efficient model that excels across diverse tasks, released in January of 2025.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",1,Gemini 2.0 Flash 001,gemini-2.0-flash-001,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-01-01 00:00:00 +model_e05e18cd-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Gemini 2.0 Flash Lite is a lightweight, fast model for efficient processing.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",1,Gemini 2.0 Flash-Lite,gemini-2.0-flash-lite,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-lite:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-12-01 00:00:00 +model_e05fcd85-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Preview release (April 17th, 2025) of Gemini 2.5 Flash","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",1,Gemini 2.0 Flash Thinking Experimental,gemini-2.0-flash-thinking-exp,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-thinking-exp:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-04-17 00:00:00 +model_e061a42c-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Gemini 2.0 Flash is a fast, efficient model that excels across diverse tasks.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",1,Gemini 2.0 Flash,gemini-2.0-flash,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-12-01 00:00:00 model_e0689285-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"General Availability release (June 17, 2025) of Gemini 2.5 Flash. Best model in terms of price and performance with well-rounded capabilities. Features thinking capabilities and supports text, code, images, audio, and video inputs.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 2.5 Flash,gemini-2.5-flash,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-06-17 00:00:00 model_e06fbdb4-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"General Availability release (June 17, 2025) of Gemini 2.5 Pro. Most advanced reasoning Gemini model, capable of solving complex problems. Supports text, code, images, audio, and video inputs.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 2.5 Pro,gemini-2.5-pro,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-06-17 00:00:00 model_e071774a-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,Gemma 3 12B,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 0.95}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 1.0}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 8192, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 8192}}",0,Gemma 3 12B,gemma-3-12b-it,"{""seed"": null, ""top_p"": 0.95, ""temperature"": 1.0, ""stop_sequences"": [], ""max_output_tokens"": 8192}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemma-3-12b-it:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-06-01 00:00:00 @@ -36,23 +36,23 @@ model_e094b461-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral model_e0968627-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-large-2411 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 131072, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 131072}}",0,Mistral Large 2.1,mistral-large-2411,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 131072}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-11-18 00:00:00 model_e0984abf-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-large-2411 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 131072, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 131072}}",0,Mistral Large Latest,mistral-large-latest,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 131072}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e09a068d-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official pixtral-large-2411 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 131072, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 131072}}",0,Mistral Large Pixtral 2411,mistral-large-pixtral-2411,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 131072}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 -model_e09c3d72-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-medium-2312 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",0,Mistral Medium 2312,mistral-medium-2312,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 +model_e09c3d72-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-medium-2312 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",1,Mistral Medium 2312,mistral-medium-2312,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e09e362d-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-medium-2505 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.3}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 131072, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 131072}}",0,Mistral Medium 2505,mistral-medium-2505,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.3, ""stop_sequences"": [], ""max_output_tokens"": 131072}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0a00420-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-medium-2505 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.3}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 131072, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 131072}}",0,Mistral Medium Latest,mistral-medium-latest,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.3, ""stop_sequences"": [], ""max_output_tokens"": 131072}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0a1d35c-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-medium-2505 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.3}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 131072, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 131072}}",0,Mistral Medium,mistral-medium,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.3, ""stop_sequences"": [], ""max_output_tokens"": 131072}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0a4113b-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-saba-2502 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.3}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",0,Mistral Saba 2502,mistral-saba-2502,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.3, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0a61cb5-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-saba-2502 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.3}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",0,Mistral Saba Latest,mistral-saba-latest,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.3, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 -model_e0a7c7e5-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official open-mixtral-8x7b Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",0,Mistral Small 2312,mistral-small-2312,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 +model_e0a7c7e5-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official open-mixtral-8x7b Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",1,Mistral Small 2312,mistral-small-2312,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0a979e4-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-small-2402 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",0,Mistral Small 2402,mistral-small-2402,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0ab3d55-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-small-2409 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",0,Mistral Small 2409,mistral-small-2409,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0acf4f1-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-small-2501 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.3}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",0,Mistral Small 3,mistral-small-2501,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.3, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-01-30 00:00:00 model_e0af604b-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-small-2503 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.3}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 131072, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 131072}}",0,Mistral Small 3.1,mistral-small-2503,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.3, ""stop_sequences"": [], ""max_output_tokens"": 131072}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-03-17 00:00:00 model_e0b106ce-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official mistral-small-2503 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.3}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 131072, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 131072}}",0,Mistral Small Latest,mistral-small-latest,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.3, ""stop_sequences"": [], ""max_output_tokens"": 131072}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0b2e0df-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official open-mixtral-8x7b Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",0,Mistral Small,mistral-small,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 -model_e0b4807c-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official open-mistral-7b Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",0,Mistral Tiny 2312,mistral-tiny-2312,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 +model_e0b4807c-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official open-mistral-7b Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",1,Mistral Tiny 2312,mistral-tiny-2312,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0b627cd-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official open-mistral-nemo Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.3}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 131072, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 131072}}",0,Mistral Tiny 2407,mistral-tiny-2407,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.3, ""stop_sequences"": [], ""max_output_tokens"": 131072}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0b7dcd4-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official open-mistral-nemo Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.3}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 131072, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 131072}}",0,Mistral Tiny Latest,mistral-tiny-latest,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.3, ""stop_sequences"": [], ""max_output_tokens"": 131072}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 -model_e0b999b8-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official open-mistral-7b Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",0,Mistral Tiny,mistral-tiny,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 +model_e0b999b8-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official open-mistral-7b Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",1,Mistral Tiny,mistral-tiny,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0bb750e-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,First mamba 2 open source model (API v July 2024).,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 256000, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 256000}}",0,Open Codestral Mamba,open-codestral-mamba,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 256000}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0bd207d-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official open-mistral-7b Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",0,Open Mistral 7b,open-mistral-7b,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0bef8c4-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official open-mistral-nemo Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.3}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 131072, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 131072}}",0,Open Mistral Nemo 2407,open-mistral-nemo-2407,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.3, ""stop_sequences"": [], ""max_output_tokens"": 131072}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 From d4ad413c2d8c7b6d0917314de43f9f60155c5557 Mon Sep 17 00:00:00 2001 From: Anant Bhargava Date: Tue, 15 Sep 2026 00:00:58 +0000 Subject: [PATCH 5/5] fix(google): update Gemini models to active v1beta releases and increase frontend proxy timeout --- frontend/app/api/[...anyRoutes]/route.tsx | 2 +- frontend/config/constants.tsx | 2 +- frontend/next.config.js | 7 +- .../IntegrationTestSecurityConfiguration.java | 23 +- .../modelproviders/GoogleStrategy.java | 202 ++++++++++++++---- .../main/resources/liquibase/data/model.csv | 24 ++- 6 files changed, 200 insertions(+), 60 deletions(-) diff --git a/frontend/app/api/[...anyRoutes]/route.tsx b/frontend/app/api/[...anyRoutes]/route.tsx index c141a14..8eb9777 100644 --- a/frontend/app/api/[...anyRoutes]/route.tsx +++ b/frontend/app/api/[...anyRoutes]/route.tsx @@ -46,7 +46,7 @@ async function handle(request: Request) { const config: AxiosRequestConfig = { method: request.method.toUpperCase(), url: relativeEndpoint, - baseURL: process.env.NEXT_PUBLIC_API_BASE_URL, + baseURL: process.env.NEXT_PUBLIC_API_BASE_URL || "http://localhost:8080", headers, timeout: 180000, // 3 minutes timeout }; diff --git a/frontend/config/constants.tsx b/frontend/config/constants.tsx index 36c1abf..184e3c1 100644 --- a/frontend/config/constants.tsx +++ b/frontend/config/constants.tsx @@ -94,7 +94,7 @@ export const getModelDetails = ( } }; -export const DEFAULT_EVALUATOR_MODEL = "gemini-2.5-flash"; +export const DEFAULT_EVALUATOR_MODEL = "gemini-flash-latest"; export const getProviders = (): ModelProvider[] => [ { diff --git a/frontend/next.config.js b/frontend/next.config.js index 4a554c7..030f88a 100644 --- a/frontend/next.config.js +++ b/frontend/next.config.js @@ -80,13 +80,12 @@ const nextConfig = { }, ]; }, + experimental: { + proxyTimeout: 300000, + }, async rewrites() { const backendUrl = process.env.NEXT_PUBLIC_API_BASE_URL || "http://localhost:8080"; return [ - { - source: "/api/:path*", - destination: `${backendUrl}/:path*`, - }, { source: "/streaming/:path*", destination: `${backendUrl}/streaming/:path*`, diff --git a/server/src/main/java/com/planck/planck/config/IntegrationTestSecurityConfiguration.java b/server/src/main/java/com/planck/planck/config/IntegrationTestSecurityConfiguration.java index 806d855..4170af9 100644 --- a/server/src/main/java/com/planck/planck/config/IntegrationTestSecurityConfiguration.java +++ b/server/src/main/java/com/planck/planck/config/IntegrationTestSecurityConfiguration.java @@ -64,16 +64,19 @@ protected void doFilterInternal( String email = PlanckConstants.DEFAULT_USER; String firstName = PlanckConstants.DEFAULT_USER_FIRSTNAME; String lastName = PlanckConstants.DEFAULT_USER_LASTNAME; - User user = - userService - .findByEmail(email) - .orElseGet( - () -> { - User newUser = new User(firstName, lastName, email, Role.USER); - userService.save(newUser); - humanEvaluatorService.createUserThumbsEvaluator(newUser); - return newUser; - }); + User user; + synchronized (IntegrationTestSecurityConfiguration.class) { + user = + userService + .findByEmail(email) + .orElseGet( + () -> { + User newUser = new User(firstName, lastName, email, Role.USER); + userService.save(newUser); + humanEvaluatorService.createUserThumbsEvaluator(newUser); + return newUser; + }); + } UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken(user, null, user.getAuthorities()); SecurityContextHolder.getContext().setAuthentication(auth); diff --git a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/GoogleStrategy.java b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/GoogleStrategy.java index d65b976..6e99688 100644 --- a/server/src/main/java/com/planck/planck/llmproviders/modelproviders/GoogleStrategy.java +++ b/server/src/main/java/com/planck/planck/llmproviders/modelproviders/GoogleStrategy.java @@ -37,6 +37,7 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicLong; +import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpStatus; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; @@ -45,6 +46,7 @@ @Component("google") @Scope("prototype") +@Slf4j public class GoogleStrategy extends ChatProviderStrategy { @Autowired private DefaultRetryProperties defaultRetryProperties; @@ -105,7 +107,20 @@ public Flux streamChat(List prompts) { ResponseStream streamResponse; String targetModel = resolveModelName(model.getName()); try { - streamResponse = client.models.generateContentStream(targetModel, contents, config); + try { + streamResponse = client.models.generateContentStream(targetModel, contents, config); + } catch (ApiException e) { + if (e.code() == 404) { + String fallbackModel = resolveAvailableGeminiModel(client, targetModel); + if (!fallbackModel.equals(targetModel)) { + streamResponse = client.models.generateContentStream(fallbackModel, contents, config); + } else { + throw e; + } + } else { + throw e; + } + } } catch (Exception e) { throw new LlmProviderException( "Error while sending request to Gemini API: " + e.getMessage(), e); @@ -164,8 +179,21 @@ private ChatResponseWithLatency getResponseWithRetry( () -> { try { long startTime = System.currentTimeMillis(); - GenerateContentResponse response = - client.models.generateContent(modelName, contents, config); + GenerateContentResponse response; + try { + response = client.models.generateContent(modelName, contents, config); + } catch (ApiException e) { + if (e.code() == 404) { + String fallbackModel = resolveAvailableGeminiModel(client, modelName); + if (!fallbackModel.equals(modelName)) { + response = client.models.generateContent(fallbackModel, contents, config); + } else { + throw e; + } + } else { + throw e; + } + } latencyMs.set(System.currentTimeMillis() - startTime); return new RetryUtils.StatusResult<>(response, HttpStatus.SC_OK); } catch (ApiException e) { @@ -184,6 +212,84 @@ private ChatResponseWithLatency getResponseWithRetry( return new ChatResponseWithLatency(geminiResponse, latencyMs.longValue()); } + private String resolveAvailableGeminiModel(Client client, String requestedModel) { + try { + List available = new ArrayList<>(); + for (com.google.genai.types.Model m : client.models.list(null)) { + String fullName = m.name().orElse(""); + if (fullName.startsWith("models/")) { + fullName = fullName.substring(7); + } + if (!fullName.startsWith("gemini-")) { + continue; + } + if (fullName.contains("-tts") + || fullName.contains("-image") + || fullName.contains("-transcribe") + || fullName.contains("-robotics") + || fullName.contains("-computer-use") + || fullName.contains("-embedding")) { + continue; + } + List actions = m.supportedActions().orElse(List.of()); + if (actions.isEmpty() || actions.contains("generateContent")) { + available.add(fullName); + } + } + log.info( + "Gemini API 404 for '{}'. Available text/chat Gemini models for this API key: {}", + requestedModel, + available); + if (available.isEmpty()) { + return requestedModel; + } + if (requestedModel.contains("pro")) { + if (available.contains("gemini-pro-latest")) { + return "gemini-pro-latest"; + } + for (String candidate : available) { + if (candidate.contains("pro")) { + log.info("Auto-resolving Gemini pro model '{}' -> '{}'", requestedModel, candidate); + return candidate; + } + } + } + if (requestedModel.contains("lite")) { + if (available.contains("gemini-2.5-flash-lite")) { + return "gemini-2.5-flash-lite"; + } + if (available.contains("gemini-flash-lite-latest")) { + return "gemini-flash-lite-latest"; + } + for (String candidate : available) { + if (candidate.contains("lite")) { + return candidate; + } + } + } + if (requestedModel.contains("flash")) { + if (available.contains("gemini-flash-latest")) { + return "gemini-flash-latest"; + } + if (available.contains("gemini-3.5-flash")) { + return "gemini-3.5-flash"; + } + for (String candidate : available) { + if (candidate.contains("flash") && !candidate.contains("lite")) { + log.info("Auto-resolving Gemini flash model '{}' -> '{}'", requestedModel, candidate); + return candidate; + } + } + } + log.info("Auto-resolving Gemini model '{}' -> '{}'", requestedModel, available.get(0)); + return available.get(0); + } catch (Exception ex) { + log.warn( + "Failed to list available Gemini models during fallback resolution: {}", ex.getMessage()); + return requestedModel; + } + } + private GenerateContentConfig getGenerationConfig(Content systemInstruction) { GenerateContentConfig.Builder configBuilder = GenerateContentConfig.builder(); @@ -191,44 +297,50 @@ private GenerateContentConfig getGenerationConfig(Content systemInstruction) { configBuilder.systemInstruction(systemInstruction); } - if (this.properties.containsKey("temperature")) { - configBuilder.temperature(Float.valueOf(this.properties.get("temperature").toString())); - } + if (this.properties != null) { + if (this.properties.get("temperature") != null) { + configBuilder.temperature(Float.valueOf(this.properties.get("temperature").toString())); + } - if (this.properties.containsKey("top_p")) { - configBuilder.topP(Float.valueOf(this.properties.get("top_p").toString())); - } + if (this.properties.get("top_p") != null) { + configBuilder.topP(Float.valueOf(this.properties.get("top_p").toString())); + } - if (this.properties.containsKey("seed")) { - configBuilder.seed(Integer.valueOf(this.properties.get("seed").toString())); - } + if (this.properties.get("seed") != null) { + configBuilder.seed(Integer.valueOf(this.properties.get("seed").toString())); + } - if (this.properties.containsKey("max_tokens")) { - configBuilder.maxOutputTokens(Integer.valueOf(this.properties.get("max_tokens").toString())); - } + if (this.properties.get("max_tokens") != null) { + configBuilder.maxOutputTokens( + Integer.valueOf(this.properties.get("max_tokens").toString())); + } else if (this.properties.get("max_output_tokens") != null) { + configBuilder.maxOutputTokens( + Integer.valueOf(this.properties.get("max_output_tokens").toString())); + } - if (this.properties.containsKey("top_k")) { - configBuilder.topK(Float.valueOf(this.properties.get("top_k").toString())); - } + if (this.properties.get("top_k") != null) { + configBuilder.topK(Float.valueOf(this.properties.get("top_k").toString())); + } - if (this.properties.containsKey("presence_penalty")) { - configBuilder.presencePenalty( - Float.valueOf(this.properties.get("presence_penalty").toString())); - } + if (this.properties.get("presence_penalty") != null) { + configBuilder.presencePenalty( + Float.valueOf(this.properties.get("presence_penalty").toString())); + } - if (this.properties.containsKey("frequency_penalty")) { - configBuilder.frequencyPenalty( - Float.valueOf(this.properties.get("frequency_penalty").toString())); - } + if (this.properties.get("frequency_penalty") != null) { + configBuilder.frequencyPenalty( + Float.valueOf(this.properties.get("frequency_penalty").toString())); + } - if (this.properties.containsKey("response_log_probs")) { - configBuilder.responseLogprobs( - Boolean.valueOf(this.properties.get("response_log_probs").toString())); - } + if (this.properties.get("response_log_probs") != null) { + configBuilder.responseLogprobs( + Boolean.valueOf(this.properties.get("response_log_probs").toString())); + } - if (this.properties.containsKey("log_probs")) { - configBuilder.logprobs(Integer.valueOf(this.properties.get("log_probs").toString())); - configBuilder.responseLogprobs(true); + if (this.properties.get("log_probs") != null) { + configBuilder.logprobs(Integer.valueOf(this.properties.get("log_probs").toString())); + configBuilder.responseLogprobs(true); + } } String targetModel = resolveModelName(modelName); @@ -240,13 +352,31 @@ private GenerateContentConfig getGenerationConfig(Content systemInstruction) { private String resolveModelName(String name) { if (name == null || name.isBlank()) { - return "gemini-2.5-flash"; + return "gemini-flash-latest"; } - if (name.startsWith("gemini-2.0") || name.equals("gemini-flash") || name.equals("gemini-pro")) { + if (name.equals("gemini-2.5-flash")) { + return "gemini-flash-latest"; + } + if (name.equals("gemini-2.5-pro")) { + return "gemini-pro-latest"; + } + if (name.startsWith("gemini-2.0") + || name.startsWith("gemini-1.5") + || name.equals("gemini-flash") + || name.equals("gemini-pro")) { + if (name.contains("pro")) { + return "gemini-pro-latest"; + } if (name.contains("lite")) { return "gemini-2.5-flash-lite"; } - return "gemini-2.5-flash"; + return "gemini-flash-latest"; + } + if (name.startsWith("gemma-3")) { + return "gemma-4-31b-it"; + } + if (name.startsWith("learnlm")) { + return "gemini-flash-latest"; } return name; } diff --git a/server/src/main/resources/liquibase/data/model.csv b/server/src/main/resources/liquibase/data/model.csv index 33fe49a..4e0f4e4 100644 --- a/server/src/main/resources/liquibase/data/model.csv +++ b/server/src/main/resources/liquibase/data/model.csv @@ -12,14 +12,14 @@ model_e05c4290-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Gemini 2.0 Flas model_e05e18cd-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Gemini 2.0 Flash Lite is a lightweight, fast model for efficient processing.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",1,Gemini 2.0 Flash-Lite,gemini-2.0-flash-lite,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-lite:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-12-01 00:00:00 model_e05fcd85-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Preview release (April 17th, 2025) of Gemini 2.5 Flash","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",1,Gemini 2.0 Flash Thinking Experimental,gemini-2.0-flash-thinking-exp,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-thinking-exp:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-04-17 00:00:00 model_e061a42c-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Gemini 2.0 Flash is a fast, efficient model that excels across diverse tasks.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",1,Gemini 2.0 Flash,gemini-2.0-flash,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-12-01 00:00:00 -model_e0689285-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"General Availability release (June 17, 2025) of Gemini 2.5 Flash. Best model in terms of price and performance with well-rounded capabilities. Features thinking capabilities and supports text, code, images, audio, and video inputs.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 2.5 Flash,gemini-2.5-flash,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-06-17 00:00:00 -model_e06fbdb4-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"General Availability release (June 17, 2025) of Gemini 2.5 Pro. Most advanced reasoning Gemini model, capable of solving complex problems. Supports text, code, images, audio, and video inputs.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 2.5 Pro,gemini-2.5-pro,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-06-17 00:00:00 -model_e071774a-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,Gemma 3 12B,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 0.95}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 1.0}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 8192, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 8192}}",0,Gemma 3 12B,gemma-3-12b-it,"{""seed"": null, ""top_p"": 0.95, ""temperature"": 1.0, ""stop_sequences"": [], ""max_output_tokens"": 8192}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemma-3-12b-it:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-06-01 00:00:00 -model_e0735c1d-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Gemma 3 1B,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 0.95}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 1.0}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 8192, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 8192}}",0,Gemma 3 1B,gemma-3-1b-it,"{""seed"": null, ""top_p"": 0.95, ""temperature"": 1.0, ""stop_sequences"": [], ""max_output_tokens"": 8192}",GOOGLE,SYSTEM,2025-10-21 06:19:19,https://generativelanguage.googleapis.com/v1beta/models/gemma-3-1b-it:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-06-01 00:00:00 -model_e0752adb-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Gemma 3 27B,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 0.95}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 1.0}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 8192, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 8192}}",0,Gemma 3 27B,gemma-3-27b-it,"{""seed"": null, ""top_p"": 0.95, ""temperature"": 1.0, ""stop_sequences"": [], ""max_output_tokens"": 8192}",GOOGLE,SYSTEM,2025-10-21 06:19:19,https://generativelanguage.googleapis.com/v1beta/models/gemma-3-27b-it:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-06-01 00:00:00 -model_e076e1bb-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Gemma 3 4B,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 0.95}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 1.0}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 8192, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 8192}}",0,Gemma 3 4B,gemma-3-4b-it,"{""seed"": null, ""top_p"": 0.95, ""temperature"": 1.0, ""stop_sequences"": [], ""max_output_tokens"": 8192}",GOOGLE,SYSTEM,2025-10-21 06:19:19,https://generativelanguage.googleapis.com/v1beta/models/gemma-3-4b-it:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-06-01 00:00:00 -model_e078ebc5-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Gemma 3n e4B,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 0.95}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 1.0}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 8192, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 8192}}",0,Gemma 3n e4B,gemma-3n-e4b-it,"{""seed"": null, ""top_p"": 0.95, ""temperature"": 1.0, ""stop_sequences"": [], ""max_output_tokens"": 8192}",GOOGLE,SYSTEM,2025-10-21 06:19:19,https://generativelanguage.googleapis.com/v1beta/models/gemma-3n-e4b-it:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-06-01 00:00:00 -model_e07b1068-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,"Experimental version of LearnLM 2.0 Flash, designed for educational applications.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 0.95}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 1.0}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 32768}}",0,LearnLM 2.0 Flash Experimental,learnlm-2.0-flash-experimental,"{""seed"": null, ""top_p"": 0.95, ""temperature"": 1.0, ""stop_sequences"": [], ""max_output_tokens"": 32768}",GOOGLE,SYSTEM,2025-10-21 06:19:19,https://generativelanguage.googleapis.com/v1beta/models/learnlm-2.0-flash-experimental:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-11-01 00:00:00 +model_e0689285-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Latest release of Gemini Flash. Fast and efficient multimodal model for text, code, and reasoning.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini Flash Latest,gemini-flash-latest,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-latest:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-06-17 00:00:00 +model_e06fbdb4-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Latest release of Gemini Pro. Most advanced reasoning Gemini model, capable of solving complex problems.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini Pro Latest,gemini-pro-latest,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-pro-latest:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-06-17 00:00:00 +model_e071774a-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,Gemma 3 12B,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 0.95}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 1.0}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 8192, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 8192}}",1,Gemma 3 12B,gemma-3-12b-it,"{""seed"": null, ""top_p"": 0.95, ""temperature"": 1.0, ""stop_sequences"": [], ""max_output_tokens"": 8192}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemma-3-12b-it:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-06-01 00:00:00 +model_e0735c1d-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Gemma 3 1B,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 0.95}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 1.0}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 8192, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 8192}}",1,Gemma 3 1B,gemma-3-1b-it,"{""seed"": null, ""top_p"": 0.95, ""temperature"": 1.0, ""stop_sequences"": [], ""max_output_tokens"": 8192}",GOOGLE,SYSTEM,2025-10-21 06:19:19,https://generativelanguage.googleapis.com/v1beta/models/gemma-3-1b-it:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-06-01 00:00:00 +model_e0752adb-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Gemma 3 27B,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 0.95}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 1.0}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 8192, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 8192}}",1,Gemma 3 27B,gemma-3-27b-it,"{""seed"": null, ""top_p"": 0.95, ""temperature"": 1.0, ""stop_sequences"": [], ""max_output_tokens"": 8192}",GOOGLE,SYSTEM,2025-10-21 06:19:19,https://generativelanguage.googleapis.com/v1beta/models/gemma-3-27b-it:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-06-01 00:00:00 +model_e076e1bb-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Gemma 3 4B,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 0.95}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 1.0}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 8192, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 8192}}",1,Gemma 3 4B,gemma-3-4b-it,"{""seed"": null, ""top_p"": 0.95, ""temperature"": 1.0, ""stop_sequences"": [], ""max_output_tokens"": 8192}",GOOGLE,SYSTEM,2025-10-21 06:19:19,https://generativelanguage.googleapis.com/v1beta/models/gemma-3-4b-it:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-06-01 00:00:00 +model_e078ebc5-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Gemma 3n e4B,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 0.95}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 1.0}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 8192, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 8192}}",1,Gemma 3n e4B,gemma-3n-e4b-it,"{""seed"": null, ""top_p"": 0.95, ""temperature"": 1.0, ""stop_sequences"": [], ""max_output_tokens"": 8192}",GOOGLE,SYSTEM,2025-10-21 06:19:19,https://generativelanguage.googleapis.com/v1beta/models/gemma-3n-e4b-it:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-06-01 00:00:00 +model_e07b1068-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,"Experimental version of LearnLM 2.0 Flash, designed for educational applications.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 0.95}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 1.0}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Max Output Tokens for the model."", ""defaultValue"": 32768}}",1,LearnLM 2.0 Flash Experimental,learnlm-2.0-flash-experimental,"{""seed"": null, ""top_p"": 0.95, ""temperature"": 1.0, ""stop_sequences"": [], ""max_output_tokens"": 32768}",GOOGLE,SYSTEM,2025-10-21 06:19:19,https://generativelanguage.googleapis.com/v1beta/models/learnlm-2.0-flash-experimental:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-11-01 00:00:00 model_e07ce590-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official codestral-2405 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 32768, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 32768}}",0,Codestral 2405,codestral-2405,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.7, ""stop_sequences"": [], ""max_output_tokens"": 32768}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e07ef16d-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official codestral-2501 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.3}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 262144, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 262144}}",0,Codestral 2411 Rc5,codestral-2411-rc5,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.3, ""stop_sequences"": [], ""max_output_tokens"": 262144}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 model_e0812e6f-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Official codestral-2501 Mistral AI model,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Random Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for reproducible outputs."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Nucleus sampling parameter."", ""defaultValue"": 1.0}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Controls randomness. Lower values make the model more deterministic."", ""defaultValue"": 0.3}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Specifies sequences where the API will stop generating further tokens."", ""defaultValue"": []}, ""max_output_tokens"": {""key"": ""max_output_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 262144, ""minValue"": 1, ""description"": ""Maximum number of tokens to generate."", ""defaultValue"": 262144}}",0,Codestral 2412,codestral-2412,"{""seed"": null, ""top_p"": 1.0, ""temperature"": 0.3, ""stop_sequences"": [], ""max_output_tokens"": 262144}",MISTRAL,SYSTEM,2025-10-21 06:19:19,https://api.mistral.ai/v1/chat/completions,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2023-01-01 00:00:00 @@ -94,3 +94,11 @@ model_e0ff1ea7-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,Fast version of model_e100ba07-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,DeepSeek Chat is a conversational AI model designed for general chat and reasoning tasks.,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 1.0}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 4096, ""minValue"": 1, ""description"": ""Max Tokens for the model."", ""defaultValue"": 4096}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}}",0,DeepSeek Chat,deepseek-chat,"{""seed"": null, ""top_p"": 1.0, ""max_tokens"": 4096, ""temperature"": 0.7, ""stop_sequences"": []}",DEEPSEEK,SYSTEM,2025-10-21 06:19:19,https://api.deepseek.com/v1/,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-01-01 00:00:00 model_e1029f6d-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:19,"DeepSeek Reasoner is a reasoning model developed by DeepSeek. Before delivering the final answer, the model first generates a Chain of Thought (CoT) to enhance the accuracy of its responses.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""Seed for the model."", ""defaultValue"": null}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1.0, ""minValue"": 0.0, ""description"": ""Top P for the model."", ""defaultValue"": 1.0}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Tokens"", ""maxValue"": 4096, ""minValue"": 1, ""description"": ""Max Tokens for the model."", ""defaultValue"": 4096}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2.0, ""minValue"": 0.0, ""description"": ""Temperature for the model."", ""defaultValue"": 0.7}, ""stop_sequences"": {""key"": ""stop_sequences"", ""type"": ""STRING_ARRAY"", ""label"": ""Stop Sequences"", ""maxValue"": null, ""minValue"": null, ""description"": ""Stop Sequences for the model."", ""defaultValue"": null}}",0,DeepSeek Reasoner,deepseek-reasoner,"{""seed"": null, ""top_p"": 1.0, ""max_tokens"": 4096, ""temperature"": 0.7, ""stop_sequences"": []}",DEEPSEEK,SYSTEM,2025-10-21 06:19:19,https://api.deepseek.com/v1/,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2024-01-01 00:00:00 model_f9be2939-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:20:01,"General Availability release of Gemini 2.5 Flash Lite. A lightweight, fast model for efficient processing with well-rounded capabilities. Features thinking capabilities and supports text, code, images, audio, and video inputs.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 2.5 Flash Lite,gemini-2.5-flash-lite,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:20:01,https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2025-06-17 00:00:00 +model_e0895001-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Gemini 3.8 Flash release. Fast, high-intelligence multimodal model.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 3.8 Flash,gemini-3.8-flash,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2026-06-01 00:00:00 +model_e0895002-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,Gemini 3.7 Flash release.,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 3.7 Flash,gemini-3.7-flash,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2026-06-01 00:00:00 +model_e0895003-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,Gemini 3.5 Flash release.,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 3.5 Flash,gemini-3.5-flash,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2026-06-01 00:00:00 +model_e0895004-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,"Gemini 3.5 Flash Lite release. Lightweight, low-latency model.","{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 3.5 Flash Lite,gemini-3.5-flash-lite,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash-lite:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2026-06-01 00:00:00 +model_e0895005-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,Gemini 3.1 Pro Preview release. High-capability reasoning model.,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini 3.1 Pro Preview,gemini-3.1-pro-preview,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-pro-preview:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2026-06-01 00:00:00 +model_e0895006-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,Latest release of Gemini Flash-Lite.,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemini Flash-Lite Latest,gemini-flash-lite-latest,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2026-06-01 00:00:00 +model_e0895007-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,Gemma 4 31B instruction-tuned open model.,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemma 4 31B IT,gemma-4-31b-it,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemma-4-31b-it:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2026-06-01 00:00:00 +model_e0895008-ae45-11f0-93fc-0242ac110002,,2025-10-21 06:19:18,Gemma 4 26B A4B instruction-tuned Mixture-of-Experts open model.,"{""seed"": {""key"": ""seed"", ""type"": ""INTEGER"", ""label"": ""Seed"", ""maxValue"": 2147483647, ""minValue"": -2147483648, ""description"": ""The seed for the model."", ""defaultValue"": null}, ""top_k"": {""key"": ""top_k"", ""type"": ""INTEGER"", ""label"": ""Top K"", ""maxValue"": 100, ""minValue"": 1, ""description"": ""The top K for the model."", ""defaultValue"": 1}, ""top_p"": {""key"": ""top_p"", ""type"": ""DOUBLE"", ""label"": ""Top P"", ""maxValue"": 1, ""minValue"": 0, ""description"": ""The top P for the model."", ""defaultValue"": 0.95}, ""log_probs"": {""key"": ""log_probs"", ""type"": ""INTEGER"", ""label"": ""Log Probs"", ""maxValue"": 5, ""minValue"": 1, ""description"": ""This sets the number of top logprobs to return at each decoding step."", ""defaultValue"": null}, ""max_tokens"": {""key"": ""max_tokens"", ""type"": ""INTEGER"", ""label"": ""Max Output Tokens"", ""maxValue"": 65535, ""minValue"": 1, ""description"": ""The max output tokens for the model."", ""defaultValue"": 65535}, ""temperature"": {""key"": ""temperature"", ""type"": ""DOUBLE"", ""label"": ""Temperature"", ""maxValue"": 2, ""minValue"": 0, ""description"": ""The temperature for the model."", ""defaultValue"": 1}, ""presence_penalty"": {""key"": ""presence_penalty"", ""type"": ""DOUBLE"", ""label"": ""Presence Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The presence penalty for the model."", ""defaultValue"": 0}, ""frequency_penalty"": {""key"": ""frequency_penalty"", ""type"": ""DOUBLE"", ""label"": ""Frequency Penalty"", ""maxValue"": null, ""minValue"": null, ""description"": ""The frequency penalty for the model."", ""defaultValue"": 0}, ""response_log_probs"": {""key"": ""response_log_probs"", ""type"": ""BOOLEAN"", ""label"": ""Response Log Probs"", ""maxValue"": null, ""minValue"": null, ""description"": ""Optional. If true, export the logprobs results in response."", ""defaultValue"": null}}",0,Gemma 4 26B A4B IT,gemma-4-26b-a4b-it,"{""top_p"": 0.95, ""max_tokens"": 8192, ""temperature"": 1.0}",GOOGLE,SYSTEM,2025-10-21 06:19:18,https://generativelanguage.googleapis.com/v1beta/models/gemma-4-26b-a4b-it:generateContent,,user-e040fe2f-ae45-11f0-93fc-0242ac110002,2026-06-01 00:00:00