For the complete documentation index, see llms.txt. This page is also available as Markdown.

분류기로서의 VLM

원시 문자열을 분류 예측으로 구문 분석합니다.

v2

시각 언어 모델(VLM)과 대규모 언어 모델(LLM)에서 JSON 문자열을 추출하여, 클래스 예측을 추출하고 클래스 이름을 클래스 ID에 매핑하며, 단일 클래스 및 멀티라벨 형식을 모두 처리하고, VLM/LLM 텍스트 출력을 VLM 기반 분류, LLM 분류 파싱, 텍스트-분류 변환 워크플로에서 사용할 수 있는 워크플로 호환 분류 결과로 변환하여 표준화된 분류 예측 형식으로 파싱합니다.

이 블록의 작동 방식

이 블록은 분류 예측을 포함한 VLM/LLM 텍스트 출력을 표준화된 분류 예측 형식으로 변환합니다. 이 블록은:

  1. JSON 형식의 분류 결과를 포함한 이미지와 VLM 출력 문자열을 수신합니다

  2. VLM 출력에서 JSON 콘텐츠를 파싱합니다:

    Markdown으로 감싼 JSON을 처리합니다:

    • Markdown 코드 블록 안에 감싸진 JSON을 찾습니다 (json ... )

    • 이 형식은 LLM/VLM 응답에서 흔합니다

    • 여러 개의 markdown JSON 블록이 발견되면 첫 번째 블록만 파싱합니다

    • markdown 태그 안의 JSON 콘텐츠를 추출합니다

    원시 JSON 문자열을 처리합니다:

    • Markdown 블록이 없으면 전체 문자열을 JSON으로 파싱하려고 시도합니다

    • 표준 JSON 형식 문자열을 지원합니다

  3. 분류 형식을 감지하고 이에 따라 파싱합니다:

    단일 클래스 분류 형식:

    • "class_name" 및 "confidence" 필드를 포함하는 형식을 감지합니다

    • 예측된 클래스 이름과 신뢰도 점수를 추출합니다

    • 단일 상위 클래스로 분류 예측을 생성합니다

    • 제공된 클래스 목록을 사용하여 클래스 이름을 클래스 ID에 매핑합니다

    멀티라벨 분류 형식:

    • "predicted_classes" 배열을 포함하는 형식을 감지합니다

    • 모든 예측된 클래스와 그 신뢰도 점수를 추출합니다

    • 중복 클래스를 최대 신뢰도값으로 처리합니다

    • 제공된 클래스 목록을 사용하여 모든 클래스 이름을 클래스 ID에 매핑합니다

  4. 클래스 이름을 클래스 ID에 매핑합니다:

    • 제공된 클래스 목록을 사용하여 인덱스 매핑(class_name → class_id)을 생성합니다

    • 클래스를 순서대로 매핑합니다(첫 번째 클래스 = ID 0, 두 번째 = ID 1 등)

    • 제공된 목록에 없는 클래스는 class_id = -1을 받습니다

  5. 신뢰도 점수를 정규화합니다:

    • 신뢰도 값을 유효 범위 [0.0, 1.0]로 스케일링합니다

    • 범위를 벗어난 값은 0.0 또는 1.0으로 제한합니다

  6. 분류 예측을 구성합니다:

    • 입력 이미지의 이미지 크기(너비, 높이)를 포함합니다

    • 단일 클래스의 경우: "top" 클래스, 신뢰도, predictions 배열을 포함합니다

    • 멀티라벨의 경우: "predicted_classes" 목록과 predictions 딕셔너리를 포함합니다

    • 추적을 위해 inference_id와 parent_id를 포함합니다

    • 예측을 표준 분류 예측 형식으로 포맷합니다

  7. 오류를 처리합니다:

    • 다음 값을 설정합니다 error_status JSON 파싱이 실패하면 True로

    • 다음 값을 설정합니다 error_status 분류 형식을 판별할 수 없으면 True로 설정됩니다

    • 오류가 발생하면 예측에 대해 None을 반환합니다

    • 추적을 위해 항상 inference_id를 포함합니다

  8. 분류 예측을 반환합니다:

    • 출력 예측 표준 분류 형식으로(분류 블록과 호환됨)

    • 출력 error_status 파싱 성공/실패를 나타내는

    • 출력 inference_id 추적과 계보를 위한 특정 타입과 함께

