티스토리 뷰

업무 메모..

OpenAI Embedding 기술

링재호 2023. 12. 1. 11:05

Embedding

주어진 텍스트에 대한 임베딩을 만들어주는 모델로, 두 문장의 임배딩 유사도를 계산함으로서 문맥적 검색을 수행할 수 있습니다. 즉 챗봇이 대답하고자 하는 내용을 포함한 FAQ 가 있다고 가정하면, 이를 임베딩 벡터 데이터베이스로 만들어두고, 사용자의 요청을 벡터화 해서 임베딩 벡터 데이터베이스의 벡터들과 유사도를 측정, 가장 유사한 내용을 가지고 오는 것입니다.

 

동작 플로우

이해를 돕기 위한 동작 플로우 입니다.

  1. (질문, 대답) (검색, 결과) 등의 데이터셋 준비
  2. 임베딩할 데이터를 특정 기준으로 묶어서 text 화를 합니다. 
  3. 생성된 임베딩을 사용하여 검색, 추천, 시각화 등의 작업을 수행할 수 있음

임베딩 만들기

OpenAI 권장 모델: text-embedding-ada-002
import OpenAI from "openai";

const openai = new OpenAI();

async function main() {
  const embedding = await openai.embeddings.create({
    model: "text-embedding-ada-002",
    input: "여기는 메모를 즐기는 메모장이야.",
    encoding_format: "float",
  });

  console.log(embedding);
}

 

위를 통해 만들어진 vector 데이터를 cosine similarity 를 이용하여 두 벡터간의 유사도를 측정해서 여러 방면으로 사용하는 방법이 있다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함