SambaNova 임베딩
SambaNova 임베딩
임베딩은 데이터를 벡터(숫자 배열)로 변환한 표현이에요. 서로 다른 정보 사이의 관련성이 측정 가능한 거리로 포착되는 게 핵심이에요. 추천 시스템, 분류, 검색 같은 애플리케이션에서 널리 쓰여요. SambaNova의 임베딩 API는 OpenAI의 임베딩 API 구조를 따라가서, 기존 앱에 붙이거나 마이그레이션하기 쉬워요.
출처: 임베딩 기능 구현
⚠️ 주의: 임베딩 기능은 SambaStack 사용자만 쓸 수 있어요.
E5-Mistral-7B-Instruct모델은 SambaCloud에서 제공되지 않아요.
SambaNova의 임베딩 시스템은 Mistral 임베딩 모델로 동작해요. 텍스트를 입력받아 유사도 검색 등에 쓸 수 있는 부동소수점 벡터를 출력해요.
임베딩 생성 준비
- API 키와 URL 페이지에서 API 키를 발급받아요.
- 문서의 샘플 구현을 확인해요.
- 제공된 예시로 임베딩을 생성해요.
- 임베딩을 애플리케이션 워크플로에 통합해요.
사용 가능한 파라미터의 상세 분석은 임베딩 엔드포인트 API 문서를 참고하세요.
단일 임베딩 생성
하나의 입력 텍스트에 대한 임베딩을 만들려면 모델 이름과 입력 문자열을 client.embeddings.create()에 넘겨요.
from sambanova import SambaNova
client = SambaNova(
base_url="your-sambanova-base-url",
api_key="your-sambanova-api-key",
)
response = client.embeddings.create(
model="E5-Mistral-7B-Instruct",
input="The quick brown fox jumps over the lazy dog"
)
print(response)
from openai import OpenAI
client = OpenAI(
base_url="your-sambanova-base-url",
api_key="your-sambanova-api-key",
)
response = client.embeddings.create(
model="E5-Mistral-7B-Instruct",
input="The quick brown fox jumps over the lazy dog"
)
print(response)
응답은 object: "list" 형식으로 오고, data 배열에 각 임베딩이 index와 함께 담겨요. 사용 토큰 수는 usage에 들어와요.
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [0.002843, -0.017531, ..., 0.012934],
"index": 0
}
],
"model": "E5-Mistral-7B-Instruct",
"usage": {
"prompt_tokens": 10,
"total_tokens": 10
}
}
여러 개의 임베딩 생성
하나의 요청으로 여러 입력에 대한 임베딩을 만들려면 input 파라미터에 문자열 배열을 넘겨요.
from sambanova import SambaNova
client = SambaNova(
base_url="your-sambanova-base-url",
api_key="your-sambanova-api-key",
)
response = client.embeddings.create(
model="E5-Mistral-7B-Instruct",
input=[
"Our solar system orbits the Milky Way galaxy at about 515,000 mph",
"Jupiter's Great Red Spot is a storm that has been raging for at least 350 years."
]
)
print(response)
from openai import OpenAI
client = OpenAI(
base_url="your-sambanova-base-url",
api_key="your-sambanova-api-key",
)
response = client.embeddings.create(
model="E5-Mistral-7B-Instruct",
input=[
"Our solar system orbits the Milky Way galaxy at about 515,000 mph",
"Jupiter's Great Red Spot is a storm that has been raging for at least 350 years."
]
)
print(response)
응답의 data 배열에는 입력 개수만큼 임베딩이 순서대로 담겨요.
{
"model": "E5-Mistral-7B-Instruct",
"object": "list",
"data": [
{
"index": 0,
"object": "embedding",
"embedding": [0.2633975, 0.13856208, ..., 0.04331574]
},
{
"index": 1,
"object": "embedding",
"embedding": [-0.14496337, 0.21044481, ..., -0.16187587]
}
]
}