이 블록은 VLM/LLM의 텍스트 기반 JSON 출력을 표준화된 분류 예측으로 변환하여 분류에 사용할 수 있게 함으로써, 다른 분류 모델 출력처럼 워크플로에서 VLM/LLM을 사용할 수 있게 합니다.

일반적인 사용 사례

  • VLM 기반 분류: 시각 언어 모델을 사용해 VLM 출력을 분류 예측으로 파싱하여 이미지 분류를 수행합니다(예: VLM으로 이미지 분류, GPT-4V를 분류에 사용, Claude Vision 분류 파싱), VLM 분류 워크플로를 활성화합니다

  • LLM 분류 파싱: 분류 결과를 포함한 LLM 텍스트 출력을 표준화된 형식으로 파싱합니다(예: GPT 분류 출력 파싱, LLM 예측을 분류 형식으로 변환, LLM을 분류에 사용), LLM 분류 워크플로를 활성화합니다

  • 텍스트-분류 변환: 모델의 텍스트 기반 분류 출력을 워크플로 호환 분류 예측으로 변환합니다(예: 텍스트 예측을 분류 형식으로 변환, 텍스트 기반 분류 파싱, 모델 출력을 분류로 변환), 텍스트-분류 워크플로를 활성화합니다

  • 다중 형식 분류 지원: VLM/LLM 출력에서 단일 클래스 및 멀티라벨 분류 형식을 모두 처리합니다(예: 단일 라벨 VLM 분류 지원, 멀티라벨 VLM 분류 지원, 다양한 분류 형식 처리), 유연한 분류 워크플로를 활성화합니다

  • VLM 통합: VLM 출력을 분류 워크플로에 통합합니다(예: 분류 पाइ프라인에서 VLM 사용, VLM 예측을 분류 블록과 통합, VLM과 기존 분류를 결합), VLM 통합 워크플로를 활성화합니다

  • 유연한 분류 소스: 텍스트/JSON을 출력하는 다양한 모델 유형에서 분류를 가능하게 합니다(예: 텍스트 출력 모델을 분류에 사용, 모델 출력을 분류로 변환, 다양한 분류 형식 파싱), 유연한 분류 워크플로를 활성화합니다

다른 블록에 연결하기

이 블록은 이미지와 VLM 출력을 수신하고 분류 예측을 생성합니다:

  • VLM/LLM 블록 이후 : 분류 출력을 표준 형식으로 파싱하기 위해(예: VLM 출력을 분류로 변환, LLM 출력을 분류로 변환, 모델 출력 파싱), VLM-분류 워크플로를 활성화합니다

  • 분류 기반 블록 전에 : 파싱된 분류를 사용하기 위해(예: 워크플로에서 파싱된 분류 사용, 하위 블록에 분류 제공, 분류 블록과 함께 VLM 분류 사용), 분류-워크플로 워크플로를 활성화합니다

  • 필터링 블록 이전 : VLM 분류를 기준으로 필터링하기 위해(예: VLM 분류 결과로 필터링, 필터링에 파싱된 분류 사용, VLM 예측에 필터 적용), 분류-필터 워크플로를 활성화합니다

  • 분석 블록 이전 : VLM 분류 결과를 분석하기 위해(예: VLM 분류 분석, 파싱된 분류에 대한 분석 수행, VLM 분류 지표 추적), 분류 분석 워크플로를 활성화합니다

  • 시각화 블록 이전 : VLM 분류 결과를 표시하기 위해(예: VLM 분류 시각화, 파싱된 분류 예측 표시, VLM 분류 출력 표시), 분류 시각화 워크플로를 활성화합니다

  • 워크플로 출력에서 : VLM 분류를 최종 출력으로 제공하기 위해(예: VLM 분류 출력, 파싱된 분류 결과, VLM 기반 분류 출력), 분류 출력 워크플로를 활성화합니다

