aiwrapper
Version:
A Universal AI Wrapper for JavaScript & TypeScript
48 lines (47 loc) • 1.74 kB
JavaScript
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