UNPKG

@ai-toolkit/cerebras

Version:

The **Cerebras provider** for the [AI TOOLKIT](https://sdk.khulnasoft.com/docs) contains language model support for [Cerebras](https://cerebras.ai), offering high-speed AI model inference powered by Cerebras Wafer-Scale Engines and CS-3 systems.

80 lines (78 loc) 2.89 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.ts var src_exports = {}; __export(src_exports, { cerebras: () => cerebras, createCerebras: () => createCerebras }); module.exports = __toCommonJS(src_exports); // src/cerebras-provider.ts var import_openai_compatible = require("@ai-toolkit/openai-compatible"); var import_provider = require("@ai-toolkit/provider"); var import_provider_utils = require("@ai-toolkit/provider-utils"); var import_zod = require("zod"); var cerebrasErrorSchema = import_zod.z.object({ message: import_zod.z.string(), type: import_zod.z.string(), param: import_zod.z.string(), code: import_zod.z.string() }); var cerebrasErrorStructure = { errorSchema: cerebrasErrorSchema, errorToMessage: (data) => data.message }; function createCerebras(options = {}) { var _a; const baseURL = (0, import_provider_utils.withoutTrailingSlash)( (_a = options.baseURL) != null ? _a : "https://api.cerebras.ai/v1" ); const getHeaders = () => ({ Authorization: `Bearer ${(0, import_provider_utils.loadApiKey)({ apiKey: options.apiKey, environmentVariableName: "CEREBRAS_API_KEY", description: "Cerebras API key" })}`, ...options.headers }); const createLanguageModel = (modelId, settings = {}) => { return new import_openai_compatible.OpenAICompatibleChatLanguageModel(modelId, settings, { provider: `cerebras.chat`, url: ({ path }) => `${baseURL}${path}`, headers: getHeaders, fetch: options.fetch, defaultObjectGenerationMode: "tool", errorStructure: cerebrasErrorStructure }); }; const provider = (modelId, settings) => createLanguageModel(modelId, settings); provider.languageModel = createLanguageModel; provider.chat = createLanguageModel; provider.textEmbeddingModel = (modelId) => { throw new import_provider.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" }); }; return provider; } var cerebras = createCerebras(); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { cerebras, createCerebras }); //# sourceMappingURL=index.js.map