0 / 0
영어 버전 문서로 돌아가기
텍스트 벡터화
마지막 업데이트 날짜: 2025년 2월 07일
텍스트 벡터화

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 솔루션 코딩