Spaces:
Sleeping
Sleeping
File size: 946 Bytes
a83c934 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
"""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
|