import os import pandas as pd import numpy as np from openai import OpenAI from dotenv import load_dotenv # Load environment variables load_dotenv() # 1) Вкажіть свій OpenAI ключ OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) # 2) Задайте назви файлів CSV_FILE = "messages_with_labels.csv" # ваш CSV із колонкою "Message" OUTPUT_EMB_FILE = "embeddings.npy" MODEL_NAME = "text-embedding-3-small" # або іншу модель # 3) Зчитайте CSV df = pd.read_csv(CSV_FILE) texts = df["Message"].fillna("").tolist() # на випадок, якщо є NaN embeddings_list = [] # 4) Викличте OpenAI API для кожного рядка for i, text in enumerate(texts): # Результат запиту до OpenAI response = client.embeddings.create( input=text, model=MODEL_NAME ) emb = response.data[0].embedding embeddings_list.append(emb) # 5) Переведемо список у np.array та збережемо embedding_matrix = np.array(embeddings_list, dtype=np.float32) np.save(OUTPUT_EMB_FILE, embedding_matrix) print(f"Embeddings saved to {OUTPUT_EMB_FILE} with shape {embedding_matrix.shape}")