Deduplicate model names (#1950)

This commit is contained in:
pablodanswer 2024-07-26 16:30:49 -07:00 committed by GitHub
parent e325e063ed
commit 5c78af1f07
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -49,23 +49,36 @@ export const LlmTab = forwardRef<HTMLDivElement, LlmTabProps>(
null
);
const llmOptions: { name: string; value: string }[] = [];
const llmOptionsByProvider: {
[provider: string]: { name: string; value: string }[];
} = {};
const uniqueModelNames = new Set<string>();
llmProviders.forEach((llmProvider) => {
if (!llmOptionsByProvider[llmProvider.provider]) {
llmOptionsByProvider[llmProvider.provider] = [];
}
(llmProvider.display_model_names || llmProvider.model_names).forEach(
(modelName) => {
llmOptions.push({
name: modelName,
value: structureValue(
llmProvider.name,
llmProvider.provider,
modelName
),
});
if (!uniqueModelNames.has(modelName)) {
uniqueModelNames.add(modelName);
llmOptionsByProvider[llmProvider.provider].push({
name: modelName,
value: structureValue(
llmProvider.name,
llmProvider.provider,
modelName
),
});
}
}
);
});
const llmOptions = Object.entries(llmOptionsByProvider).flatMap(
([provider, options]) => [...options]
);
return (
<div className="w-full">
<div className="flex w-full content-center gap-x-2">