POST /contextualizedembeddings

문서 청크에 대한 상황별 벡터 임베딩을 생성합니다. 이러한 임베딩은 각 청크 내의 로컬 세부 정보와 전체 문서 의 글로벌 컨텍스트를 모두 캡처합니다.

이 엔드포인트는 쿼리, 전체 문서 또는 문서 청크를 허용하고 전체 문서 에서 컨텍스트를 인식하는 임베딩을 반환합니다.

application/json

body 필수 사항

  • 입력 array[array] 필수 사항

    목록의 목록으로, 각 내부 목록에는 벡터화할 쿼리, 문서 또는 문서 청크가 포함되어 있습니다.

    inputs 의 각 내부 목록은 함께 포함된 텍스트 요소 설정하다 나타냅니다. 목록의 각 요소는 독립적으로 인코딩될 뿐만 아니라 동일한 목록에 있는 다른 요소의 컨텍스트도 인코딩합니다.

    inputs = [["text_1_1", "text_1_2", ..., "text_1_n"],
              ["text_2_1", "text_2_2", ..., "text_2_m"]]
    

    문서 청크. 가장 일반적으로 각 내부 목록에는 문서 내 위치별로 정렬된 단일 문서 의 청크가 포함됩니다. 이 경우:

    inputs = [["doc_1_chunk_1", "doc_1_chunk_2", ..., "doc_1_chunk_n"],
              ["doc_2_chunk_1", "doc_2_chunk_2", ..., "doc_2_chunk_m"]]
    

    각 청크 동일한 문서 의 다른 청크와 컨텍스트에 따라 인코딩되어 더 많은 컨텍스트 인식 임베딩을 제공합니다. 제공된 청크는 겹치지 않아야 합니다.

    쿼리 및 문서에 대한 컨텍스트 불가지론적 동작. 내부 목록당 하나의 요소가 있는 경우 각 텍스트는 표준(컨텍스트에 구애받지 않는) 임베딩과 유사하게 독립적으로 포함됩니다.

    inputs = [["query_1"], ["query_2"], ..., ["query_k"]]
    inputs = [["doc_1"], ["doc_2"], ..., ["doc_k"]]
    

    따라서 입력이 쿼리인 경우 각 내부 목록에는 위와 같이 단일 쿼리(길이 1)가 포함되어야 하며 input_typequery로 설정해야 합니다.

    inputs 목록에 적용 제약 조건은 다음과 같습니다.

    • 목록에는 1,000 개 이상의 입력이 포함되어서는 안 됩니다.
    • 모든 입력의 총 토큰 수는 120K를 초과할 수 없습니다.
    • 모든 입력의 총 청크 수는 16K를 초과할 수 없습니다.

    쿼리의 경우 목록에는 단일 쿼리 만 포함됩니다. 문서 또는 문서 청크의 경우, 목록에는 단일 문서 의 모든 청크가 문서 내 위치별로 정렬되어 포함되어야 하며, 그렇지 않으면 전체 문서 단일 청크 로 제공될 수도 있습니다. 목록의 총 토큰 수는 32,000 토큰을 초과할 수 없습니다.

    최소 1 개, 1000 개 이하의 요소입니다.

    쿼리의 경우 목록에는 단일 쿼리 만 포함됩니다. 문서 또는 문서 청크의 경우, 목록에는 단일 문서 의 모든 청크가 문서 내 위치별로 정렬되어 포함되어야 하며, 그렇지 않으면 전체 문서 단일 청크 로 제공될 수도 있습니다. 목록의 총 토큰 수는 32,000 토큰을 초과할 수 없습니다.

    요소가 1 개 이상이어야 합니다. 각각의 최소 길이는 1입니다.

  • 모델 문자열 필수 사항

    사용할 상황별 임베딩 모델입니다. 권장 모델: voyage-context-3.

    값은 voyage-context-3입니다.

  • input_type

    입력 텍스트의 유형입니다. 기본값은 null입니다. 기타 옵션: query, document.

    • input_typenull인 경우 임베딩 모델은 입력을 직접 숫자 벡터로 변환합니다. '쿼리'가 '문서'라고 하는 데이터 컬렉션 중에서 관련 정보를 검색하는 조회 또는 검색 목적의 경우, input_typequery 또는 document로 각각 설정하여 입력이 쿼리인지 문서인지 지정합니다. 이러한 경우 Voyage는 벡터화하기 전에 inputs 에 자동으로 프롬프트를 추가하여 검색 작업에 더 적합한 벡터를 생성합니다. input_type 인수를 사용하거나 사용하지 않고 생성된 임베딩은 호환됩니다.
    • 투명성을 위해 다음과 같은 프롬프트가 입력 앞에 추가됩니다.
      • query 경우 프롬프트는 "Representing the 쿼리 for retreering concern:" 입니다.
      • document의 경우 프롬프트는 "검색할 문서 표시합니다: "입니다.

    값은 query, document 또는 null입니다.

  • output_di멘션 정수 | null

    결과 출력 임베딩의 차원 수입니다. 기본값은 null입니다. voyage-context-3 은(는) output_dimension 값을 지원합니다: 2048, 1024 (기본값), 512, 256. null로 설정하다 하면 모델은 기본값 인 1024를 사용합니다.

    값은 256, 512, 1024, 2048 또는 null입니다.

  • output_dtype 문자열

    반환될 임베딩의 데이터 유형 . 기본값은 float입니다. 기타 옵션: int8, uint8, binary, ubinary.

    • float: 반환된 각 임베딩은 32비트(4바이트) 단정밀도 부동 소수점 숫자 목록입니다. 이는 기본값 이며 가장 높은 정밀도/검색 정확도를 제공합니다.
    • int8uint8: 반환된 각 임베딩은 각각 -128 ~ 127 및 0 ~ 255 범위의 8비트(1바이트) 정수 목록입니다.
    • binaryubinary: 반환된 각 임베딩은 비트로 채워지고 양자화된 단일 비트 임베딩 값을 나타내는 8비트 정수 목록입니다(binary 의 경우 int8, ubinary의 경우 uint8). 반환된 정수 목록의 길이는 output_dimension 의 1/8 (임베딩의 실제 차원)입니다. binary 유형은 오프셋 바이너리 메서드를 사용합니다.

    기본값은 float 입니다.

  • 인코딩_형식

    임베딩이 인코딩되는 형식입니다. 기본값은 null입니다. 기타 옵션: base64.

    • null인 경우, 각 임베딩은 output_dtypefloat 로 설정하다 경우 부동 소수점 배열 이고 output_dtype 의 다른 모든 값에 대한 정수 배열 (int8, uint8, binaryubinary). 자세한 내용은 output_dtype 를 참조하세요.
    • base64인 경우 임베딩은 다음과 같은 Base64로 인코딩된 NumPy 배열로 표시됩니다.
      • 부동 소수점 숫자(numpy.float32) output_dtype 에 대해 float로 설정하다 .
      • 부호 있는 정수(numpy.int8) output_dtype 에 대해 int8 또는 binary로 설정하다 .
      • 부호 없는 정수(numpy.uint8) output_dtype 에 대해 uint8 또는 ubinary로 설정하다 .

    값이 base64 또는 null입니다.

