File tree 1 file changed +6
-2
lines changed
api/core/model_runtime/model_providers/__base/tokenizers
1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change 1
1
from os .path import abspath , dirname , join
2
2
from threading import Lock
3
- from typing import Any
3
+ from typing import Any , cast
4
4
5
+ import gevent .threadpool # type: ignore
5
6
from transformers import GPT2Tokenizer as TransformerGPT2Tokenizer # type: ignore
6
7
7
8
_tokenizer : Any = None
8
9
_lock = Lock ()
10
+ _pool = gevent .threadpool .ThreadPool (1 )
9
11
10
12
11
13
class GPT2Tokenizer :
@@ -20,7 +22,9 @@ def _get_num_tokens_by_gpt2(text: str) -> int:
20
22
21
23
@staticmethod
22
24
def get_num_tokens (text : str ) -> int :
23
- return GPT2Tokenizer ._get_num_tokens_by_gpt2 (text )
25
+ future = _pool .spawn (GPT2Tokenizer ._get_num_tokens_by_gpt2 , text )
26
+ result = future .get (block = True )
27
+ return cast (int , result )
24
28
25
29
@staticmethod
26
30
def get_encoder () -> Any :
You can’t perform that action at this time.
0 commit comments