|
from abc import ABC, abstractmethod |
|
|
|
|
|
class Embeddings(ABC): |
|
"""Interface for embedding models.""" |
|
|
|
@abstractmethod |
|
def embed_documents(self, texts: list[str]) -> list[list[float]]: |
|
"""Embed search docs.""" |
|
raise NotImplementedError |
|
|
|
@abstractmethod |
|
def embed_query(self, text: str) -> list[float]: |
|
"""Embed query text.""" |
|
raise NotImplementedError |
|
|
|
async def aembed_documents(self, texts: list[str]) -> list[list[float]]: |
|
"""Asynchronous Embed search docs.""" |
|
raise NotImplementedError |
|
|
|
async def aembed_query(self, text: str) -> list[float]: |
|
"""Asynchronous Embed query text.""" |
|
raise NotImplementedError |
|
|