응답

  • 200 application/json

    Success

    응답 속성 숨기기 응답 속성 표시 객체
    • 객체 문자열 필수 사항

      항상 '목록'인 Realm 객체 유형입니다.

      값은 list입니다.

    • 데이터 배열[객체] 필수 사항

      상황에 맞는 임베딩의 배열 .

      데이터 속성 숨기기 데이터 속성 표시 객체
      • 객체 문자열 필수 사항

        항상 '목록'인 Realm 객체 유형입니다.

        값은 list입니다.

      • 데이터 배열[객체] 필수 사항

        입력 목록의 각 청크 하나씩 포함되는 임베딩 객체의 배열.

        데이터 속성 숨기기 데이터 속성 표시 객체
        • 객체 문자열 필수 사항

          항상 '포함'되는 Realm 객체 유형입니다.

          값은 embedding입니다.

        • 임베딩 배열[숫자] | string 필수 사항

          임베딩 벡터입니다. encoding_format 가 null인 경우 이는 숫자 배열 입니다(output_dtypefloat인 경우 부동, int8, uint8, binaryubinary의 경우 정수). encoding_formatbase64인 경우 이는 기본64인코딩된 string입니다.

          다음 중 하나입니다.

          인코딩_형식이 null일 때 배열 형식

          인코딩_형식이 기본64인 경우 기본64인코딩된 형식입니다.

        • index integer 필수 사항

          쿼리 의 인덱스 또는 동일한 문서 의 임베딩 목록 내 컨텍스트화된 청크 임베딩을 나타내는 정수입니다.

      • index integer 필수 사항

        쿼리 또는 문서 목록에 있는 쿼리 또는 문서 의 인덱스 를 각각 나타내는 정수입니다.

    • 모델 문자열 필수 사항

      모델의 이름입니다.

    • 사용법 객체 필수 사항
      사용량 속성 숨기기 사용량 속성 표시 객체
      • total_tokens integer 필수 사항

        임베딩 계산에 사용된 토큰의 총 개수입니다.

  • 400 application/json

    Invalid Request

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      요청 이 유효하지 않습니다. 이 오류는 잘못된 JSON, 잘못된 매개변수 유형, 잘못된 데이터 유형, 배치 크기가 너무 크거나, 총 토큰이 제한을 초과하거나, 예시 의 토큰이 컨텍스트 길이를 초과하기 때문에 발생할 수 있습니다.

  • 401 application/json

    승인되지 않음

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      잘못된 인증. 모델 API 키가 권한 부여 헤더에 Bearer VOYAGE_API_KEY(으)로 올바르게 지정되어 있는지 확인합니다.

  • 403 application/json

    Forbidden

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      액세스가 금지되어 있습니다. 요청 을 보내는 IP 주소 허용되지 않은 경우 이 문제가 발생할 수 있습니다.

  • 429 application/json

    속도 제한 초과

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      속도 제한을 초과했습니다. 요청 빈도 또는 토큰 사용량이 너무 높습니다. 요청 속도를 낮추거나 잠시 기다렸다가 다시 시도하세요.

  • 500 application/json

    내부 서버 오류

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      서버 에서 예기치 않은 오류가 발생했습니다. 잠시 기다린 후 요청 다시 시도하세요.

  • 502 application/json

    잘못된 게이트웨이

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      서버 업스트림 서버 로부터 잘못된 응답을 받았습니다. 잠시 기다린 후 요청 다시 시도하세요.

  • 503 application/json

    서비스를 사용할 수 없음

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      트래픽 증가 또는 유지 관리로 인해 서비스를 일시적으로 사용할 수 없습니다. 잠시 기다린 후 요청 다시 시도하세요.

  • 504 application/json

    게이트웨이 시간 초과

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      서버 업스트림 서버 로부터 시기적절한 응답을 받지 못했습니다. 잠시 기다린 후 요청 다시 시도하세요.

