임베딩 — 텍스트를 벡터로, 검색·분류의 기초
임베딩 — 텍스트를 벡터로, 검색·분류의 기초
문장을 숫자 벡터로 바꾸고 싶을 때 쓰는 게 **임베딩(Embeddings)**이에요. Together AI는 OpenAI 호환 임베딩 API를 제공해서, 텍스트 유사도·시맨틱 검색·클러스터링 같은 작업을 쉽게 시작할 수 있게 해 줘요.
together.embeddings.create에 모델 이름과 입력 텍스트를 넘기면 벡터 목록이 돌아와요.
from together import Together
client = Together()
response = client.embeddings.create(
model="BAAI/bge-large-en-v1.5",
input="Hello, world!",
)
print(response.data[0].embedding)
input에 여러 문장을 한꺼번에 넘길 수도 있어요. 그러면 data 배열에 문장 수만큼의 임베딩이 순서대로 담겨요. 같은 모델이라면 같은 문장은 항상 같은 벡터로 바뀌기 때문에, 미리 임베딩해 둔 문서 집합과 쿼리 벡터를 코사인 유사도로 비교하는 식의 검색이 가능해요.
단, 임베딩 모델마다 출력 차원이 달라요. 같은 모델로 모든 텍스트를 임베딩해야 벡터끼리 비교가 성립하니, 프로젝트에서 임베딩 모델은 하나로 통일하는 게 좋아요. 벡터를 저장할 벡터 DB를 고를 때는 이 차원을 미리 알아두면 도움이 돼요.
이렇게 만든 벡터는 RAG(검색-증강 생성)에서 문서를 찾는 첫 단계로 자주 쓰여요. 쿼리를 임베딩하고 가장 가까운 문서 벡터를 뽑아 그 내용을 LLM 프롬프트에 넣는 식이죠.
더 알아보기
- https://docs.together.ai/docs/inference/embeddings — 임베딩 문서
- https://docs.together.ai/reference/chat-completions — chat completions 레퍼런스