mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-09-22 08:12:00 +02:00

fix(tokenizer.js): add try-catch block and error handling style(SetTokenDialog/index.jsx): fix typo in sentence refactor(data-service.ts): change argument format to match server API
26 lines
879 B
JavaScript
26 lines
879 B
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const { Tiktoken } = require('@dqbd/tiktoken/lite');
|
|
const { load } = require('@dqbd/tiktoken/load');
|
|
const registry = require('@dqbd/tiktoken/registry.json');
|
|
const models = require('@dqbd/tiktoken/model_to_encoding.json');
|
|
|
|
router.post('/', async (req, res) => {
|
|
try {
|
|
const { arg } = req.body;
|
|
|
|
console.log('context:', arg, req.body);
|
|
|
|
// console.log(typeof req.body === 'object' ? { ...req.body, ...req.query } : req.query);
|
|
const model = await load(registry[models['gpt-3.5-turbo']]);
|
|
const encoder = new Tiktoken(model.bpe_ranks, model.special_tokens, model.pat_str);
|
|
const tokens = encoder.encode(arg.text);
|
|
encoder.free();
|
|
res.send({ count: tokens.length });
|
|
} catch (e) {
|
|
console.error(e);
|
|
res.status(500).send(e.message);
|
|
}
|
|
});
|
|
|
|
module.exports = router;
|