Spaces:
Sleeping
Sleeping
| """Utility functions for text embedding. | |
| Provides a centralized function to generate embeddings using OpenAI's API. | |
| """ | |
| from typing import List | |
| from openai import OpenAI | |
| from src.config.settings import settings | |
| from src.utils.logger import get_logger | |
| logger = get_logger(__name__) | |
| # --- OpenAI Client --- | |
| # Initialize OpenAI client with API key from settings | |
| openai_client = OpenAI(api_key=settings.openai_api_key) | |
| def get_embedding(text: str) -> List[float]: | |
| """Generates an embedding for the given text using OpenAI. | |
| Args: | |
| text: The input text to embed. | |
| Returns: | |
| A list of floats representing the embedding vector. | |
| """ | |
| try: | |
| response = openai_client.embeddings.create( | |
| input=text, | |
| model=settings.openai_embedding_model | |
| ) | |
| return response.data[0].embedding | |
| except Exception as e: | |
| logger.error(f"Error generating embedding: {e}") | |
| raise | |