Spaces:
Paused
Paused
| 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'); | |
| const requireJwtAuth = require('../../middleware/requireJwtAuth'); | |
| router.post('/', requireJwtAuth, 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; | |