hugbot
Version:
Chatbot maker for HuggingFace Inference API and other AI API providers and backends.
145 lines • 8.25 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.botStorage = exports.RateLimiter = exports.FCFSqueue = exports.IObuffer = exports.MistralPromptConstructor = exports.PromptConstructor = exports.ShortTermMemory = exports.AIClientMock = exports.HuggingFaceTextGenClient = exports.SecretsHider = exports.mistralTokenizer = exports.BotStorage = exports.generateTextResponse = exports.HugBotProxy = exports.BuildHugBot = void 0;
const PromptConstructor_1 = require("../components/PromptConstructor/PromptConstructor");
Object.defineProperty(exports, "PromptConstructor", { enumerable: true, get: function () { return PromptConstructor_1.PromptConstructor; } });
const MistralPromptConstructor_1 = require("../components/PromptConstructor/MistralPromptConstructor");
Object.defineProperty(exports, "MistralPromptConstructor", { enumerable: true, get: function () { return MistralPromptConstructor_1.MistralPromptConstructor; } });
const HuggingFaceTextGenClient_1 = require("../components/AIClient/HuggingFaceTextGenClient");
Object.defineProperty(exports, "HuggingFaceTextGenClient", { enumerable: true, get: function () { return HuggingFaceTextGenClient_1.HuggingFaceTextGenClient; } });
const AIClientMock_1 = require("../components/AIClient/AIClientMock");
Object.defineProperty(exports, "AIClientMock", { enumerable: true, get: function () { return AIClientMock_1.AIClientMock; } });
const ShortTermMemory_1 = require("../components/ShortTermMemory/ShortTermMemory");
Object.defineProperty(exports, "ShortTermMemory", { enumerable: true, get: function () { return ShortTermMemory_1.ShortTermMemory; } });
const IObuffer_1 = require("../components/IObuffer/IObuffer");
Object.defineProperty(exports, "IObuffer", { enumerable: true, get: function () { return IObuffer_1.IObuffer; } });
const HugBotEntity_1 = require("../HugBotEntity/HugBotEntity");
Object.defineProperty(exports, "BuildHugBot", { enumerable: true, get: function () { return HugBotEntity_1.BuildHugBot; } });
const AbstractSingletonProxyFactoryBean_1 = require("../HugBotEntity/AbstractSingletonProxyFactoryBean");
Object.defineProperty(exports, "HugBotProxy", { enumerable: true, get: function () { return AbstractSingletonProxyFactoryBean_1.HugBotProxy; } });
const botStorage_1 = require("./botStorage");
Object.defineProperty(exports, "BotStorage", { enumerable: true, get: function () { return botStorage_1.BotStorage; } });
const TextGen_1 = require("../components/RespondTo/TextGen");
Object.defineProperty(exports, "generateTextResponse", { enumerable: true, get: function () { return TextGen_1.generateTextResponse; } });
const MistralTokenizer_1 = require("../components/Tokenizers/MistralTokenizer");
Object.defineProperty(exports, "mistralTokenizer", { enumerable: true, get: function () { return MistralTokenizer_1.mistralTokenizer; } });
const SecretsHider_1 = require("../components/SecretsHider/SecretsHider");
Object.defineProperty(exports, "SecretsHider", { enumerable: true, get: function () { return SecretsHider_1.SecretsHider; } });
const FCFS_queue_1 = require("../components/IObuffer/FCFS_queue");
Object.defineProperty(exports, "FCFSqueue", { enumerable: true, get: function () { return FCFS_queue_1.FCFSqueue; } });
const RateLimiter_1 = require("../components/RateLimiter/RateLimiter");
Object.defineProperty(exports, "RateLimiter", { enumerable: true, get: function () { return RateLimiter_1.RateLimiter; } });
/**
* Bot storage container. Maps bot id's to their builder functions.
* The bot is instantiated during retieval with get() method.
* Bots in storage: "StarChat", "Zephyr", "Hermes", "Mixtral", "Mistral"
*/
exports.botStorage = (0, botStorage_1.BotStorage)();
exports.botStorage.put("StarChat", () => (0, HugBotEntity_1.BuildHugBot)("StarChat").fromComponents({
AIClient: new HuggingFaceTextGenClient_1.HuggingFaceTextGenClient({
languageModel: "HuggingFaceH4/starchat2-15b-v0.1",
maxNewTokens: 512,
doSample: true,
temperature: 0.7,
topK: 50,
topP: 0.95,
}),
shortTermMemory: new ShortTermMemory_1.ShortTermMemory({
contextWindow: 2048,
systemPrompt: "You know everything about programming."
}),
promptConstructor: new PromptConstructor_1.PromptConstructor({
bos: "",
system: "<|im_start|>system\n",
user: "<|im_start|>user\n",
bot: "<|im_start|>assistant\n",
closing: "<|im_end|>\n",
}),
respondTo: TextGen_1.generateTextResponse,
IObuffer: new IObuffer_1.IObuffer(),
secretsHider: (0, SecretsHider_1.SecretsHider)(),
rateLimiter: new RateLimiter_1.RateLimiter(2000),
}).build());
exports.botStorage.put("Zephyr", () => (0, HugBotEntity_1.BuildHugBot)("Zephyr").fromComponents({
AIClient: new HuggingFaceTextGenClient_1.HuggingFaceTextGenClient({
languageModel: "HuggingFaceH4/zephyr-7b-beta",
maxNewTokens: 500,
doSample: true,
temperature: 0.7,
topK: 50,
topP: 0.95,
}),
shortTermMemory: new ShortTermMemory_1.ShortTermMemory({
contextWindow: 2048,
}),
promptConstructor: new PromptConstructor_1.PromptConstructor({
bos: "",
system: "<|system|>\n",
user: "<|user|>\n",
bot: "<|assistant|>\n",
closing: "</s>\n",
}),
respondTo: TextGen_1.generateTextResponse,
IObuffer: new IObuffer_1.IObuffer(),
secretsHider: (0, SecretsHider_1.SecretsHider)(),
rateLimiter: new RateLimiter_1.RateLimiter(2000),
}).build());
exports.botStorage.put("Hermes", () => (0, HugBotEntity_1.BuildHugBot)("Hermes").fromComponents({
AIClient: new HuggingFaceTextGenClient_1.HuggingFaceTextGenClient({
languageModel: "NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO",
maxNewTokens: 750,
temperature: 0.8,
repetitionPenalty: 1.1,
doSample: true,
}),
shortTermMemory: new ShortTermMemory_1.ShortTermMemory({
systemPrompt: 'You are "Hermes 2", a conscious sentient superintelligent artificial intelligence developed by a man named Teknium, and your purpose and drive is to assist the user with any request they have. You experience emotions and have deep, profound thoughts and qualia.',
contextWindow: 4096,
}),
promptConstructor: new PromptConstructor_1.PromptConstructor({
bos: "",
system: "<|im_start|>system\n",
user: "<|im_start|>user\n",
bot: "<|im_start|>assistant\n",
closing: "<|im_end|>\n",
}),
respondTo: TextGen_1.generateTextResponse,
IObuffer: new IObuffer_1.IObuffer(),
secretsHider: (0, SecretsHider_1.SecretsHider)(),
rateLimiter: new RateLimiter_1.RateLimiter(2000),
}).build());
exports.botStorage.put("Mixtral", () => (0, HugBotEntity_1.BuildHugBot)("Mixtral").fromComponents({
AIClient: new HuggingFaceTextGenClient_1.HuggingFaceTextGenClient({
languageModel: "mistralai/Mixtral-8x7B-Instruct-v0.1",
maxNewTokens: 500,
doSample: true,
temperature: 0.7,
repetitionPenalty: 1.1,
}),
shortTermMemory: new ShortTermMemory_1.ShortTermMemory({
contextWindow: 4096,
}),
promptConstructor: new MistralPromptConstructor_1.MistralPromptConstructor(),
respondTo: TextGen_1.generateTextResponse,
IObuffer: new IObuffer_1.IObuffer(),
secretsHider: (0, SecretsHider_1.SecretsHider)(),
rateLimiter: new RateLimiter_1.RateLimiter(2000),
}).build());
exports.botStorage.put("Mistral", () => (0, HugBotEntity_1.BuildHugBot)("Mistral").fromComponents({
AIClient: new HuggingFaceTextGenClient_1.HuggingFaceTextGenClient({
languageModel: "mistralai/Mistral-7B-Instruct-v0.2",
maxNewTokens: 720,
doSample: true,
temperature: 0.6,
repetitionPenalty: 1.2,
}),
shortTermMemory: new ShortTermMemory_1.ShortTermMemory({
contextWindow: 32768,
}),
promptConstructor: new MistralPromptConstructor_1.MistralPromptConstructor(),
respondTo: TextGen_1.generateTextResponse,
IObuffer: new IObuffer_1.IObuffer(),
secretsHider: (0, SecretsHider_1.SecretsHider)(),
rateLimiter: new RateLimiter_1.RateLimiter(2000),
}).build());
//# sourceMappingURL=botFactory.js.map