Download backend/rag/embedder.py from mXn1/epadoms: direct link, hf CLI and curl.
- Browser
- Download file 927 Bytes
-
https://huggingface.co/spaces/mXn1/epadoms/resolve/main/backend/rag/embedder.py
- Command line
-
hf download hf://spaces/mXn1/epadoms/backend/rag/embedder.py
-
curl -L -o embedder.py https://huggingface.co/spaces/mXn1/epadoms/resolve/main/backend/rag/embedder.py
927 Bytes
| """NVIDIA NIM embedding client.""" | |
| from openai import OpenAI | |
| import sys | |
| from pathlib import Path | |
| sys.path.insert(0, str(Path(__file__).parent.parent)) | |
| from config import NVIDIA_API_KEY, LLM_BASE_URL, EMBED_MODEL | |
| class Embedder: | |
| def __init__(self): | |
| self._client = OpenAI(base_url=LLM_BASE_URL, api_key=NVIDIA_API_KEY) | |
| def embed_query(self, text: str) -> list[float]: | |
| response = self._client.embeddings.create( | |
| model=EMBED_MODEL, | |
| input=[text], | |
| extra_body={"input_type": "query", "truncate": "END"}, | |
| ) | |
| return response.data[0].embedding | |
| def embed_passages(self, texts: list[str]) -> list[list[float]]: | |
| response = self._client.embeddings.create( | |
| model=EMBED_MODEL, | |
| input=texts, | |
| extra_body={"input_type": "passage", "truncate": "END"}, | |
| ) | |
| return [item.embedding for item in response.data] | |