버전 차이

이 버전(v2)은 v1 대비 다음과 같은 개선 사항을 포함합니다:

  • 향상된 타입 시스템: inference_id 출력은 이제 INFERENCE_ID_KIND 일반적인 STRING_KIND대신에, 워크플로 타입 시스템에서 inference ID 값에 대해 더 나은 타입 안정성과 의미적 명확성을 제공합니다

요구 사항

이 블록은 이미지 입력(메타데이터 및 크기용)과 JSON 분류 데이터를 포함한 VLM 출력 문자열이 필요합니다. JSON은 원시 JSON이거나 Markdown 코드 블록 안에 포함된 형태일 수 있습니다 (json ... ). 이 블록은 두 가지 JSON 형식을 지원합니다: 단일 클래스("class_name" 및 "confidence" 필드 포함)와 멀티라벨("predicted_classes" 배열 포함). 이 클래스 매개변수에는 class_id 매핑을 생성하는 데 모델이 사용하는 모든 클래스 이름의 목록이 포함되어야 합니다. 클래스는 인덱스 순서대로 ID에 매핑됩니다(첫 번째 클래스 = 0, 두 번째 = 1 등). 목록에 없는 클래스는 class_id = -1을 받습니다. 신뢰도 점수는 [0.0, 1.0] 범위로 정규화됩니다. 이 블록은 표준 형식(분류 블록과 호환됨)의 분류 예측, error_status(불리언), 그리고 추적용 inference_id(INFERENCE_ID_KIND)를 출력합니다.

유형 식별자

단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/vlm_as_classifier@v2 워크플로우에 이 블록을 단계로 추가하려면.

속성

이름

유형

설명

참조

name

str

이 단계에 대한 고유 식별자를 입력하세요..

클래스

List[str]

분류 모델이 사용하는 모든 클래스 이름의 목록으로, 순서대로 나열됩니다. 클래스 이름(VLM 출력에서 가져옴)과 클래스 ID(분류 형식용) 간의 매핑을 생성하는 데 필요합니다. 클래스는 인덱스 순서대로 ID에 매핑됩니다: 첫 번째 클래스 = ID 0, 두 번째 클래스 = ID 1 등. VLM 출력에 있는 클래스 중 이 목록에 없는 클래스는 class_id = -1을 받습니다. VLM이 분류하도록 요청받은 클래스와 일치해야 합니다..

참조 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 워크플로우 런타임입니다. 자세한 내용은 바인딩 을 참조하세요.

입력 및 출력 바인딩

사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 분류기로서의 VLM 버전 v2 을 가지고 있는지.

입력 및 출력 바인딩
  • 입력

    • 이미지 (이미지): VLM 예측을 생성하는 데 사용된 입력 이미지입니다. 분류 예측을 위해 이미지 크기(너비, 높이)와 메타데이터(parent_id)를 추출하는 데 사용됩니다. 일관성을 유지하기 위해 VLM/LLM 블록에 제공된 동일한 이미지를 여기서 사용해야 합니다..

    • vlm_output (언어 모델 출력): 분류 예측이 JSON 형식으로 포함된 VLM 또는 LLM 블록의 문자열 출력입니다. 원시 JSON 문자열일 수 있고(예: '{"class_name": "dog", "confidence": 0.95}') 또는 Markdown 코드 블록으로 감싼 JSON일 수 있습니다(예: json {...} ). 단일 클래스('class_name' 및 'confidence' 필드 포함) 또는 멀티라벨('predicted_classes' 배열 포함)의 두 가지 형식을 지원합니다. 여러 개의 마크다운 블록이 있으면 첫 번째 것만 파싱합니다..

    • 클래스 (list_of_values): 분류 모델이 사용하는 모든 클래스 이름의 목록으로, 순서대로 나열됩니다. 클래스 이름(VLM 출력에서 가져옴)과 클래스 ID(분류 형식용) 간의 매핑을 생성하는 데 필요합니다. 클래스는 인덱스 순서대로 ID에 매핑됩니다: 첫 번째 클래스 = ID 0, 두 번째 = ID 1 등. VLM 출력에 있는 클래스 중 이 목록에 없는 클래스는 class_id = -1을 받습니다. VLM이 분류하도록 요청받은 클래스와 일치해야 합니다..

  • 출력

