Life and Tech Talk

chatgpt embedding search 예제
import openai
from openai.embeddings_utils import get_embedding, cosine_similarity
import pandas as pd
import numpy as np


df = pd.read_csv('data/fine_food_reviews_with_embeddings_05.csv')
print(df)
print("------------------ 변환후 df ------------------")
df['ada_embedding'] = df.embedding.apply(eval).apply(np.array) 
# 'ada_embedding' 열에 있는 각 행의 값을 문자열로 표현된 파이썬 코드에서 NumPy 배열로 변환하여 저장하는 작업을 수행
# eval()는 실행 가능한 문자열이 들어와야 한다는것이고, 문자열로 들어온 그 expression을 파이썬이 실행해주는 함수


print(df)


openai.api_key = 'your api key'


def get_embedding(text, model="text-embedding-ada-002"):
   text = text.replace("\n", " ")
   print (text)
   return openai.Embedding.create(input = [text], model=model)['data'][0]['embedding']


def search_reviews(df, product_description, n=3, pprint=True):
   embedding = get_embedding(product_description, model='text-embedding-ada-002')
   df['similarities'] = df.ada_embedding.apply(lambda x: cosine_similarity(x, embedding))
   res = df.sort_values('similarities', ascending=False).head(n)
   return res


res = search_reviews(df, 'wellness', n=3)
print(res)
올린날: 2024년 5월 29일
주제: 코드 관련 포스팅 클릭!!

* 올린이: 마이클

* VIEW: 32       0           위키홈     게시판     수정