Openai
[ OpenAI / WebsiteQnA tutorial ] Embedding - openai 라이브러리를 통한 Embedding (3)
OnnJE
2023. 2. 28. 20:39
반응형
3. Embedding - openai 라이브러리를 통한 Embedding
머신러닝의 자연어 처리(NLP) 관점에서 Embedding은 단어, 구를 벡터로 나타내는 것입니다. 즉, 단어나 구의 의미를 세밀한 벡터로 표현해 기계학습 모델에서 사용할 수 있도록 하는 처리입니다.
import openai
from openai.embeddings_utils import distances_from_embeddings
df['embeddings'] = df.text.apply(lambda x: openai.Embedding.create(input=x, engine='text-embedding-ada-002')['data'][0]['embedding'])
df.to_csv('processed/embeddings.csv')
df.head()
df에 text 데이터를 "text-embedding-ada-002" 모델을 통해 임베딩한 결과를 csv파일로 저장합니다. 이때, embedding 결과는 문자열 형식으로 저장됩니다.
import pandas as pd
import numpy as np
from openai.embeddings_utils import distances_from_embeddings, cosine_similarity
df=pd.read_csv('processed/embeddings.csv', index_col=0)
df['embeddings'] = df['embeddings'].apply(eval).apply(np.array)
df.head()
앞서 저장한 embedding.csg파일을 df로 불러온 후, string인 embedding 결과를 eval() 함수를 통해 list로 변환하여 최종적으로는 넘파이 어레이로 변환합니다.
반응형