mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-18 01:10:14 +01:00
refactor: add back getTokenCountForResponse for slightly more accurate mapping of responses token counts (#1067)
This commit is contained in:
parent
6d8aed7ef8
commit
377f2c7c19
3 changed files with 26 additions and 6 deletions
|
|
@ -40,6 +40,12 @@ class BaseClient {
|
|||
throw new Error('Subclasses attempted to call summarizeMessages without implementing it');
|
||||
}
|
||||
|
||||
async getTokenCountForResponse(response) {
|
||||
if (this.options.debug) {
|
||||
console.debug('`recordTokenUsage` not implemented.', response);
|
||||
}
|
||||
}
|
||||
|
||||
async recordTokenUsage({ promptTokens, completionTokens }) {
|
||||
if (this.options.debug) {
|
||||
console.debug('`recordTokenUsage` not implemented.', { promptTokens, completionTokens });
|
||||
|
|
@ -455,11 +461,16 @@ class BaseClient {
|
|||
promptTokens,
|
||||
};
|
||||
|
||||
if (tokenCountMap && this.getTokenCount) {
|
||||
responseMessage.tokenCount = this.getTokenCount(completion);
|
||||
responseMessage.completionTokens = responseMessage.tokenCount;
|
||||
if (
|
||||
tokenCountMap &&
|
||||
this.recordTokenUsage &&
|
||||
this.getTokenCountForResponse &&
|
||||
this.getTokenCount
|
||||
) {
|
||||
responseMessage.tokenCount = this.getTokenCountForResponse(responseMessage);
|
||||
const completionTokens = this.getTokenCount(completion);
|
||||
await this.recordTokenUsage({ promptTokens, completionTokens });
|
||||
}
|
||||
await this.recordTokenUsage(responseMessage);
|
||||
await this.saveMessageToDatabase(responseMessage, saveOptions, user);
|
||||
delete responseMessage.tokenCount;
|
||||
return responseMessage;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue