시각적 질문 및 답변(VQA)

Imagen for Captioning & VQA(imagetext)는 이미지 질문 및 답변을 지원하는 모델의 이름입니다. Imagen for Captioning & VQA는 모델에서 전에 특정 이미지를 본 적이 없더라도 해당 이미지에 대해 제공된 질문에 답변합니다.

콘솔에서 이 모델을 살펴보려면 Model Garden에서 Imagen for Captioning & VQA 모델 카드를 참조하세요.

Model Garden으로 이동

사용 사례

이미지 질문 및 답변의 일반적인 사용 사례는 다음과 같습니다.

  • 사용자가 Q&A로 시각적 콘텐츠에 참여할 수 있도록 지원합니다.
  • 고객이 소매 앱과 웹사이트에 표시된 제품 이미지를 사용할 수 있도록 지원합니다.
  • 시각장애 사용자를 위한 접근성 옵션을 제공합니다.

HTTP 요청

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagetext:predict

요청 본문

{
  "instances": [
    {
      "prompt": string,
      "image": {
        // Union field can be only one of the following:
        "bytesBase64Encoded": string,
        "gcsUri": string,
        // End of list of possible types for union field.
        "mimeType": string
      }
    }
  ],
  "parameters": {
    "sampleCount": integer,
    "seed": integer
  }
}

시각적 Q&A 생성 모델 imagetext에 다음 매개변수를 사용합니다. 자세한 내용은 시각적 질문 답변(VQA) 사용을 참조하세요.

매개변수 설명 사용 가능한 값
instances 정보를 가져올 프롬프트 및 이미지 세부정보가 있는 객체가 포함된 배열입니다. 배열(이미지 객체 1개 허용)
prompt 이미지와 관련하여 답변해야 하는 질문 문자열(토큰 최대 80개)
bytesBase64Encoded 정보를 가져올 이미지입니다. Base64로 인코딩된 이미지 문자열(PNG 또는 JPEG, 최대 20MB)
gcsUri 정보를 가져올 이미지의 Cloud Storage URI입니다. Cloud Storage에 있는 이미지 파일의 문자열 URI(PNG 또는 JPEG, 최대 20MB)
mimeType 선택사항입니다. 지정한 이미지의 MIME 유형입니다. 문자열(image/jpeg 또는 image/png)
sampleCount 생성된 텍스트 문자열 수입니다. Int value: 1-3
seed (선택사항) 랜덤 숫자 생성기(RNG)의 시드. 입력이 있는 요청에서 RNG 시드가 동일하면 예측 결과가 동일합니다. 정수

샘플 요청

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  • LOCATION: 프로젝트의 리전입니다. 예를 들면 us-central1, europe-west2, asia-northeast3입니다. 사용 가능한 리전 목록은 Vertex AI의 생성형 AI 위치를 참조하세요.
  • VQA_PROMPT: 이미지에 대한 답변을 받는 질문
    • 이 신발은 무슨 색인가요?
    • 셔츠의 소매 유형은 무엇인가요?
  • B64_IMAGE: 자막을 가져올 이미지입니다. 이미지는 base64 인코딩 바이트 문자열로 지정되어야 합니다. 크기 제한: 10MB
  • RESPONSE_COUNT: 생성하려는 답변의 수. 허용되는 정수 값: 1~3.

HTTP 메서드 및 URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagetext:predict

JSON 요청 본문:

{
  "instances": [
    {
      "prompt": "VQA_PROMPT",
      "image": {
          "bytesBase64Encoded": "B64_IMAGE"
      }
    }
  ],
  "parameters": {
    "sampleCount": RESPONSE_COUNT
  }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagetext:predict"

PowerShell

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagetext:predict" | Select-Object -Expand Content
다음 샘플 응답은 "sampleCount": 2"prompt": "What is this?"가 포함된 요청에 대한 응답입니다. 응답은 예측 문자열 답변 2개를 반환합니다.
{
  "predictions": [
    "cappuccino",
    "coffee"
  ]
}

응답 본문


{
  "predictions": [
    string
  ]
}
응답 요소 설명
predictions 신뢰도별로 정렬된 VQA 답변을 나타내는 텍스트 문자열 목록입니다.

샘플 응답

다음 샘플 응답은 "sampleCount": 2"prompt": "What is this?"가 포함된 요청에 대한 응답입니다. 응답은 예측 문자열 답변 2개를 반환합니다.

{
  "predictions": [
    "cappuccino",
    "coffee"
  ],
  "deployedModelId": "DEPLOYED_MODEL_ID",
  "model": "projects/PROJECT_ID/locations/us-central1/models/MODEL_ID",
  "modelDisplayName": "MODEL_DISPLAYNAME",
  "modelVersionId": "1"
}