Support for Cohere Embeddings (#1310)

This commit is contained in:
Dev Khant
2024-03-13 00:44:45 +05:30
committed by GitHub
parent a4d32aec24
commit f77f5b996e
4 changed files with 106 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
from typing import Optional
from langchain_community.embeddings import CohereEmbeddings
from embedchain.config import BaseEmbedderConfig
from embedchain.embedder.base import BaseEmbedder
from embedchain.models import VectorDimensions
class CohereEmbedder(BaseEmbedder):
def __init__(self, config: Optional[BaseEmbedderConfig] = None):
super().__init__(config=config)
embeddings = CohereEmbeddings(model=self.config.model)
embedding_fn = BaseEmbedder._langchain_default_concept(embeddings)
self.set_embedding_fn(embedding_fn=embedding_fn)
vector_dimension = self.config.vector_dimension or VectorDimensions.COHERE.value
self.set_vector_dimension(vector_dimension=vector_dimension)

View File

@@ -56,6 +56,7 @@ class EmbedderFactory:
"google": "embedchain.embedder.google.GoogleAIEmbedder",
"mistralai": "embedchain.embedder.mistralai.MistralAIEmbedder",
"nvidia": "embedchain.embedder.nvidia.NvidiaEmbedder",
"cohere": "embedchain.embedder.cohere.CohereEmbedder",
}
provider_to_config_class = {
"azure_openai": "embedchain.config.embedder.base.BaseEmbedderConfig",

View File

@@ -10,3 +10,4 @@ class VectorDimensions(Enum):
GOOGLE_AI = 768
MISTRAL_AI = 1024
NVIDIA_AI = 1024
COHERE = 384