-
[ OpenAI / WebsiteQnA tutorial ] Embedding - openai 라이브러리를 통한 Embedding (3)Openai 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로 변환하여 최종적으로는 넘파이 어레이로 변환합니다.
반응형'Openai' 카테고리의 다른 글
[ OpenAI / WebsiteQnA tutorial ] 총정리 (1) 2023.02.28 [ OpenAI / WebsiteQnA tutorial ] Embedding을 이용한 Context 생성 및 응답 (4) (0) 2023.02.28 [ OpenAI / WebsiteQnA tutorial ] 데이터 가공 - tiktoken 라이브러리를 통한 데이터 프로세싱 (2) (0) 2023.02.28 [ OpenAI / WebsiteQnA tutorial ] 데이터 수집 - beautifulsoup 라이브러리를 통한 크롤링 (1) (0) 2023.02.28