Source code for components.model_client.utils

"Helpers for model client for integrating models and parsing the output."
from adalflow.core.types import EmbedderOutput, Embedding, Usage


[docs] def parse_embedding_response( api_response, ) -> EmbedderOutput: r"""Parse embedding model output from the API response to EmbedderOutput. Follows the OpenAI API response pattern. """ # Assuming `api_response` has `.embeddings` and `.usage` attributes # and that `embeddings` is a list of objects that can be converted to `Embedding` dataclass # TODO: check if any embedding is missing embeddings = [ Embedding(embedding=e.embedding, index=e.index) for e in api_response.data ] usage = Usage( prompt_tokens=api_response.usage.prompt_tokens, total_tokens=api_response.usage.total_tokens, ) # Assuming `usage` is an object with a `count` attribute # Assuming the model name is part of the response or set statically here model = api_response.model return EmbedderOutput(data=embeddings, model=model, usage=usage)