Yandex Cloud
Milvus 2.6.x와 호환돼요.
이 문서에서는 Milvus에서 Yandex Cloud 임베딩 함수를 구성하고 사용하는 방법을 설명해요.
출처: Milvus 문서
본문
임베딩 모델 선택 (Choose an embedding model)
Milvus는 yc 제공자를 통해 Yandex Cloud AI Studio 텍스트 벡터화 모델을 지원해요. Function 파라미터에서 model_name을 Milvus가 호출할 Yandex Cloud 모델 URI로 설정해요.
예를 들어 문서용 Yandex Text Embeddings는 emb:///text-search-doc/latest 같은 모델 URI를 사용하며 256차원 벡터를 반환해요. 사용 가능한 모델 URI와 차원은 Text vectorization models을 참고하세요.
자격 증명 구성 (Configure credentials)
Milvus는 임베딩을 요청하기 전에 Yandex Cloud API 키를 알고 있어야 해요. API 키를 milvus.yaml이나 환경 변수를 통해 구성할 수 있어요.
옵션 1: 설정 파일
API 키를 milvus.yaml에 저장하고 Yandex Cloud 제공자를 자격 증명 라벨로 지정해요.
# milvus.yaml
credential:
yandex_apikey:
apikey: <YOUR_YC_API_KEY>
function:
textEmbedding:
providers:
yc:
credential: yandex_apikey
# url: https://llm.api.cloud.yandex.net/foundationModels/v1/textEmbedding
옵션 2: 환경 변수
milvus.yaml에 일치하는 자격 증명이 구성되지 않았다면 Milvus는 다음 환경 변수에서 Yandex Cloud API 키를 읽을 수 있어요.
| 변수 | 필수 여부 | 설명 |
|---|---|---|
MILVUS_YC_API_KEY |
Yes | Milvus 서비스가 Yandex Cloud AI Studio를 호출할 때 사용하는 Yandex Cloud API 키예요. |
임베딩 함수 사용 (Use embedding function)
자격 증명을 구성했다면 입력 텍스트 필드와 출력 벡터 필드가 있는 스키마를 정의하고 Yandex Cloud 임베딩 Function을 스키마에 추가해요.
from pymilvus import MilvusClient, DataType, Function, FunctionType
client = MilvusClient(uri="http://localhost:19530")
schema = client.create_schema()
schema.add_field("id", DataType.INT64, is_primary=True, auto_id=False)
schema.add_field("document", DataType.VARCHAR, max_length=9000)
schema.add_field("dense", DataType.FLOAT_VECTOR, dim=256)
text_embedding_function = Function(
name="yandex_cloud_embedding",
function_type=FunctionType.TEXTEMBEDDING,
input_field_names=["document"],
output_field_names=["dense"],
params={
"provider": "yc",
"model_name": "emb://<folder_ID>/text-search-doc/latest",
"credential": "yandex_apikey",
"dim": "256",
},
)
schema.add_function(text_embedding_function)
Yandex Cloud 전용 파라미터
| 파라미터 | 필수 여부 | 설명 | 값 / 예시 |
|---|---|---|---|
provider |
Yes | 사용할 임베딩 모델 제공자예요. | "yc" |
model_name |
Yes | 호출할 Yandex Cloud 모델 URI예요. | "emb:///text-search-doc/latest" |
credential |
No | milvus.yaml의 최상위 credential: 섹션에 정의된 자격 증명의 라벨이에요. |
"yandex_apikey" |
dim |
No | 출력 벡터 차원이에요. 설정한다면 값이 출력 벡터 필드의 차원과 일치해야 해요. | "256" |
다음 단계 (Next steps)
임베딩 함수를 구성한 뒤에는 Embedding Function Overview를 참고해 인덱스 생성, 데이터 삽입, 시맨틱 검색 실행 방법을 익혀요.
더 알아보기 (Learn more)
- Text vectorization models — 사용 가능한 모델 URI와 차원
- Embedding Function Overview — 인덱스 생성, 데이터 삽입, 시맨틱 검색