Merge branch 'MVP' into MVP

This commit is contained in:
Liu Zhicong
2023-09-18 00:37:41 -07:00
committed by GitHub
48 changed files with 3596 additions and 615 deletions
+34 -20
View File
@@ -3,6 +3,7 @@ from enum import Enum
import uuid
import time
class ComputeTaskState(Enum):
DONE = 0
INIT = 1
@@ -10,33 +11,47 @@ class ComputeTaskState(Enum):
ERROR = 3
PENDING = 4
class ComputeTaskType(Enum):
NONE = -1
LLM_COMPLETION = 0
TEXT_2_IMAGE = 1
IMAGE_2_IMAGE = 2
VOICE_2_TEXT = 3
TEXT_2_VOICE = 4
class ComputeTask:
def __init__(self) -> None:
self.task_type = "llm_completion"
self.task_type = ComputeTaskType.NONE
self.create_time = None
self.task_id:str = None
self.callchain_id:str = None
self.params:dict = {}
self.refers:dict = None
self.pading_data:bytearray = None
self.task_id: str = None
self.callchain_id: str = None
self.params: dict = {}
self.refers: dict = None
self.pading_data: bytearray = None
self.state = ComputeTaskState.INIT
self.result = None
self.error_str = None
def set_llm_params(self,prompts,model_name,max_token_size,callchain_id = None):
self.task_type = "llm_completion"
def set_llm_params(self, prompts, model_name, max_token_size, inner_functions = None, callchain_id=None):
self.task_type = ComputeTaskType.LLM_COMPLETION
self.create_time = time.time()
self.task_id = uuid.uuid4().hex
self.callchain_id = callchain_id
self.params["prompts"] = prompts.messages
if model_name is not None:
self.params["model_name"] = model_name
else:
else:
self.params["model_name"] = "gpt-4-0613"
self.params["max_token_size"] = max_token_size
if max_token_size is None:
self.params["max_token_size"] = 4000
else:
self.params["max_token_size"] = max_token_size
if inner_functions is not None:
self.params["inner_functions"] = inner_functions
def set_text_embedding_params(self, input, model_name=None, callchain_id = None):
self.task_type = "text_embedding"
@@ -56,16 +71,15 @@ class ComputeTask:
class ComputeTaskResult:
def __init__(self) -> None:
self.create_time = None
self.task_id:str = None
self.callchain_id:str = None
self.worker_id:str = None
self.result_code:int = 0
self.result_str:str = None
self.task_id: str = None
self.callchain_id: str = None
self.worker_id: str = None
self.result_code: int = 0
self.result_str: str = None # easy to use,can read from result
self.result_message: dict = {}
self.result_refers: dict = None
self.pading_data: bytearray = None
self.result:dict = {}
self.result_refers:dict = None
self.pading_data:bytearray = None
def set_from_task(self,task:ComputeTask):
def set_from_task(self, task: ComputeTask):
self.task_id = task.task_id
self.callchain_id = task.callchain_id