diff --git a/api/server/services/Endpoints/agents/initialize.js b/api/server/services/Endpoints/agents/initialize.js index 08f631c3d2..16ff7ffc2f 100644 --- a/api/server/services/Endpoints/agents/initialize.js +++ b/api/server/services/Endpoints/agents/initialize.js @@ -441,6 +441,7 @@ const initializeClient = async ({ req, res, signal, endpointOption }) => { endpointType: endpointOption.endpointType, resendFiles: primaryConfig.resendFiles ?? true, maxContextTokens: primaryConfig.maxContextTokens, + modelLabel: endpointOption.model_parameters?.modelLabel, endpoint: isEphemeralAgentId(primaryConfig.id) ? primaryConfig.endpoint : EModelEndpoint.agents, }); diff --git a/client/src/hooks/Conversations/useGetSender.ts b/client/src/hooks/Conversations/useGetSender.ts index cced4ca4fe..51d03b0db9 100644 --- a/client/src/hooks/Conversations/useGetSender.ts +++ b/client/src/hooks/Conversations/useGetSender.ts @@ -1,15 +1,21 @@ import { useCallback } from 'react'; import { getResponseSender } from 'librechat-data-provider'; import type { TEndpointOption, TEndpointsConfig } from 'librechat-data-provider'; -import { useGetEndpointsQuery } from '~/data-provider'; +import { useGetEndpointsQuery, useGetStartupConfig } from '~/data-provider'; export default function useGetSender() { const { data: endpointsConfig = {} as TEndpointsConfig } = useGetEndpointsQuery(); + const { data: startupConfig } = useGetStartupConfig(); return useCallback( (endpointOption: TEndpointOption) => { const { modelDisplayLabel } = endpointsConfig?.[endpointOption.endpoint ?? ''] ?? {}; - return getResponseSender({ ...endpointOption, modelDisplayLabel }); + let { modelLabel } = endpointOption; + if (!modelLabel && endpointOption.spec) { + const spec = startupConfig?.modelSpecs?.list?.find((s) => s.name === endpointOption.spec); + modelLabel = spec?.preset?.modelLabel ?? spec?.label ?? null; + } + return getResponseSender({ ...endpointOption, modelLabel, modelDisplayLabel }); }, - [endpointsConfig], + [endpointsConfig, startupConfig], ); }