Spaces:
Running
Running
Download src/lib/embeddings/client_vertex.py from Leon4gr45/brain: direct link, hf CLI and curl.
- Browser
- Download file 985 Bytes
-
https://huggingface.co/spaces/Leon4gr45/brain/resolve/main/src/lib/embeddings/client_vertex.py
- Command line
-
hf download hf://spaces/Leon4gr45/brain/src/lib/embeddings/client_vertex.py
-
curl -L -o client_vertex.py https://huggingface.co/spaces/Leon4gr45/brain/resolve/main/src/lib/embeddings/client_vertex.py
985 Bytes
| import os | |
| from google import genai | |
| from src.adapters.interfaces.embeddings import EmbeddingsClient | |
| from src.config import config | |
| class VertexEmbeddingsClient(EmbeddingsClient): | |
| def __init__(self): | |
| os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = config.gcp.credentials_path | |
| self.client = genai.Client( | |
| vertexai=True, | |
| project=config.gcp.project_id, | |
| location="global", | |
| http_options={"api_version": "v1"}, | |
| ) | |
| self.model = config.gcp.embedding_model | |
| def embed_text(self, text: str) -> list[float]: | |
| response = self.client.models.embed_content(model=self.model, contents=[text]) | |
| return response.embeddings[0].values | |
| def embed_texts(self, texts: list[str]) -> list[list[float]]: | |
| response = self.client.models.embed_content(model=self.model, contents=texts) | |
| return [item.values for item in response.embeddings] | |
| _embeddings_vertex_client = VertexEmbeddingsClient() | |