Files
openclaw/extensions/huggingface/provider-catalog.ts
2026-03-27 23:47:04 +00:00

30 lines
817 B
TypeScript

import type { ModelProviderConfig } from "openclaw/plugin-sdk/provider-model-shared";
import {
buildHuggingfaceModelDefinition,
discoverHuggingfaceModels,
HUGGINGFACE_BASE_URL,
HUGGINGFACE_MODEL_CATALOG,
} from "./models.js";
export {
buildHuggingfaceModelDefinition,
discoverHuggingfaceModels,
HUGGINGFACE_BASE_URL,
HUGGINGFACE_MODEL_CATALOG,
} from "./models.js";
export async function buildHuggingfaceProvider(
discoveryApiKey?: string,
): Promise<ModelProviderConfig> {
const resolvedSecret = discoveryApiKey?.trim() ?? "";
const models =
resolvedSecret !== ""
? await discoverHuggingfaceModels(resolvedSecret)
: HUGGINGFACE_MODEL_CATALOG.map(buildHuggingfaceModelDefinition);
return {
baseUrl: HUGGINGFACE_BASE_URL,
api: "openai-completions",
models,
};
}