From af2800eb2d95dca0b0b57a50ebd6ed79eed56042 Mon Sep 17 00:00:00 2001 From: sijinhui Date: Fri, 5 Jan 2024 13:19:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96token=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/logs/[...path]/route.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/api/logs/[...path]/route.ts b/app/api/logs/[...path]/route.ts index 16a6a1b55..6a1f266ec 100644 --- a/app/api/logs/[...path]/route.ts +++ b/app/api/logs/[...path]/route.ts @@ -10,6 +10,7 @@ import { addHours, subMinutes } from "date-fns"; function getTokenLength(input: string): number { const encoding = get_encoding("cl100k_base"); + // console.log('tokens: ', input, encoding.countTokens()) return encoding.encode(input).length; } @@ -25,10 +26,15 @@ async function handle( // console.log("===========4", request_data); try { if (request_data?.logEntry) { - const regex = /\[(.*)]/g; - const matchResponse = request_data.logEntry.match(regex); - if (matchResponse.length > 0) { - request_data.logToken = getTokenLength(matchResponse[0]); + // const regex = /\[(.*)]/g; + // const matchResponse = request_data.logEntry.match(regex); + const regex_message = /(?<="content":")(.*?)(?="}[,\]])/g; + const matchAllMessage = request_data.logEntry.match(regex_message); + console.log(matchAllMessage, "====="); + if (matchAllMessage.length > 0) { + request_data.logToken = + getTokenLength(matchAllMessage.join(" ")) + + matchAllMessage.length * 3; } } } catch (e) {