symmetry-core
Version:
Use this repository to become an inference provider on the Symmetry network programmatically.
33 lines (32 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OpenWebUIProvider = void 0;
const logger_1 = require("../logger");
const base_1 = require("./base");
class OpenWebUIProvider extends base_1.BaseProvider {
constructor() {
super(...arguments);
this.serverConfig = {
...this.serverConfig,
name: "openwebui",
apiPort: 8080,
apiHealthPath: "/api/models",
apiModelsPath: "/api/models",
};
}
async setup() {
const server = await this.detectServer();
if (!server) {
logger_1.logger.error("❌ OpenWebUI server not detected");
return;
}
logger_1.logger.info(`✅ Detected OpenWebUI on port ${server.apiPort}`);
const models = await this.getModels();
if (models.length > 0) {
server.modelName = await this.selectModel(models);
logger_1.logger.info(`Selected model: ${server.modelName}`);
}
await this.createConfig(server);
}
}
exports.OpenWebUIProvider = OpenWebUIProvider;