File size: 1,275 Bytes
9c5a6d0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
37
38
39
40
41
42
43
44
45
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}")