분류기로서의 VLM
원시 문자열을 분류 예측으로 구문 분석합니다.
v2
시각 언어 모델(VLM)과 대규모 언어 모델(LLM)에서 JSON 문자열을 추출하여, 클래스 예측을 추출하고 클래스 이름을 클래스 ID에 매핑하며, 단일 클래스 및 멀티라벨 형식을 모두 처리하고, VLM/LLM 텍스트 출력을 VLM 기반 분류, LLM 분류 파싱, 텍스트-분류 변환 워크플로에서 사용할 수 있는 워크플로 호환 분류 결과로 변환하여 표준화된 분류 예측 형식으로 파싱합니다.
이 블록의 작동 방식
이 블록은 분류 예측을 포함한 VLM/LLM 텍스트 출력을 표준화된 분류 예측 형식으로 변환합니다. 이 블록은:
JSON 형식의 분류 결과를 포함한 이미지와 VLM 출력 문자열을 수신합니다
VLM 출력에서 JSON 콘텐츠를 파싱합니다:
Markdown으로 감싼 JSON을 처리합니다:
Markdown 코드 블록 안에 감싸진 JSON을 찾습니다 (
json ...)이 형식은 LLM/VLM 응답에서 흔합니다
여러 개의 markdown JSON 블록이 발견되면 첫 번째 블록만 파싱합니다
markdown 태그 안의 JSON 콘텐츠를 추출합니다
원시 JSON 문자열을 처리합니다:
Markdown 블록이 없으면 전체 문자열을 JSON으로 파싱하려고 시도합니다
표준 JSON 형식 문자열을 지원합니다
분류 형식을 감지하고 이에 따라 파싱합니다:
단일 클래스 분류 형식:
"class_name" 및 "confidence" 필드를 포함하는 형식을 감지합니다
예측된 클래스 이름과 신뢰도 점수를 추출합니다
단일 상위 클래스로 분류 예측을 생성합니다
제공된 클래스 목록을 사용하여 클래스 이름을 클래스 ID에 매핑합니다
멀티라벨 분류 형식:
"predicted_classes" 배열을 포함하는 형식을 감지합니다
모든 예측된 클래스와 그 신뢰도 점수를 추출합니다
중복 클래스를 최대 신뢰도값으로 처리합니다
제공된 클래스 목록을 사용하여 모든 클래스 이름을 클래스 ID에 매핑합니다
클래스 이름을 클래스 ID에 매핑합니다:
제공된 클래스 목록을 사용하여 인덱스 매핑(class_name → class_id)을 생성합니다
클래스를 순서대로 매핑합니다(첫 번째 클래스 = ID 0, 두 번째 = ID 1 등)
제공된 목록에 없는 클래스는 class_id = -1을 받습니다
신뢰도 점수를 정규화합니다:
신뢰도 값을 유효 범위 [0.0, 1.0]로 스케일링합니다
범위를 벗어난 값은 0.0 또는 1.0으로 제한합니다
분류 예측을 구성합니다:
입력 이미지의 이미지 크기(너비, 높이)를 포함합니다
단일 클래스의 경우: "top" 클래스, 신뢰도, predictions 배열을 포함합니다
멀티라벨의 경우: "predicted_classes" 목록과 predictions 딕셔너리를 포함합니다
추적을 위해 inference_id와 parent_id를 포함합니다
예측을 표준 분류 예측 형식으로 포맷합니다
오류를 처리합니다:
다음 값을 설정합니다
error_statusJSON 파싱이 실패하면 True로다음 값을 설정합니다
error_status분류 형식을 판별할 수 없으면 True로 설정됩니다오류가 발생하면 예측에 대해 None을 반환합니다
추적을 위해 항상 inference_id를 포함합니다
분류 예측을 반환합니다:
출력
예측표준 분류 형식으로(분류 블록과 호환됨)출력
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이 분류하도록 요청받은 클래스와 일치해야 합니다..
출력
error_status(boolean): 불리언 플래그.예측(classification_prediction): 분류기의 예측 결과.inference_id(inference_id): 추론 식별자.
v1
시각 언어 모델(VLM)과 대규모 언어 모델(LLM)에서 JSON 문자열을 추출하여, 클래스 예측을 추출하고 클래스 이름을 클래스 ID에 매핑하며, 단일 클래스 및 멀티라벨 형식을 모두 처리하고, VLM/LLM 텍스트 출력을 VLM 기반 분류, LLM 분류 파싱, 텍스트-분류 변환 워크플로에서 사용할 수 있는 워크플로 호환 분류 결과로 변환하여 표준화된 분류 예측 형식으로 파싱합니다.
이 블록의 작동 방식
이 블록은 분류 예측을 포함한 VLM/LLM 텍스트 출력을 표준화된 분류 예측 형식으로 변환합니다. 이 블록은:
JSON 형식의 분류 결과를 포함한 이미지와 VLM 출력 문자열을 수신합니다
VLM 출력에서 JSON 콘텐츠를 파싱합니다:
Markdown으로 감싼 JSON을 처리합니다:
Markdown 코드 블록 안에 감싸진 JSON을 찾습니다 (
json ...)이 형식은 LLM/VLM 응답에서 흔합니다
여러 개의 markdown JSON 블록이 발견되면 첫 번째 블록만 파싱합니다
markdown 태그 안의 JSON 콘텐츠를 추출합니다
원시 JSON 문자열을 처리합니다:
Markdown 블록이 없으면 전체 문자열을 JSON으로 파싱하려고 시도합니다
표준 JSON 형식 문자열을 지원합니다
분류 형식을 감지하고 이에 따라 파싱합니다:
단일 클래스 분류 형식:
"class_name" 및 "confidence" 필드를 포함하는 형식을 감지합니다
예측된 클래스 이름과 신뢰도 점수를 추출합니다
단일 상위 클래스로 분류 예측을 생성합니다
제공된 클래스 목록을 사용하여 클래스 이름을 클래스 ID에 매핑합니다
멀티라벨 분류 형식:
"predicted_classes" 배열을 포함하는 형식을 감지합니다
모든 예측된 클래스와 그 신뢰도 점수를 추출합니다
중복 클래스를 최대 신뢰도값으로 처리합니다
제공된 클래스 목록을 사용하여 모든 클래스 이름을 클래스 ID에 매핑합니다
클래스 이름을 클래스 ID에 매핑합니다:
제공된 클래스 목록을 사용하여 인덱스 매핑(class_name → class_id)을 생성합니다
클래스를 순서대로 매핑합니다(첫 번째 클래스 = ID 0, 두 번째 = ID 1 등)
제공된 목록에 없는 클래스는 class_id = -1을 받습니다
신뢰도 점수를 정규화합니다:
신뢰도 값을 유효 범위 [0.0, 1.0]로 스케일링합니다
범위를 벗어난 값은 0.0 또는 1.0으로 제한합니다
분류 예측을 구성합니다:
입력 이미지의 이미지 크기(너비, 높이)를 포함합니다
단일 클래스의 경우: "top" 클래스, 신뢰도, predictions 배열을 포함합니다
멀티라벨의 경우: "predicted_classes" 목록과 predictions 딕셔너리를 포함합니다
추적을 위해 inference_id와 parent_id를 포함합니다
예측을 표준 분류 예측 형식으로 포맷합니다
오류를 처리합니다:
다음 값을 설정합니다
error_statusJSON 파싱이 실패하면 True로다음 값을 설정합니다
error_status분류 형식을 판별할 수 없으면 True로 설정됩니다오류가 발생하면 예측에 대해 None을 반환합니다
추적을 위해 항상 inference_id를 포함합니다
분류 예측을 반환합니다:
출력
예측표준 분류 형식으로(분류 블록과 호환됨)출력
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이 분류하도록 요청받은 클래스와 일치해야 합니다..
출력
error_status(boolean): 불리언 플래그.예측(classification_prediction): 분류기의 예측 결과.inference_id(string): 문자열 값.
마지막 업데이트
도움이 되었나요?