mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 07:50:43 +00:00
* feat(providers): add DeepInfra provider plugin * feat(deepinfra): add media provider surfaces * fix(deepinfra): satisfy provider boundary checks * docs: add gitcrawl maintainer skill * test: include deepinfra in live media sweeps * fix: remove stale tts contract import
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import {
|
|
createRemoteEmbeddingProvider,
|
|
resolveRemoteEmbeddingClient,
|
|
type MemoryEmbeddingProviderCreateOptions,
|
|
type MemoryEmbeddingProviderCreateResult,
|
|
} from "openclaw/plugin-sdk/memory-core-host-engine-embeddings";
|
|
import {
|
|
DEEPINFRA_BASE_URL,
|
|
DEFAULT_DEEPINFRA_EMBEDDING_MODEL,
|
|
normalizeDeepInfraModelRef,
|
|
} from "./media-models.js";
|
|
|
|
export { DEFAULT_DEEPINFRA_EMBEDDING_MODEL };
|
|
|
|
export async function createDeepInfraEmbeddingProvider(
|
|
options: MemoryEmbeddingProviderCreateOptions,
|
|
): Promise<MemoryEmbeddingProviderCreateResult & { client: { model: string } }> {
|
|
const client = await resolveRemoteEmbeddingClient({
|
|
provider: "deepinfra",
|
|
options: {
|
|
...options,
|
|
model: normalizeDeepInfraModelRef(options.model, DEFAULT_DEEPINFRA_EMBEDDING_MODEL),
|
|
},
|
|
defaultBaseUrl: DEEPINFRA_BASE_URL,
|
|
normalizeModel: (model) => normalizeDeepInfraModelRef(model, DEFAULT_DEEPINFRA_EMBEDDING_MODEL),
|
|
});
|
|
const provider = createRemoteEmbeddingProvider({
|
|
id: "deepinfra",
|
|
client,
|
|
errorPrefix: "DeepInfra embeddings API error",
|
|
});
|
|
return { provider, client };
|
|
}
|