예시 JSON 정의

v1

시각 언어 모델(VLM)과 대규모 언어 모델(LLM)에서 JSON 문자열을 추출하여, 클래스 예측을 추출하고 클래스 이름을 클래스 ID에 매핑하며, 단일 클래스 및 멀티라벨 형식을 모두 처리하고, VLM/LLM 텍스트 출력을 VLM 기반 분류, LLM 분류 파싱, 텍스트-분류 변환 워크플로에서 사용할 수 있는 워크플로 호환 분류 결과로 변환하여 표준화된 분류 예측 형식으로 파싱합니다.

이 블록의 작동 방식

이 블록은 분류 예측을 포함한 VLM/LLM 텍스트 출력을 표준화된 분류 예측 형식으로 변환합니다. 이 블록은:

  1. JSON 형식의 분류 결과를 포함한 이미지와 VLM 출력 문자열을 수신합니다

  2. VLM 출력에서 JSON 콘텐츠를 파싱합니다:

    Markdown으로 감싼 JSON을 처리합니다:

    • Markdown 코드 블록 안에 감싸진 JSON을 찾습니다 (json ... )

    • 이 형식은 LLM/VLM 응답에서 흔합니다

    • 여러 개의 markdown JSON 블록이 발견되면 첫 번째 블록만 파싱합니다

    • markdown 태그 안의 JSON 콘텐츠를 추출합니다

    원시 JSON 문자열을 처리합니다:

    • Markdown 블록이 없으면 전체 문자열을 JSON으로 파싱하려고 시도합니다

    • 표준 JSON 형식 문자열을 지원합니다

  3. 분류 형식을 감지하고 이에 따라 파싱합니다:

    단일 클래스 분류 형식:

    • "class_name" 및 "confidence" 필드를 포함하는 형식을 감지합니다

    • 예측된 클래스 이름과 신뢰도 점수를 추출합니다

    • 단일 상위 클래스로 분류 예측을 생성합니다

    • 제공된 클래스 목록을 사용하여 클래스 이름을 클래스 ID에 매핑합니다

    멀티라벨 분류 형식:

    • "predicted_classes" 배열을 포함하는 형식을 감지합니다

    • 모든 예측된 클래스와 그 신뢰도 점수를 추출합니다

    • 중복 클래스를 최대 신뢰도값으로 처리합니다

    • 제공된 클래스 목록을 사용하여 모든 클래스 이름을 클래스 ID에 매핑합니다

  4. 클래스 이름을 클래스 ID에 매핑합니다:

    • 제공된 클래스 목록을 사용하여 인덱스 매핑(class_name → class_id)을 생성합니다

    • 클래스를 순서대로 매핑합니다(첫 번째 클래스 = ID 0, 두 번째 = ID 1 등)

    • 제공된 목록에 없는 클래스는 class_id = -1을 받습니다

  5. 신뢰도 점수를 정규화합니다:

    • 신뢰도 값을 유효 범위 [0.0, 1.0]로 스케일링합니다

    • 범위를 벗어난 값은 0.0 또는 1.0으로 제한합니다

  6. 분류 예측을 구성합니다:

    • 입력 이미지의 이미지 크기(너비, 높이)를 포함합니다

    • 단일 클래스의 경우: "top" 클래스, 신뢰도, predictions 배열을 포함합니다

    • 멀티라벨의 경우: "predicted_classes" 목록과 predictions 딕셔너리를 포함합니다

    • 추적을 위해 inference_id와 parent_id를 포함합니다

    • 예측을 표준 분류 예측 형식으로 포맷합니다

  7. 오류를 처리합니다:

    • 다음 값을 설정합니다 error_status JSON 파싱이 실패하면 True로

    • 다음 값을 설정합니다 error_status 분류 형식을 판별할 수 없으면 True로 설정됩니다

    • 오류가 발생하면 예측에 대해 None을 반환합니다

    • 추적을 위해 항상 inference_id를 포함합니다

  8. 분류 예측을 반환합니다:

    • 출력 예측 표준 분류 형식으로(분류 블록과 호환됨)

    • 출력 error_status 파싱 성공/실패를 나타내는

    • 출력 inference_id 추적 및 계보(lineage)용

