rag_hydro / embeddings /embeddings.py
Anas Bader
redo
4cbe4e9
raw
history blame contribute delete
850 Bytes
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