Download embedding_generator.py from AI-Driven-Data-Driven/Arabic-Rag-Chatbot: direct link, hf CLI and curl.
- Browser
- Download file 753 Bytes
-
https://huggingface.co/spaces/AI-Driven-Data-Driven/Arabic-Rag-Chatbot/resolve/main/embedding_generator.py
- Command line
-
hf download hf://spaces/AI-Driven-Data-Driven/Arabic-Rag-Chatbot/embedding_generator.py
-
curl -L -o embedding_generator.py https://huggingface.co/spaces/AI-Driven-Data-Driven/Arabic-Rag-Chatbot/resolve/main/embedding_generator.py
753 Bytes
| # embedding_generator.py | |
| import numpy as np | |
| from tqdm import tqdm | |
| from sentence_transformers import SentenceTransformer | |
| from utils import setup_logger | |
| from config import Config | |
| logger = setup_logger('embedding_generator') | |
| def generate_embeddings(documents): | |
| model = SentenceTransformer(Config.EMBEDDING_MODEL) | |
| embeddings = [] | |
| for i in tqdm(range(0, len(documents), Config.BATCH_SIZE), desc="Generating embeddings"): | |
| batch = documents['content'][i:i+Config.BATCH_SIZE].tolist() | |
| try: | |
| batch_embeddings = model.encode(batch, show_progress_bar=False) | |
| embeddings.extend(batch_embeddings) | |
| except Exception as e: | |
| logger.error(f"Error encoding batch: {e}") | |
| return np.array(embeddings) |