bug fix in evaulation
This commit is contained in:
parent
c5e67e5a3c
commit
e9e25a7704
@ -20,31 +20,40 @@ import numpy as np
|
|||||||
|
|
||||||
|
|
||||||
class CustomModel:
|
class CustomModel:
|
||||||
def __init__(self, model):
|
def __init__(self):
|
||||||
self.session = requests.Session()
|
self.session = requests.Session()
|
||||||
self.model = model
|
|
||||||
|
|
||||||
|
|
||||||
def get_simplexity_query2vec_results(self, sentences, embedding_url, model, template):
|
def get_embedding(self, sentece, prompt_name):
|
||||||
params = {}
|
embedding_url = "http://127.0.0.1:5010/embed"
|
||||||
params["model"] = model
|
|
||||||
params["template"] = template
|
|
||||||
headers = {"accept": "application/json"}
|
headers = {"accept": "application/json"}
|
||||||
|
headers["Content-Type"] = "application/json"
|
||||||
|
|
||||||
data = {}
|
data = {}
|
||||||
|
data["inputs"] = sentece
|
||||||
|
data["normalize"] = True
|
||||||
|
data["prompt_name"] = prompt_name
|
||||||
|
data["truncate"] = False
|
||||||
|
data["truncation_direction"] = "Right"
|
||||||
|
|
||||||
|
response = self.session.post(embedding_url, headers=headers, data=json.dumps(data), timeout=600)
|
||||||
|
|
||||||
|
return response.json()
|
||||||
|
|
||||||
|
|
||||||
|
def get_simplexity_query2vec_results(self, sentences, template):
|
||||||
|
|
||||||
if len(sentences) < 2000:
|
if len(sentences) < 2000:
|
||||||
my_range = range
|
my_range = range
|
||||||
else:
|
else:
|
||||||
my_range = tqdm.trange
|
my_range = tqdm.trange
|
||||||
|
|
||||||
batch_size = 1024
|
batch_size = 64
|
||||||
vec = []
|
vec = []
|
||||||
for i in my_range(0, len(sentences), batch_size):
|
for i in my_range(0, len(sentences), batch_size):
|
||||||
start_idx = i
|
start_idx = i
|
||||||
stop_idx = min(i+batch_size, len(sentences))
|
stop_idx = min(i+batch_size, len(sentences))
|
||||||
data["queries"] = sentences[start_idx:stop_idx]
|
new_vec = self.get_embedding(sentences[start_idx:stop_idx], template)
|
||||||
response = self.session.post(embedding_url, headers=headers, params=params, data=json.dumps(data), timeout=600)
|
|
||||||
new_vec = response.json()
|
|
||||||
vec += new_vec
|
vec += new_vec
|
||||||
return vec
|
return vec
|
||||||
|
|
||||||
@ -57,8 +66,6 @@ class CustomModel:
|
|||||||
**kwargs,
|
**kwargs,
|
||||||
) -> np.ndarray:
|
) -> np.ndarray:
|
||||||
|
|
||||||
embedding_url = "http://127.0.0.1:5015/embedding"
|
|
||||||
|
|
||||||
if prompt_type == None:
|
if prompt_type == None:
|
||||||
template = "document"
|
template = "document"
|
||||||
elif prompt_type == PromptType.query:
|
elif prompt_type == PromptType.query:
|
||||||
@ -75,7 +82,7 @@ class CustomModel:
|
|||||||
# embeddings = self.get_simplexity_query2vec_results(batch["text"], embedding_url, model, template)
|
# embeddings = self.get_simplexity_query2vec_results(batch["text"], embedding_url, model, template)
|
||||||
|
|
||||||
# all_embeddings += embeddings
|
# all_embeddings += embeddings
|
||||||
all_embeddings = self.get_simplexity_query2vec_results(sentences, embedding_url, self.model, template)
|
all_embeddings = self.get_simplexity_query2vec_results(sentences, template)
|
||||||
|
|
||||||
|
|
||||||
return numpy.array(all_embeddings)
|
return numpy.array(all_embeddings)
|
||||||
@ -102,12 +109,11 @@ def recall_at_k(index, query_embeddings, ground_truth, all_docs, k=10):
|
|||||||
return hits / len(ground_truth)
|
return hits / len(ground_truth)
|
||||||
|
|
||||||
def evaluate():
|
def evaluate():
|
||||||
model_name = "Qwen3-Embedding-0.6B"
|
|
||||||
# model_name = "KaLM-embedding-multilingual-mini-instruct-v2.5"
|
# model_name = "KaLM-embedding-multilingual-mini-instruct-v2.5"
|
||||||
# model_name = "KaLM-Embedding-Gemma3-12B-2511"
|
# model_name = "KaLM-Embedding-Gemma3-12B-2511"
|
||||||
# model_name = "llama-embed-nemotron-8b"
|
# model_name = "llama-embed-nemotron-8b"
|
||||||
# model_name = "embeddinggemma-300m"
|
# model_name = "embeddinggemma-300m"
|
||||||
model = CustomModel(model_name)
|
model = CustomModel()
|
||||||
|
|
||||||
file_path = os.path.dirname(__file__)
|
file_path = os.path.dirname(__file__)
|
||||||
|
|
||||||
|
|||||||
@ -96,6 +96,8 @@ def is_dataset_cached(dataset_name):
|
|||||||
def evaluate():
|
def evaluate():
|
||||||
model = CustomModel()
|
model = CustomModel()
|
||||||
|
|
||||||
|
model_name = "Qwen3-Embedding-0.6B"
|
||||||
|
|
||||||
file_path = os.path.dirname(__file__)
|
file_path = os.path.dirname(__file__)
|
||||||
# model = mteb.get_model(model_name)
|
# model = mteb.get_model(model_name)
|
||||||
# model = SentenceTransformer(model_name)
|
# model = SentenceTransformer(model_name)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user