huggingface_hub#
__all__ = ['HuggingFaceHubEmbeddingDriver']module-attribute
Bases: BaseEmbeddingDriver “)
Attributes#
Name |
Type |
Description |
|---|---|---|
<a href="huggingface_hub.mdx#griptape.drivers.embedding.huggingface_hub.HuggingFaceHubEmbeddingDriver.api_token" title="api_token = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute (griptape.drivers.embedding.huggingface_hub.HuggingFaceHubEmbeddingDriver.api_token)"><code class="language-python">api_token</code></a> |
str |
Hugging Face Hub API token.<br/> |
<a href="base_embedding_driver.mdx#griptape.drivers.embedding.base_embedding_driver.BaseEmbeddingDriver.model" title="model = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute (griptape.drivers.embedding.huggingface_hub.HuggingFaceHubEmbeddingDriver.model)"><code class="language-python">model</code></a> |
str |
Hugging Face Hub model name.<br/> |
<a href="huggingface_hub.mdx#griptape.drivers.embedding.huggingface_hub.HuggingFaceHubEmbeddingDriver.client" title="client() (griptape.drivers.embedding.huggingface_hub.HuggingFaceHubEmbeddingDriver.client)"><code class="language-python">client</code></a> |
InferenceClient |
Custom InferenceApi.<br/> |
Source Code in
griptape/drivers/embedding/huggingface_hub_embedding_driver.py
@define
class HuggingFaceHubEmbeddingDriver(BaseEmbeddingDriver):
"""Hugging Face Hub Embedding Driver.
Attributes:
api_token: Hugging Face Hub API token.
model: Hugging Face Hub model name.
client: Custom `InferenceApi`.
"""
api_token: str = field(kw_only=True, metadata={"serializable": True})
_client: Optional[InferenceClient] = field(
default=None, kw_only=True, alias="client", metadata={"serializable": False}
)
@lazy_property()
def client(self) -> InferenceClient:
return import_optional_dependency("huggingface_hub").InferenceClient(
model=self.model,
token=self.api_token,
)
def try_embed_chunk(self, chunk: str, **kwargs) -> list[float]:
response = self.client.feature_extraction(chunk)
return [float(val) for val in response.flatten().tolist()]
_client = field(default=None, kw_only=True, alias='client', metadata={'serializable': False})class-attribute instance-attributeapi_token = field(kw_only=True, metadata={'serializable': True})class-attribute instance-attribute
client()#
Source Code in
griptape/drivers/embedding/huggingface_hub_embedding_driver.py
@lazy_property()
def client(self) -> InferenceClient:
return import_optional_dependency("huggingface_hub").InferenceClient(
model=self.model,
token=self.api_token,
)
try_embed_chunk(chunk, **kwargs)#
Source Code in
griptape/drivers/embedding/huggingface_hub_embedding_driver.py
def try_embed_chunk(self, chunk: str, **kwargs) -> list[float]:
response = self.client.feature_extraction(chunk)
return [float(val) for val in response.flatten().tolist()]