watsonx.ai 에서 제공되는 임베딩 모델과 임베딩 API를 사용하여 생성적 AI 응용 프로그램에서 사용할 문장이나 구절의 의미를 포착하는 텍스트 임베딩을 생성합니다.
발전하는 방법
다음과 같은 프로그래밍 방법을 사용하면 텍스트를 벡터화할 수 있습니다. 즉, 텍스트를 임베딩이라고 하는 텍스트의 수치적 표현으로 변환할 수 있습니다
IBM 를 사용하여 다음과 같은 타사 플랫폼의 모델을 임베드할 수도 있습니다
또는, watsonx.ai UI의 그래픽 도구를 사용하여 채팅 워크플로에서 문서를 벡터화하거나 벡터 색인을 생성할 수 있습니다. 다음과 같은 자원을 참조하십시오.
개요
텍스트를 텍스트 임베딩으로 변환하거나 텍스트 를 벡터화하는 것은 문서 비교, 질문 답변, 그리고 관련 콘텐츠를 빠르게 검색해야 하는 검색 증강 생성(RAG) 작업에 도움이 됩니다.
자세한 내용은 다음 주제를 참조하십시오.
지원되는 기초 모델
watsonx.ai 에서 사용할 수 있는 임베딩 모델에 대한 자세한 내용은 지원되는 인코더 모델을 참조하십시오.
프로그래밍 방식으로 사용할 수 있는 임베딩 모델을 확인하려면, 서비스 API로서의 watsonx.ai 에서 사용 가능한 기초 모델 나열 방법을 사용하십시오. filters=function_embedding
매개 변수를 지정하여 사용 가능한 임베딩 모델만 반환하도록 지정합니다.
curl -X GET \
'https://{cluster_url}/ml/v1/foundation_model_specs?version=2024-07-25&filters=function_embedding'
Python
watsonx.ai Python 라이브러리의 임베딩 클래스를 참조하십시오.
다음과 같은 샘플 노트북을 이용할 수 있습니다:
휴식 (REST API)
watsonx.ai 의 API에서 임베딩 생성 방법을 사용하여 텍스트를 벡터화하세요.
REST API 예
다음 코드 조각은 다음 두 줄의 텍스트를 텍스트 임베딩으로 변환하기 위해 slate-30m-english-rtrvr 모델을 사용합니다
- foundation model 은 다양한 다운스트림 작업에 적용할 수 있는 대규모 생성적 AI 모델입니다.
- 생성적 AI 텍스트, 소스 코드, 이미지, 오디오, 합성 데이터 등 다양한 유형의 콘텐츠를 생성할 수 있는 AI 알고리즘의 한 종류입니다.
이 예에서는 두 줄의 텍스트가 변환을 위해 제출되고 있습니다. 최대 1,000줄까지 지정할 수 있습니다. 제출하는 각 줄은 임베딩 모델에 의해 정의된 최대 입력 토큰 제한을 준수해야 합니다.
줄이 더 길어질 수 있는 경우를 해결하기 위해 줄을 잘라내도록 강제하는 매개변수( truncate_input_tokens
)가 지정되어 있습니다. 그렇지 않으면 요청이 실패할 수 있습니다. input_text
매개 변수가 포함되어 있어 원본 텍스트가 응답에 추가되어 각 임베딩 값 세트와 원본 텍스트를 더 쉽게 연결할 수 있습니다.
model_id
임베딩 모델은 임베딩 방법의 페이로드에 임베딩 모델로 사용할 모델을 지정합니다.
REST API 요청 예
curl -X POST \
'https://{region}.cloud.ibm.com/ml/v1/text/embeddings?version=2024-05-02' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJraWQiOi...' \
--data-raw '{
"inputs": [
"A foundation model is a large-scale generative AI model that can be adapted to a wide range of downstream tasks.",
"Generative AI a class of AI algorithms that can produce various types of content including text, source code, imagery, audio, and synthetic data."
],
"parameters":{
"truncate_input_tokens": 128,
"return_options":{
"input_text":true
}
},
"model_id": "ibm/slate-30m-english-rtrvr",
"project_id": "81966e98-c691-48a2-9bcc-e637a84db410"
}'
REST API 응답 예
응답은 다음과 같이 표시되는데, 각 임베딩의 384개 값이 예제의 가독성을 높이기 위해 6개 값으로 축소됩니다
{
"model_id": "ibm/slate-30m-english-rtrvr",
"created_at": "2024-05-02T16:21:56.771Z",
"results": [
{
"embedding": [
-0.023104044,
0.05364946,
0.062400896,
...
0.008527246,
-0.08910927,
0.048190728
],
"input": "A foundation model is a large-scale generative AI model that can be adapted to a wide range of downstream tasks."
},
{
"embedding": [
-0.024285838,
0.03582272,
0.008893765,
...
0.0148864435,
-0.051656704,
0.012944954
],
"input": "Generative AI a class of AI algorithms that can produce various types of content including text, source code, imagery, audio, and synthetic data."
}
],
"input_token_count": 57
}
자세히 알아보기
상위 주제: 생성적 AI 솔루션 코딩