feat: added anthropic dynamic models (#1374)

This commit is contained in:
Anirban Kar
2025-02-26 22:04:46 +05:30
committed by GitHub
parent 5d1816be9d
commit dc20bbc81f
4 changed files with 39 additions and 159 deletions

View File

@@ -35,6 +35,44 @@ export default class AnthropicProvider extends BaseProvider {
{ name: 'claude-3-sonnet-20240229', label: 'Claude 3 Sonnet', provider: 'Anthropic', maxTokenAllowed: 8000 },
{ name: 'claude-3-haiku-20240307', label: 'Claude 3 Haiku', provider: 'Anthropic', maxTokenAllowed: 8000 },
];
async getDynamicModels(
apiKeys?: Record<string, string>,
settings?: IProviderSetting,
serverEnv?: Record<string, string>,
): Promise<ModelInfo[]> {
const { apiKey } = this.getProviderBaseUrlAndKey({
apiKeys,
providerSettings: settings,
serverEnv: serverEnv as any,
defaultBaseUrlKey: '',
defaultApiTokenKey: 'OPENAI_API_KEY',
});
if (!apiKey) {
throw `Missing Api Key configuration for ${this.name} provider`;
}
const response = await fetch(`https://api.anthropic.com/v1/models`, {
headers: {
'x-api-key': `${apiKey}`,
'anthropic-version': '2023-06-01',
},
});
const res = (await response.json()) as any;
const staticModelIds = this.staticModels.map((m) => m.name);
const data = res.data.filter((model: any) => model.type === 'model' && !staticModelIds.includes(model.id));
return data.map((m: any) => ({
name: m.id,
label: `${m.display_name}`,
provider: this.name,
maxTokenAllowed: 32000,
}));
}
getModelInstance: (options: {
model: string;
serverEnv: Env;

View File

@@ -235,7 +235,7 @@ const getInitialTabConfiguration = (): TabWindowConfig => {
}
};
console.log('Initial tab configuration:', getInitialTabConfiguration());
// console.log('Initial tab configuration:', getInitialTabConfiguration());
export const tabConfigurationStore = map<TabWindowConfig>(getInitialTabConfiguration());