日本語
品質保証のためのデータ検証・チェックツール
- id: validate_document name: validate_document tool: CHECKER_CHECK_BY_JSON input: - name: text value: "{{steps.extract_document.result.content}}" - name: task_name value: "契約コンプライアンスチェック" - name: description value: "契約文書の法的要件に対する検証" - name: rules value: | [ { "rule": "署名セクションが必要", "pattern": "署名|サイン|執行者", "required": true }, { "rule": "終了条項を含む必要", "pattern": "終了|契約終了|期限切れ", "required": true }, { "rule": "支払い条件を明記すべき", "pattern": "支払い|請求|請求書|期限", "required": false } ]
- id: extract_data name: extract_data tool: EXCEL_GET_ROWS input: - name: file_url value: "{{steps.input_file.result.file_url}}" - name: range value: "A1:E100" - id: validate_data_quality name: validate_data_quality tool: CHECKER_CHECK_BY_JSON input: - name: text value: "{{steps.extract_data.result.content | join('\n')}}" - name: task_name value: "顧客データ検証" - name: rules value: | [ { "rule": "メール形式検証", "pattern": "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}", "required": true }, { "rule": "電話番号形式", "pattern": "\\+?[1-9]\\d{1,14}", "required": true }, { "rule": "完全な住所情報", "pattern": "丁目|番地|通り|街|市|区", "required": false } ] - id: process_validation_results name: process_validation_results tool: PYTHON_SANDBOX_RUN input: - name: code value: | import json validation_results = {{steps.validate_data_quality.result.results}} # 検証ステータスをカウント accepted = sum(1 for r in validation_results if r['status'] == 'accepted') rejected = sum(1 for r in validation_results if r['status'] == 'rejected') pending = sum(1 for r in validation_results if r['status'] == 'pending') print(f"検証サマリー:") print(f"✅ 承認: {accepted}") print(f"❌ 拒否: {rejected}") print(f"⏳ 保留: {pending}") # 拒否された項目を理由とともにリスト if rejected > 0: print("\n拒否された項目:") for result in validation_results: if result['status'] == 'rejected': print(f"- {result['rule']}: {result['reason']}")
- id: upload_rules_file name: upload_rules_file tool: INPUT_FILE input: - name: description value: "検証ルールCSVファイルをアップロード" - id: validate_with_checklist name: validate_with_checklist tool: CHECKLIST input: - name: file_url value: "{{steps.input_data.result.file_url}}" - name: rules_file value: "{{steps.upload_rules_file.result.file_url}}" - name: task_name value: "バッチデータ検証" - id: advanced_validation name: advanced_validation tool: JINBA_MODULES_CHECKER_V2 input: - name: file_url value: "{{steps.input_data.result.file_url}}" - name: rules_json value: | { "validation_rules": [ { "field": "email", "type": "email", "required": true, "error_message": "有効なメールアドレスが必要です" }, { "field": "age", "type": "number", "min": 18, "max": 120, "required": true, "error_message": "年齢は18から120の間である必要があります" }, { "field": "country", "type": "enum", "values": ["US", "UK", "CA", "AU", "JP"], "required": true, "error_message": "国は承認リストから選択する必要があります" } ] }
{ "rule": "メール形式検証", "status": "accepted|rejected|pending", "range": "該当する場合の文字範囲", "reason": "検証結果の詳細説明" }