Spaces:
Running
Running
from langchain_ollama import OllamaEmbeddings | |
from langflow.base.models.model import LCModelComponent | |
from langflow.field_typing import Embeddings | |
from langflow.io import MessageTextInput, Output | |
class OllamaEmbeddingsComponent(LCModelComponent): | |
display_name: str = "Ollama Embeddings" | |
description: str = "Generate embeddings using Ollama models." | |
documentation = "https://python.langchain.com/docs/integrations/text_embedding/ollama" | |
icon = "Ollama" | |
name = "OllamaEmbeddings" | |
inputs = [ | |
MessageTextInput( | |
name="model", | |
display_name="Ollama Model", | |
value="nomic-embed-text", | |
), | |
MessageTextInput( | |
name="base_url", | |
display_name="Ollama Base URL", | |
value="http://localhost:11434", | |
), | |
] | |
outputs = [ | |
Output(display_name="Embeddings", name="embeddings", method="build_embeddings"), | |
] | |
def build_embeddings(self) -> Embeddings: | |
try: | |
output = OllamaEmbeddings(model=self.model, base_url=self.base_url) | |
except Exception as e: | |
msg = "Could not connect to Ollama API." | |
raise ValueError(msg) from e | |
return output | |