Skip to content

Commit 455861e

Browse files
committed
Separate embedding kwargs into init kwargs and encode kwargs
1 parent fec164a commit 455861e

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

pgml-extension/src/bindings/transformers/transformers.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -527,8 +527,8 @@ def rank(transformer, query, documents, kwargs):
527527
return rank_using(model, query, documents, kwargs)
528528

529529

530-
def create_embedding(transformer):
531-
return SentenceTransformer(transformer)
530+
def create_embedding(transformer, kwargs):
531+
return SentenceTransformer(transformer, **kwargs)
532532

533533

534534
def embed_using(model, transformer, inputs, kwargs):
@@ -545,16 +545,32 @@ def embed_using(model, transformer, inputs, kwargs):
545545

546546
def embed(transformer, inputs, kwargs):
547547
kwargs = orjson.loads(kwargs)
548-
549548
ensure_device(kwargs)
550549

550+
init_kwarg_keys = [
551+
"device",
552+
"trust_remote_code",
553+
"revision",
554+
"model_kwargs",
555+
"tokenizer_kwargs",
556+
"config_kwargs",
557+
"truncate_dim",
558+
"token",
559+
]
560+
init_kwargs = {
561+
key: value for key, value in kwargs.items() if key in init_kwarg_keys
562+
}
563+
encode_kwargs = {
564+
key: value for key, value in kwargs.items() if key not in init_kwarg_keys
565+
}
566+
551567
if transformer not in __cache_sentence_transformer_by_name:
552568
__cache_sentence_transformer_by_name[transformer] = create_embedding(
553-
transformer
569+
transformer, init_kwargs
554570
)
555571
model = __cache_sentence_transformer_by_name[transformer]
556572

557-
return embed_using(model, transformer, inputs, kwargs)
573+
return embed_using(model, transformer, inputs, encode_kwargs)
558574

559575

560576
def clear_gpu_cache(memory_usage: None):

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy