UNPKG

aiwrapper

Version:

A Universal AI Wrapper for JavaScript & TypeScript

48 lines (47 loc) 1.74 kB
var __defProp = Object.defineProperty; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); import { OpenAIChatCompletionsLang } from "../openai/openai-chat-completions-lang.js"; class GroqLang extends OpenAIChatCompletionsLang { constructor(options) { const modelName = options.model || "llama3-70b-8192"; super({ apiKey: options.apiKey, model: modelName, systemPrompt: options.systemPrompt || "", baseURL: "https://api.groq.com/openai/v1", bodyProperties: options.bodyProperties || {}, maxTokens: options.maxTokens, reasoningEffort: options.reasoningEffort, defaultOptions: options.defaultOptions }); __publicField(this, "includeReasoning"); this.includeReasoning = options.includeReasoning; } transformBody(body) { const transformedBody = super.transformBody(body); if (this.isGPTOSSModel() && typeof transformedBody.model === "string") { const modelId = transformedBody.model; if (!modelId.startsWith("openai/")) { transformedBody.model = `openai/${modelId}`; } } if (this.supportsReasoning() && this.isGPTOSSModel()) { if (this.includeReasoning === false) { transformedBody.include_reasoning = false; } } return transformedBody; } isGPTOSSModel() { if (!this.modelInfo) { return false; } const modelId = this.modelInfo.id.toLowerCase(); return modelId.includes("gpt-oss"); } } export { GroqLang }; //# sourceMappingURL=groq-lang.js.map