UNPKG

hugbot

Version:

Chatbot maker for HuggingFace Inference API and other AI API providers and backends.

145 lines 8.25 kB
"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