2025-04-17 10:01:33 +00:00
|
|
|
|
# coding=utf-8
|
|
|
|
|
|
"""
|
|
|
|
|
|
@project: maxkb
|
|
|
|
|
|
@Author:虎
|
|
|
|
|
|
@file: tokenizer_manage_config.py
|
|
|
|
|
|
@date:2024/4/28 10:17
|
|
|
|
|
|
@desc:
|
|
|
|
|
|
"""
|
2025-11-07 05:29:17 +00:00
|
|
|
|
|
2025-11-07 06:57:04 +00:00
|
|
|
|
import os
|
2025-11-07 05:29:17 +00:00
|
|
|
|
|
|
|
|
|
|
class MKTokenizer:
|
|
|
|
|
|
def __init__(self, tokenizer):
|
|
|
|
|
|
self.tokenizer = tokenizer
|
|
|
|
|
|
|
|
|
|
|
|
def encode(self, text):
|
|
|
|
|
|
return self.tokenizer.encode(text).ids
|
2025-04-17 10:01:33 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TokenizerManage:
|
|
|
|
|
|
tokenizer = None
|
|
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
|
def get_tokenizer():
|
2025-11-07 05:29:17 +00:00
|
|
|
|
from tokenizers import Tokenizer
|
|
|
|
|
|
# 创建Tokenizer
|
2025-11-07 06:57:04 +00:00
|
|
|
|
model_path = os.path.join("/opt/maxkb-app", "model", "tokenizer", "models--bert-base-cased")
|
|
|
|
|
|
with open(f"{model_path}/refs/main", encoding="utf-8") as f: snapshot = f.read()
|
|
|
|
|
|
TokenizerManage.tokenizer = Tokenizer.from_file(f"{model_path}/snapshots/{snapshot}/tokenizer.json")
|
2025-11-07 05:29:17 +00:00
|
|
|
|
return MKTokenizer(TokenizerManage.tokenizer)
|