이 블록은 VLM/LLM의 텍스트 기반 JSON 출력을 표준화된 분류 예측으로 변환하여 분류에 사용할 수 있게 함으로써, 다른 분류 모델 출력처럼 워크플로에서 VLM/LLM을 사용할 수 있게 합니다.

일반적인 사용 사례

  • VLM 기반 분류: 시각 언어 모델을 사용해 VLM 출력을 분류 예측으로 파싱하여 이미지 분류를 수행합니다(예: VLM으로 이미지 분류, GPT-4V를 분류에 사용, Claude Vision 분류 파싱), VLM 분류 워크플로를 활성화합니다

  • LLM 분류 파싱: 분류 결과를 포함한 LLM 텍스트 출력을 표준화된 형식으로 파싱합니다(예: GPT 분류 출력 파싱, LLM 예측을 분류 형식으로 변환, LLM을 분류에 사용), LLM 분류 워크플로를 활성화합니다

  • 텍스트-분류 변환: 모델의 텍스트 기반 분류 출력을 워크플로 호환 분류 예측으로 변환합니다(예: 텍스트 예측을 분류 형식으로 변환, 텍스트 기반 분류 파싱, 모델 출력을 분류로 변환), 텍스트-분류 워크플로를 활성화합니다

  • 다중 형식 분류 지원: VLM/LLM 출력에서 단일 클래스 및 멀티라벨 분류 형식을 모두 처리합니다(예: 단일 라벨 VLM 분류 지원, 멀티라벨 VLM 분류 지원, 다양한 분류 형식 처리), 유연한 분류 워크플로를 활성화합니다

  • VLM 통합: VLM 출력을 분류 워크플로에 통합합니다(예: 분류 पाइ프라인에서 VLM 사용, VLM 예측을 분류 블록과 통합, VLM과 기존 분류를 결합), VLM 통합 워크플로를 활성화합니다

  • 유연한 분류 소스: 텍스트/JSON을 출력하는 다양한 모델 유형에서 분류를 가능하게 합니다(예: 텍스트 출력 모델을 분류에 사용, 모델 출력을 분류로 변환, 다양한 분류 형식 파싱), 유연한 분류 워크플로를 활성화합니다

다른 블록에 연결하기

이 블록은 이미지와 VLM 출력을 수신하고 분류 예측을 생성합니다:

  • VLM/LLM 블록 이후 : 분류 출력을 표준 형식으로 파싱하기 위해(예: VLM 출력을 분류로 변환, LLM 출력을 분류로 변환, 모델 출력 파싱), VLM-분류 워크플로를 활성화합니다

  • 분류 기반 블록 전에 : 파싱된 분류를 사용하기 위해(예: 워크플로에서 파싱된 분류 사용, 하위 블록에 분류 제공, 분류 블록과 함께 VLM 분류 사용), 분류-워크플로 워크플로를 활성화합니다

  • 필터링 블록 이전 : VLM 분류를 기준으로 필터링하기 위해(예: VLM 분류 결과로 필터링, 필터링에 파싱된 분류 사용, VLM 예측에 필터 적용), 분류-필터 워크플로를 활성화합니다

  • 분석 블록 이전 : VLM 분류 결과를 분석하기 위해(예: VLM 분류 분석, 파싱된 분류에 대한 분석 수행, VLM 분류 지표 추적), 분류 분석 워크플로를 활성화합니다

  • 시각화 블록 이전 : VLM 분류 결과를 표시하기 위해(예: VLM 분류 시각화, 파싱된 분류 예측 표시, VLM 분류 출력 표시), 분류 시각화 워크플로를 활성화합니다

  • 워크플로 출력에서 : VLM 분류를 최종 출력으로 제공하기 위해(예: VLM 분류 출력, 파싱된 분류 결과, VLM 기반 분류 출력), 분류 출력 워크플로를 활성화합니다

