mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-16 09:36:17 +08:00
feat(server): use native tokenizer impl (#6960)
### Benchmark `yarn workspace @affine/server-native bench` ``` ┌─────────┬────────────┬─────────┬────────────────────┬──────────┬─────────┐ │ (index) │ Task Name │ ops/sec │ Average Time (ns) │ Margin │ Samples │ ├─────────┼────────────┼─────────┼────────────────────┼──────────┼─────────┤ │ 0 │ 'tiktoken' │ '5' │ 176932518.76000002 │ '±4.71%' │ 100 │ │ 1 │ 'native' │ '16' │ 61041597.51000003 │ '±0.60%' │ 100 │ └─────────┴────────────┴─────────┴────────────────────┴──────────┴─────────┘ ```
This commit is contained in:
@@ -164,7 +164,6 @@ export class ChatSession implements AsyncDisposable {
|
||||
}
|
||||
|
||||
async [Symbol.asyncDispose]() {
|
||||
this.state.prompt.free();
|
||||
await this.save?.();
|
||||
}
|
||||
}
|
||||
@@ -323,7 +322,7 @@ export class ChatSessionService {
|
||||
): number {
|
||||
const encoder = getTokenEncoder(model);
|
||||
return messages
|
||||
.map(m => encoder?.encode_ordinary(m.content).length || 0)
|
||||
.map(m => encoder?.count(m.content) ?? 0)
|
||||
.reduce((total, length) => total + length, 0);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user