UNPKG

@lewist9x/distil

Version:

An opinionated library for managing LLM pipelines. Define, track, rate, and curate prompt–completion pairs for fine-tuning.

86 lines (85 loc) • 3.39 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.DistilPipeline = void 0; // src/index.ts var pipeline_1 = require("./pipeline"); Object.defineProperty(exports, "DistilPipeline", { enumerable: true, get: function () { return pipeline_1.DistilPipeline; } }); const express_1 = __importDefault(require("express")); const express_handlebars_1 = require("express-handlebars"); const path = __importStar(require("path")); const dashboard_1 = __importDefault(require("./api/dashboard")); const config_1 = require("./config"); const app = (0, express_1.default)(); // Configure handlebars app.engine('html', (0, express_handlebars_1.engine)({ extname: '.html', defaultLayout: 'main', layoutsDir: path.join(__dirname, 'public/templates/layouts'), partialsDir: path.join(__dirname, 'public/templates/partials'), helpers: { truncate: (str, len) => str.substring(0, len), formatDate: (date) => new Date(date).toLocaleString(), json: (obj) => JSON.stringify(obj, null, 2), times: function (n, block) { let accum = ''; for (let i = 1; i <= n; ++i) accum += block.fn(i); return accum; }, lte: (a, b) => a <= b } })); // Change the views path to point to the source templates directory app.set('view engine', 'html'); app.set('views', path.join(__dirname, 'public/templates')); // Middleware app.use(express_1.default.json()); app.use(express_1.default.static(path.join(__dirname, 'public'))); // Routes app.get('/', (_req, res) => { res.render('index'); }); // Add finetune page route app.get('/finetune', (_req, res) => { res.render('layouts/finetune'); }); // API routes app.use("/dashboard", dashboard_1.default); // app.use("/api/finetune", finetuneRouter); // Start the dashboard server const port = config_1.config.dashboard.port; // disable with RUN_DASHBOARD false if (process.env.RUN_DASHBOARD !== "false") { console.log("Starting dashboard server..."); app.listen(port, () => { console.log(`Dashboard server is running on port ${port}`); console.log(`View the dashboard at http://localhost:${port}`); }); } exports.default = app;