게시 /contextualizedembeddings
curl \
 --request POST 'https://ai.mongodb.com/v1/contextualizedembeddings' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"inputs":[["string"]],"model":"voyage-context-3","input_type":"query","output_dimension":256,"output_dtype":"float","encoding_format":"base64"}'
요청 예시
{
  "inputs": [
    [
      "string"
    ]
  ],
  "model": "voyage-context-3",
  "input_type": "query",
  "output_dimension": 256,
  "output_dtype": "float",
  "encoding_format": "base64"
}
응답 예시(200)
{
  "object": "list",
  "data": [
    {
      "object": "list",
      "data": [
        {
          "object": "embedding",
          "embedding": [
            42.0
          ],
          "index": 42
        }
      ],
      "index": 42
    }
  ],
  "model": "string",
  "usage": {
    "total_tokens": 42
  }
}
응답 예시(400)
{
  "detail": "string"
}
응답 예시(401)
{
  "detail": "string"
}
응답 예시(403)
{
  "detail": "string"
}
응답 예시(429)
{
  "detail": "string"
}
응답 예시(500)
{
  "detail": "string"
}
응답 예시(502)
{
  "detail": "string"
}
응답 예시(503)
{
  "detail": "string"
}
응답 예시(504)
{
  "detail": "string"
}