Spaces:
Runtime error
Runtime error
| from typing import List | |
| from langchain_ollama import OllamaEmbeddings | |
| class EmbeddingModel: | |
| def __init__(self, model_name: str = "llama3.2"): | |
| """ | |
| Initialize embedding model with LangChain OllamaEmbeddings | |
| Args: | |
| model_name (str): Name of the model to use | |
| """ | |
| self.model_name = model_name | |
| self.embeddings = OllamaEmbeddings( | |
| model=model_name | |
| ) | |
| def embed(self, text: str) -> List[float]: | |
| """ | |
| Generate embeddings for a single text input | |
| Args: | |
| text (str): Input text to embed | |
| Returns: | |
| List[float]: Embedding vector | |
| """ | |
| try: | |
| # Use embed_query for single text embedding | |
| return self.embeddings.embed_query(text) | |
| except Exception as e: | |
| print(f"Error generating embedding: {e}") | |
| return [] | |
| def embed_batch(self, texts: List[str]) -> List[List[float]]: | |
| """ | |
| Generate embeddings for multiple texts | |
| Args: | |
| texts (List[str]): List of input texts to embed | |
| Returns: | |
| List[List[float]]: List of embedding vectors | |
| """ | |
| try: | |
| # Use embed_documents for batch embedding | |
| return self.embeddings.embed_documents(texts) | |
| except Exception as e: | |
| print(f"Error generating batch embeddings: {e}") | |
| return [] | |
| if __name__ == "__main__": | |
| # Initialize the embedding model | |
| embedding_model = EmbeddingModel(model_name="llama3.2") | |
| # Generate embedding for a single text | |
| single_text = "The meaning of life is 42" | |
| vector = embedding_model.embed(single_text) | |
| print(vector[:3]) # Print first 3 dimensions | |
| # Generate embeddings for multiple texts | |
| texts = ["Document 1...", "Document 2..."] | |
| vectors = embedding_model.embed_batch(texts) | |
| print(len(vectors)) # Number of vectors | |
| print(vectors[0][:3]) # First 3 dimensions of first vector |