import json
import os
import sys
import logging

logger = logging.getLogger(__name__)

logger = logging.getLogger()
logger.setLevel(logging.INFO)

sys.path.append('/mnt/efs/lambda-deps/site-packages')
sys.path.append('/mnt/efs/lambda-deps-64/site-packages')
sys.path.append('/mnt/efs/sentence-transformer-deps')
sys.path.append('/mnt/efs/sentence-transformer-deps-64/site-packages')

from sentence_transformers import SentenceTransformer

model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')

def handler(event, context):
    try:
        logger.info("Received event: %s", event)

        # Extract the input sentence from the event
        sentence = event['sentence']

        # Generate the sentence embedding
        embedding = model.encode(sentence).tolist()

        # Return the embedding as a JSON response
        return {
            'statusCode': 200,
            'body': json.dumps({'embedding': embedding})
        }
    except Exception as e:
        return {
            'statusCode': 500,
            'body': json.dumps({'error': str(e)})
        }