요구 사항

이 블록은 이미지 입력(메타데이터 및 크기용)과 JSON 분류 데이터를 포함한 VLM 출력 문자열이 필요합니다. JSON은 원시 JSON이거나 Markdown 코드 블록 안에 포함된 형태일 수 있습니다 (json ... ). 이 블록은 두 가지 JSON 형식을 지원합니다: 단일 클래스("class_name" 및 "confidence" 필드 포함)와 멀티라벨("predicted_classes" 배열 포함). 이 클래스 매개변수에는 class_id 매핑을 생성하는 데 모델이 사용하는 모든 클래스 이름의 목록이 포함되어야 합니다. 클래스는 인덱스 순서대로 ID에 매핑됩니다(첫 번째 클래스 = 0, 두 번째 = 1 등). 목록에 없는 클래스는 class_id = -1을 받습니다. 신뢰도 점수는 [0.0, 1.0] 범위로 정규화됩니다. 이 블록은 표준 형식(분류 블록과 호환됨)의 분류 예측, error_status(불리언), 그리고 추적용 inference_id(문자열)를 출력합니다.

유형 식별자

단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/vlm_as_classifier@v1 워크플로우에 이 블록을 단계로 추가하려면.

속성

이름

유형

설명

참조

name

str

이 단계에 대한 고유 식별자를 입력하세요..

클래스

List[str]

분류 모델이 사용하는 모든 클래스 이름의 목록으로, 순서대로 나열됩니다. 클래스 이름(VLM 출력에서 가져옴)과 클래스 ID(분류 형식용) 간의 매핑을 생성하는 데 필요합니다. 클래스는 인덱스 순서대로 ID에 매핑됩니다: 첫 번째 클래스 = ID 0, 두 번째 클래스 = ID 1 등. VLM 출력에 있는 클래스 중 이 목록에 없는 클래스는 class_id = -1을 받습니다. VLM이 분류하도록 요청받은 클래스와 일치해야 합니다..

참조 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 워크플로우 런타임입니다. 자세한 내용은 바인딩 을 참조하세요.

입력 및 출력 바인딩

사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 분류기로서의 VLM 버전 v1 을 가지고 있는지.

입력 및 출력 바인딩
  • 입력

    • 이미지 (이미지): VLM 예측을 생성하는 데 사용된 입력 이미지입니다. 분류 예측을 위해 이미지 크기(너비, 높이)와 메타데이터(parent_id)를 추출하는 데 사용됩니다. 일관성을 유지하기 위해 VLM/LLM 블록에 제공된 동일한 이미지를 여기서 사용해야 합니다..

    • vlm_output (언어 모델 출력): 분류 예측이 JSON 형식으로 포함된 VLM 또는 LLM 블록의 문자열 출력입니다. 원시 JSON 문자열일 수 있고(예: '{"class_name": "dog", "confidence": 0.95}') 또는 Markdown 코드 블록으로 감싼 JSON일 수 있습니다(예: json {...} ). 단일 클래스('class_name' 및 'confidence' 필드 포함) 또는 멀티라벨('predicted_classes' 배열 포함)의 두 가지 형식을 지원합니다. 여러 개의 마크다운 블록이 있으면 첫 번째 것만 파싱합니다..

    • 클래스 (list_of_values): 분류 모델이 사용하는 모든 클래스 이름의 목록으로, 순서대로 나열됩니다. 클래스 이름(VLM 출력에서 가져옴)과 클래스 ID(분류 형식용) 간의 매핑을 생성하는 데 필요합니다. 클래스는 인덱스 순서대로 ID에 매핑됩니다: 첫 번째 클래스 = ID 0, 두 번째 = ID 1 등. VLM 출력에 있는 클래스 중 이 목록에 없는 클래스는 class_id = -1을 받습니다. VLM이 분류하도록 요청받은 클래스와 일치해야 합니다..

  • 출력

예시 JSON 정의

마지막 업데이트

도움이 되었나요?