Integration of sentence-transformer local text embedding

This commit is contained in:
liyaxing
2023-09-25 17:26:06 +08:00
committed by tsukasa
parent fe4d079d7a
commit 22ef7f0f18
3 changed files with 29 additions and 11 deletions
+12 -3
View File
@@ -17,17 +17,26 @@ class LocalSentenceTransformer_ComputeNode(Queue_ComputeNode):
def __init__(self, model_name: str = "all-MiniLM-L6-v2"): def __init__(self, model_name: str = "all-MiniLM-L6-v2"):
super().__init__() super().__init__()
logger.info( self.node_id = "local_sentence_transformer_node"
f"LocalSentenceTransformer_ComputeNode init, model_name: {model_name}"
)
self.model_name = model_name self.model_name = model_name
self.model = None
def initial(self) -> bool:
logger.info(
f"LocalSentenceTransformer_ComputeNode init, model_name: {self.model_name}"
)
assert self.model_name is not None
assert self.model is None
try: try:
from sentence_transformers import SentenceTransformer from sentence_transformers import SentenceTransformer
self.model = SentenceTransformer(self.model) self.model = SentenceTransformer(self.model)
except Exception as err: except Exception as err:
logger.error(f"load model {self.model} failed: {err}") logger.error(f"load model {self.model} failed: {err}")
return False
return True
async def execute_task( async def execute_task(
self, task: ComputeTask self, task: ComputeTask
+9
View File
@@ -137,6 +137,7 @@ class AIOS_Shell:
return False return False
ComputeKernel.get_instance().add_compute_node(open_ai_node) ComputeKernel.get_instance().add_compute_node(open_ai_node)
if await AIStorage.get_instance().is_feature_enable("llama"): if await AIStorage.get_instance().is_feature_enable("llama"):
llama_ai_node = LocalLlama_ComputeNode() llama_ai_node = LocalLlama_ComputeNode()
if await llama_ai_node.initial() is True: if await llama_ai_node.initial() is True:
@@ -168,6 +169,14 @@ class AIOS_Shell:
await AIStorage.get_instance.set_feature_init_result("aigc",False) await AIStorage.get_instance.set_feature_init_result("aigc",False)
local_st_compute_node = LocalSentenceTransformer_ComputeNode()
if local_st_compute_node.initial() is not True:
logger.error("local sentence transformer node initial failed!")
else:
ComputeKernel.get_instance().add_compute_node(local_st_compute_node)
await ComputeKernel.get_instance().start() await ComputeKernel.get_instance().start()
AIBus().get_default_bus().register_unhandle_message_handler(self._handle_no_target_msg) AIBus().get_default_bus().register_unhandle_message_handler(self._handle_no_target_msg)