Add sentence-transformer local text embedding supports

This commit is contained in:
liyaxing
2023-09-25 16:22:15 +08:00
committed by tsukasa
parent 1de94a4d06
commit f07976366f
3 changed files with 7 additions and 4 deletions
+1
View File
@@ -25,5 +25,6 @@ from .local_stability_node import Local_Stability_ComputeNode
from .stability_node import Stability_ComputeNode from .stability_node import Stability_ComputeNode
from .local_st_compute_node import LocalSentenceTransformer_Text_ComputeNode,LocalSentenceTransformer_Image_ComputeNode from .local_st_compute_node import LocalSentenceTransformer_Text_ComputeNode,LocalSentenceTransformer_Image_ComputeNode
AIOS_Version = "0.5.1, build 2023-9-27" AIOS_Version = "0.5.1, build 2023-9-27"
+4 -4
View File
@@ -58,7 +58,7 @@ class LocalSentenceTransformer_Text_ComputeNode(Queue_ComputeNode):
logger.debug( logger.debug(
f"LocalSentenceTransformer_Text_ComputeNode task input: {input}" f"LocalSentenceTransformer_Text_ComputeNode task input: {input}"
) )
sentence_embeddings = self.model.encode(input).tolist() sentence_embeddings = self.model.encode(input, show_progress_bar=False).tolist()
# logger.debug(f"LocalSentenceTransformer_Text_ComputeNode task sentence_embeddings: {sentence_embeddings}") # logger.debug(f"LocalSentenceTransformer_Text_ComputeNode task sentence_embeddings: {sentence_embeddings}")
return { return {
"state": ComputeTaskState.DONE, "state": ComputeTaskState.DONE,
@@ -87,7 +87,7 @@ class LocalSentenceTransformer_Text_ComputeNode(Queue_ComputeNode):
pass pass
def is_support(self, task: ComputeTask) -> bool: def is_support(self, task: ComputeTask) -> bool:
return task.task_type == ComputeTaskType.TEXT_EMBEDDING return task.task_type == ComputeTaskType.TEXT_EMBEDDING and task.params["model_name"] == "all-MiniLM-L6-v2"
def is_local(self) -> bool: def is_local(self) -> bool:
return True return True
@@ -187,7 +187,7 @@ class LocalSentenceTransformer_Image_ComputeNode(Queue_ComputeNode):
logger.debug( logger.debug(
f"LocalSentenceTransformer_Text_ComputeNode task text input: {input}" f"LocalSentenceTransformer_Text_ComputeNode task text input: {input}"
) )
sentence_embeddings = self.multi_model.encode(input) sentence_embeddings = self.multi_model.encode(input, show_progress_bar=False).tolist()
# logger.debug(f"LocalSentenceTransformer_Text_ComputeNode task sentence_embeddings: {sentence_embeddings}") # logger.debug(f"LocalSentenceTransformer_Text_ComputeNode task sentence_embeddings: {sentence_embeddings}")
return { return {
"state": ComputeTaskState.DONE, "state": ComputeTaskState.DONE,
@@ -238,7 +238,7 @@ class LocalSentenceTransformer_Image_ComputeNode(Queue_ComputeNode):
def is_support(self, task: ComputeTask) -> bool: def is_support(self, task: ComputeTask) -> bool:
return ( return (
task.task_type == ComputeTaskType.TEXT_EMBEDDING (task.task_type == ComputeTaskType.TEXT_EMBEDDING and task.params["model_name"] == "clip-ViT-B-32")
or task.task_type == ComputeTaskType.IMAGE_EMBEDDING or task.task_type == ComputeTaskType.IMAGE_EMBEDDING
) )
+2
View File
@@ -67,11 +67,13 @@ def test_st():
] ]
# Compute embeddings # Compute embeddings
#embeddings = model.encode(sentences, convert_to_tensor=True) #embeddings = model.encode(sentences, convert_to_tensor=True)
embeddings = model.encode(sentences) embeddings = model.encode(sentences)
print("embeddings as follows: ") print("embeddings as follows: ")
print(embeddings) print(embeddings)
# Compute cosine-similarities for each sentence with each other sentence # Compute cosine-similarities for each sentence with each other sentence
cosine_scores = util.cos_sim(embeddings, embeddings) cosine_scores = util.cos_sim(embeddings, embeddings)