Client Referenceencoders
semantic_router.encoders.openai
OpenAIEncoder Objects
class OpenAIEncoder(DenseEncoder)OpenAI encoder class for generating embeddings using OpenAI API.
The OpenAIEncoder class is a subclass of DenseEncoder and utilizes the OpenAI API to generate embeddings for given documents. It requires an OpenAI API key.
token_limit
default value, should be replaced by config
__init__
def __init__(name: Optional[str] = None,
openai_base_url: Optional[str] = None,
openai_api_key: Optional[str] = None,
openai_org_id: Optional[str] = None,
dimensions: Union[int, NotGiven] = NotGiven(),
max_retries: int = 3)Initialize the OpenAIEncoder.
Arguments:
name(str): The name of the embedding model to use.openai_base_url(str): The base URL for the OpenAI API.openai_api_key(str): The OpenAI API key.openai_org_id(str): The OpenAI organization ID.dimensions(int): The dimensions of the embeddings.str0 (int): The maximum number of retries for the OpenAI API call.
__call__
def __call__(docs: List[str], truncate: bool = True) -> List[List[float]]Encode a list of text documents into embeddings using OpenAI API.
Arguments:
docs: List of text documents to encode.truncate: Whether to truncate the documents to token limit. If False and a document exceeds the token limit, an error will be raised.
Returns:
List of embeddings for each document.
acall
async def acall(docs: List[str], truncate: bool = True) -> List[List[float]]Encode a list of text documents into embeddings using OpenAI API asynchronously.
Arguments:
docs: List of text documents to encode.truncate: Whether to truncate the documents to token limit. If False and a document exceeds the token limit, an error will be raised.
Returns:
List of embeddings for each document.