메인 콘텐츠로 건너뛰기
임베딩은 텍스트를 의미를 담은 벡터로 변환합니다. 검색, 검색 증강 생성(RAG), 클러스터링, 추천, 중복 제거 및 유사도 점수 산출에 사용할 수 있습니다. Venice 임베딩 엔드포인트는 OpenAI와 호환됩니다. 하나의 문자열 또는 문자열 배열을 /embeddings로 전송한 다음, 반환된 벡터를 데이터베이스 또는 벡터 인덱스에 저장하세요.

기본 사용법

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["VENICE_API_KEY"],
    base_url="https://api.venice.ai/api/v1",
)

response = client.embeddings.create(
    model="text-embedding-bge-m3",
    input="Privacy-first AI infrastructure for semantic search",
)

vector = response.data[0].embedding
print(len(vector), vector[:5])
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.VENICE_API_KEY,
  baseURL: "https://api.venice.ai/api/v1",
});

const response = await client.embeddings.create({
  model: "text-embedding-bge-m3",
  input: "Privacy-first AI infrastructure for semantic search",
});

const vector = response.data[0].embedding;
console.log(vector.length, vector.slice(0, 5));
curl https://api.venice.ai/api/v1/embeddings \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-bge-m3",
    "input": "Privacy-first AI infrastructure for semantic search",
    "encoding_format": "float"
  }'

배치 입력

여러 텍스트를 한 번의 요청으로 임베딩하려면 문자열 배열을 전달하세요:
{
  "model": "text-embedding-bge-m3",
  "input": [
    "Venice supports private chat completions.",
    "Embeddings help retrieve relevant documents.",
    "Vector search powers RAG applications."
  ]
}
응답은 입력 순서를 보존합니다. 각 벡터를 소스 텍스트 ID, 메타데이터, 임베딩 모델 ID와 함께 저장하세요.

일반적인 워크플로

  1. 소스 문서를 청크로 분할합니다.
  2. 각 청크에 대해 임베딩을 생성합니다.
  3. 벡터와 메타데이터를 벡터 데이터베이스에 저장합니다.
  4. 사용자의 질의를 임베딩합니다.
  5. 근접한 청크를 검색합니다.
  6. 검색된 컨텍스트를 채팅 모델에 전달합니다.
전체 구현은 비공개 RAG 봇 만들기를 참조하세요.

모델 선택

현재 사용 가능한 임베딩 모델, 차원, 가격을 비교하려면 임베딩 모델 페이지를 이용하세요.
인덱싱과 질의에는 동일한 임베딩 모델을 사용하세요. 서로 다른 모델을 혼합하면 벡터 공간이 호환되지 않아 유사도 점수가 신뢰할 수 없게 됩니다.

관련 리소스