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

JSON 파서

원시 문자열을 JSON으로 파싱합니다.

JSON 문자열(원시 JSON 또는 Markdown 코드 블록으로 감싼 JSON)을 구조화된 데이터로 파싱하여 지정된 필드를 추출하고 개별 출력으로 노출함으로써, JSON 구문 분석, LLM/VLM 출력 처리, 구조화된 데이터 추출, 그리고 JSON 문자열을 사용할 수 있는 워크플로 데이터로 변환해야 하는 구성 파싱 워크플로를 지원합니다.

이 블록의 작동 방식

이 블록은 JSON 문자열을 파싱하고 지정된 필드를 개별 출력으로 추출합니다. 이 블록은:

  1. JSON 문자열 입력을 받습니다(일반적으로 LLM/VLM 블록 또는 워크플로 입력에서 옴)

  2. JSON 내용을 감지하고 추출합니다:

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

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

    • 이 형식은 LLM/VLM 응답에서 매우 흔합니다(예: GPT 응답)

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

    • Markdown 태그 안에서 JSON 내용을 추출합니다

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

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

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

  3. JSON 내용을 파싱합니다:

    • Python의 JSON 파서를 사용하여 문자열을 JSON 객체/딕셔너리로 변환합니다

    • 파싱 오류를 우아하게 처리합니다(파싱에 실패하면 모든 필드에 대해 None을 반환)

  4. 예상 필드를 추출합니다:

    • 다음에 지정된 각 필드의 값을 가져옵니다 expected_fields 매개변수

    • 각 예상 필드에 대해 파싱된 JSON에서 해당 키를 조회합니다

    • 필드 값을 반환합니다(또는 필드가 없으면 None)

  5. 오류 상태를 설정합니다:

    • error_status 로 설정됩니다 True 예상 필드 중 적어도 하나를 파싱된 JSON에서 가져올 수 없는 경우

    • error_status 로 설정됩니다 False 모든 예상 필드가 발견되면(여러 개의 Markdown 블록이 있어도 첫 번째 블록만 파싱됨)

    • 오류 상태는 항상 출력에 포함되므로, 하위 블록에서 파싱 성공 여부를 확인할 수 있습니다

  6. 필드를 출력으로 노출합니다:

    • 다음의 각 필드는 expected_fields 필드 이름을 가진 별도의 출력이 됩니다

    • 필드 값은 파싱된 JSON에서 추출되어 출력으로 제공됩니다

    • 누락된 필드는 None으로 설정됩니다

    • 모든 출력은 다음을 사용해 참조할 수 있습니다 $steps.block_name.field_name 구문

  7. 파싱된 데이터를 반환합니다:

    • 출력에는 다음이 포함됩니다: error_status (boolean)과 모든 예상 필드

    • 필드에는 JSON에서 추출된 값이 들어갑니다(없으면 None)

    • 출력은 이후 워크플로 단계에서 사용할 수 있습니다

이 블록은 JSON을 반환하는 LLM/VLM 출력 처리, JSON 문자열에서 구조화된 구성 추출, 그리고 JSON 응답을 워크플로에서 사용할 수 있는 데이터로 파싱하는 데 특히 유용합니다. LLM이 JSON을 Markdown 코드 블록으로 감싸는 일반적인 경우도 처리합니다.

일반적인 사용 사례

  • LLM/VLM 출력 처리: 대규모 언어 모델과 시각 언어 모델의 JSON 출력 파싱(예: GPT JSON 응답 파싱, LLM 출력에서 구조화된 데이터 추출, VLM JSON 응답 처리)을 수행하여 LLM/VLM 출력 처리 워크플로를 지원합니다

  • 구조화된 데이터 추출: 워크플로에서 사용할 JSON 문자열로부터 구조화된 데이터를 추출합니다(예: 구성 매개변수 추출, JSON 응답 파싱, 구조화된 필드 추출). 구조화된 데이터 추출 워크플로를 지원합니다

  • 구성 파싱: JSON 구성 문자열을 워크플로 매개변수로 파싱합니다(예: 모델 구성 파싱, 워크플로 매개변수 추출, JSON 설정 파싱). 구성 파싱 워크플로를 지원합니다

  • JSON 응답 처리: API나 모델의 JSON 응답을 처리합니다(예: API JSON 응답 파싱, JSON에서 필드 추출, JSON 데이터 처리). JSON 응답 처리 워크플로를 지원합니다

  • 동적 매개변수 추출: 워크플로 단계에서 사용할 수 있도록 JSON 문자열에서 동적 매개변수를 추출합니다(예: JSON에서 모델 ID 추출, 동적 구성 파싱, 매개변수 동적 추출). 동적 매개변수 워크플로를 지원합니다

  • 데이터 형식 변환: JSON 문자열을 구조화된 워크플로 데이터로 변환합니다(예: JSON을 워크플로 입력으로 변환, 워크플로 사용을 위한 JSON 파싱, JSON 필드 추출). 데이터 형식 변환 워크플로를 지원합니다

