# ============================================================
# [실습] 임베딩 이해 (2) — OpenAI 임베딩 API (text-embedding)
#
# 아래 항목을 직접 구현해 완성하세요:
#  1) get_embedding(text): 텍스트를 OpenAI 임베딩 API로 벡터화해 numpy 배열로 반환한다.
#  2) embed_documents(docs): 여러 문서를 한 번에 임베딩해 numpy 배열로 반환한다 (로컬 384 vs OpenAI 1536).
# ============================================================

import os
import numpy as np
from openai import OpenAI
from dotenv import load_dotenv

load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))

documents = [
    "Python은 강력한 프로그래밍 언어입니다.",
    "OpenAI는 AI 연구를 선도하는 기업입니다.",
    "FAISS는 벡터 검색을 위한 라이브러리입니다.",
]


# 1) get_embedding
def get_embedding(text):
    # 여기에 코드를 작성하세요
    pass


# 2) embed_documents
def embed_documents(docs):
    # 여기에 코드를 작성하세요
    pass


if __name__ == "__main__":
    emb = get_embedding("인공지능이 세상을 바꾸고 있다.")
    print(f"한 문장 임베딩 차원: {emb.shape[0]}")
    doc_embeddings = embed_documents(documents)
    print(f"doc_embeddings shape: {doc_embeddings.shape}")
