42 lines
984 B
Python
42 lines
984 B
Python
|
|
from abc import ABC, abstractmethod
|
||
|
|
from typing import Optional, List
|
||
|
|
import traceback
|
||
|
|
from collections import deque
|
||
|
|
from queue import Queue
|
||
|
|
from threading import Thread
|
||
|
|
|
||
|
|
import torch
|
||
|
|
import transformers
|
||
|
|
from models.loader import LoaderCheckPoint
|
||
|
|
|
||
|
|
|
||
|
|
class AnswerResult:
|
||
|
|
"""
|
||
|
|
消息实体
|
||
|
|
"""
|
||
|
|
history: List[List[str]] = []
|
||
|
|
llm_output: Optional[dict] = None
|
||
|
|
|
||
|
|
|
||
|
|
class BaseAnswer(ABC):
|
||
|
|
"""上层业务包装器.用于结果生成统一api调用"""
|
||
|
|
|
||
|
|
@property
|
||
|
|
@abstractmethod
|
||
|
|
def _check_point(self) -> LoaderCheckPoint:
|
||
|
|
"""Return _check_point of llm."""
|
||
|
|
|
||
|
|
@property
|
||
|
|
@abstractmethod
|
||
|
|
def _history_len(self) -> int:
|
||
|
|
"""Return _history_len of llm."""
|
||
|
|
|
||
|
|
@abstractmethod
|
||
|
|
def set_history_len(self, history_len: int) -> None:
|
||
|
|
"""Return _history_len of llm."""
|
||
|
|
|
||
|
|
def generatorAnswer(self, prompt: str,
|
||
|
|
history: List[List[str]] = [],
|
||
|
|
streaming: bool = False):
|
||
|
|
pass
|