다른 블록에 연결하기

이 블록은 JSON 문자열을 받아 파싱된 필드 출력을 생성합니다:

  • LLM/VLM 블록 뒤에 JSON 출력을 구조화된 데이터로 파싱하기 위해(예: LLM JSON 출력 파싱, VLM JSON 필드 추출, 모델 JSON 응답 처리), LLM/VLM에서 파서로 이어지는 워크플로를 지원합니다

  • 워크플로 입력 뒤에 JSON 입력 매개변수를 파싱하기 위해(예: JSON 구성 입력 파싱, JSON 매개변수 추출, JSON 워크플로 입력 처리), 입력-파서 워크플로를 지원합니다

  • 모델 블록 앞에 파싱된 필드를 모델 매개변수로 사용하기 위해(예: 파싱된 model_id를 모델에 사용, 파싱된 구성을 모델 설정에 사용, 파싱된 매개변수를 모델에 제공), 파서-모델 워크플로를 지원합니다

  • 로직 블록 이전 파싱된 필드를 조건에 사용하기 위해(예: Continue If에서 파싱된 값 사용, 파싱된 필드에 따라 필터링, 파싱된 데이터를 사용해 의사 결정), 파서-로직 워크플로를 지원합니다

  • 데이터 저장 블록 앞에서 파싱된 필드 값을 저장하기 위해(예: 파싱된 JSON 필드 저장, 파싱된 값 기록, 파싱된 데이터 저장), 파서-저장소 워크플로를 지원합니다

  • 워크플로 출력에서 파싱된 필드를 최종 출력으로 제공하기 위해(예: JSON 파싱 출력, 구조화된 데이터 출력, 파싱된 필드 출력), 파서-출력 워크플로를 지원합니다

요구 사항

이 블록은 JSON 문자열 입력(원시 JSON 또는 Markdown 코드 블록으로 감싼 JSON)을 필요로 합니다. The expected_fields parameter는 출력으로 추출할 JSON 필드를 지정합니다(필드 이름은 유효한 JSON 키여야 함). The error_status field name은 예약되어 있으며 다음에서 사용할 수 없습니다 expected_fields. 이 블록은 원시 JSON 문자열과 Markdown 코드 블록으로 감싼 JSON 모두를 지원합니다(json ... ). 여러 개의 Markdown 블록이 발견되면 첫 번째 블록만 파싱됩니다. 파싱에 실패하거나 예상 필드가 누락되면 필드는 None으로 설정되고 error_status 은 True로 설정됩니다. 모든 예상 필드는 이후 워크플로 단계에서 참조할 수 있는 별도의 출력이 됩니다.

유형 식별자

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

속성

이름

유형

설명

참조

name

str

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

raw_json

str

파싱할 JSON 문자열입니다. 원시 JSON 문자열(예: '{"key": "value"}')이거나 Markdown 코드 블록으로 감싼 JSON(예: json {"key": "value"} ). Markdown으로 감싼 JSON은 LLM/VLM 응답에서 흔합니다. 여러 개의 Markdown JSON 블록이 있으면 첫 번째 블록만 파싱됩니다. 문자열은 Python의 JSON 파서를 사용해 파싱되며, 지정된 필드가 출력으로 추출됩니다..

expected_fields

List[str]

파싱된 JSON에서 추출할 JSON 필드 이름의 목록입니다. 각 필드는 이후 워크플로 단계에서 참조할 수 있는 별도의 출력이 됩니다(예: $steps.block_name.field_name). JSON에 존재하는 필드는 해당 값과 함께 추출되며, 누락된 필드는 None으로 설정됩니다. 'error_status' 필드 이름은 예약되어 있으며(항상 출력에 포함됨) 이 목록에서 사용할 수 없습니다. 필드 이름은 JSON 키와 정확히 일치해야 합니다..

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

입력 및 출력 바인딩

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

입력 및 출력 바인딩
  • 입력

    • raw_json (언어 모델 출력): 파싱할 JSON 문자열입니다. 원시 JSON 문자열(예: '{"key": "value"}')이거나 Markdown 코드 블록으로 감싼 JSON(예: json {"key": "value"} ). Markdown으로 감싼 JSON은 LLM/VLM 응답에서 흔합니다. 여러 개의 Markdown JSON 블록이 있으면 첫 번째 블록만 파싱됩니다. 문자열은 Python의 JSON 파서를 사용해 파싱되며, 지정된 필드가 출력으로 추출됩니다..

  • 출력

    • error_status (boolean): 불리언 플래그.

    • * (*): 어떤 요소와도 동일한 값.

예시 JSON 정의

마지막 업데이트

도움이 되었나요?