from transformers import AutoTokenizer, AutoModelForCausalLM import torch from collections import defaultdict import gradio as gr from optimum.onnxruntime import ORTModelForCausalLM import itertools import regex as re import logging user_token = "" eos_token = "" bos_token = "" bot_token = "" logger = logging.getLogger() handler = logging.StreamHandler() formatter = logging.Formatter( '%(asctime)s %(name)-12s %(levelname)-8s %(message)s') handler.setFormatter(formatter) logger.addHandler(handler) logger.setLevel(logging.INFO) max_context_length = 750 def format(history): prompt = bos_token for idx, txt in enumerate(history): if idx % 2 == 0: prompt += f"{user_token}{txt}{eos_token}" else: prompt += f"{bot_token}{txt}" prompt += bot_token return prompt def remove_spaces_between_chinese(text): rex = r"(?