import os import logging from typing import List from openai import OpenAI from dotenv import load_dotenv # Configure logging at the application level logger = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO) load_dotenv() embedding_dimension = 1536 model = "text-embedding-3-small" openai_api_key = os.getenv("OPENAI_API_KEY").strip().strip("\n") client = OpenAI(api_key=openai_api_key) def generate_embeddings(text: str) -> List[float]: """Get embeddings from OpenAI API.""" logging.info("Embedding model: %s", model) try: if text: response = client.embeddings.create( model=model, input=text, dimensions=embedding_dimension ) return response.data[0].embedding except Exception as e: logger.error(f"OpenAI API error: {e}") raise