UNPKG

@langchain/community

Version:
77 lines (76 loc) 2.88 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const require_runtime = require("../_virtual/_rolldown/runtime.cjs"); let _langchain_core_utils_env = require("@langchain/core/utils/env"); let _langchain_openai = require("@langchain/openai"); //#region src/llms/fireworks.ts var fireworks_exports = /* @__PURE__ */ require_runtime.__exportAll({ Fireworks: () => Fireworks }); /** * Wrapper around Fireworks API for large language models * * Fireworks API is compatible to the OpenAI API with some limitations described in * https://readme.fireworks.ai/docs/openai-compatibility. * * To use, you should have the `openai` package installed and * the `FIREWORKS_API_KEY` environment variable set. */ var Fireworks = class extends _langchain_openai.OpenAI { static lc_name() { return "Fireworks"; } _llmType() { return "fireworks"; } get lc_secrets() { return { fireworksApiKey: "FIREWORKS_API_KEY" }; } lc_serializable = true; fireworksApiKey; constructor(fields) { const fireworksApiKey = fields?.fireworksApiKey || (0, _langchain_core_utils_env.getEnvironmentVariable)("FIREWORKS_API_KEY"); if (!fireworksApiKey) throw new Error(`Fireworks API key not found. Please set the FIREWORKS_API_KEY environment variable or provide the key into "fireworksApiKey"`); super({ ...fields, openAIApiKey: fireworksApiKey, modelName: fields?.modelName || "accounts/fireworks/models/llama-v2-13b", configuration: { baseURL: "https://api.fireworks.ai/inference/v1" } }); this.fireworksApiKey = fireworksApiKey; } toJSON() { const result = super.toJSON(); if ("kwargs" in result && typeof result.kwargs === "object" && result.kwargs != null) { delete result.kwargs.openai_api_key; delete result.kwargs.configuration; } return result; } /** * Calls the Fireworks API with retry logic in case of failures. * @param request The request to send to the Fireworks API. * @param options Optional configuration for the API call. * @returns The response from the Fireworks API. */ async completionWithRetry(request, options) { if (Array.isArray(request.prompt)) { if (request.prompt.length > 1) throw new Error("Multiple prompts are not supported by Fireworks"); const prompt = request.prompt[0]; if (typeof prompt !== "string") throw new Error("Only string prompts are supported by Fireworks"); request.prompt = prompt; } delete request.frequency_penalty; delete request.presence_penalty; delete request.best_of; delete request.logit_bias; if (request.stream === true) return super.completionWithRetry(request, options); return super.completionWithRetry(request, options); } }; //#endregion exports.Fireworks = Fireworks; Object.defineProperty(exports, "fireworks_exports", { enumerable: true, get: function() { return fireworks_exports; } }); //# sourceMappingURL=fireworks.cjs.map