콘텐츠로 이동

Text NLP AI 단계는 데이터에 대해 행별 작업 7가지 중 하나를 실행하며, 각 작업은 구조화된(강제 도구 사용) LLM 호출의 배치로 처리됩니다. 작업은 개체명 인식, 품사 태깅, 요약, 제로샷 분류, 키/값 추출, 프롬프트, 임베딩입니다. 이 단계는 관리형 PlaidCloud 작업으로 실행되므로(ML: 모델 학습 및 LLM 단계와 동일), 워크플로의 나머지 부분과 리소스를 놓고 경쟁하지 않습니다.

모든 작업은 실제 LLM 호출이므로 실행 간 결과가 비트 단위로 똑같이 재현되지는 않습니다. 비결정성을 참조하십시오.

  • 소스 / 출력 테이블 — 입력 테이블과 결과가 기록되는 테이블입니다.
  • 텍스트 열 (field) — 각 작업이 읽는 열입니다.
  • 작업 (task) — ner, pos, summary, zeroshot, keyvalue, prompt 중 하나입니다. embed 작업은 양식의 작업 목록에 없으며, AI 어시스턴트 또는 REST API로 설정합니다.
  • 언어 (language) — 모델에 전달되는 텍스트의 언어입니다. 기본값은 en입니다.
  • LLM 연결 (llm_connection_id) — Anthropic, OpenAI, Gemini, Azure OpenAI, Grok 또는 GitHub Models용 LLM 연결입니다. 비워 두면 워크스페이스 기본값을 사용합니다.
  • 모델 (llm_model) — 비워 두면 연결의 기본 모델을 사용합니다.
  • 온도 (temperature) — 선택 사항인 샘플링 온도입니다. 비결정성을 참조하십시오. 최신 세대 모델은 이 값을 무시합니다.
  • 최대 행 수 (max_rows) — 소스 순서대로 처음 N개 행에만 응답합니다. 나머지 행은 빈 응답으로 유지됩니다. 모든 행을 처리하려면 비워 두십시오.
  • 배치 크기 (batch_size) — LLM 호출 한 번에 보내는 행 수이며 1에서 500 사이입니다. 기본값은 25입니다. 응답이 잘린 배치는 행을 잃지 않도록 절반으로 나누어 다시 시도합니다.

네 가지 작업은 입력 행마다 출력 행 하나를 반환하며(행 보존), 세 가지 작업은 입력 행마다 0개 이상의 행을 반환하고 소스의 식별자 열(id_columns)을 각 행에 전달합니다(행 확장).

작업 팬아웃 출력 열 작업별 필드
개체명 인식 (ner) 행 확장 entity_text, entity_type 엔터티 유형 (entity_types) — 허용되는 유형 목록입니다. 비워 두면 기본값은 people, organizations, locations, dates, quantities입니다.
품사 태거 (pos) 행 확장 token, pos (범용 품사 태그, 예: NOUN, VERB, ADJ) 없음.
요약 (summary) 행 보존 summary 요약 길이 (summary_length) — 최대 문장 수이며 1에서 20 사이입니다. 기본값은 3입니다.
제로샷 분류 (zeroshot) 행 보존 label, score (0에서 1) 레이블 필드 (label_field) — 각 행의 후보 레이블이 들어 있는 소스 열입니다. 이 필드가 없으면 모델이 선택할 대상이 없습니다. 다중 레이블 (multi) — 가장 적합한 레이블 하나만 고르는 대신 행마다 둘 이상의 레이블을 허용합니다(, 로 연결).
프롬프트 (prompt) 행 보존 answer, error 프롬프트 (prompt) — 모든 행에 적용되는 지침이며 필수입니다. 입력 필드 (input_fields) — 프롬프트와 함께 모델에 보내는 열이며 행마다 하나의 레코드로 전송됩니다. 비워 두면 텍스트 열을 보냅니다.
임베딩 (embed) 행 보존 embedding (숫자의 JSON 배열), error 없음. AI 어시스턴트 또는 REST API로 설정합니다. OpenAI 호환 연결 또는 Azure OpenAI 연결이 필요하며, 연결의 기본 모델은 대개 채팅 모델이므로 단계의 모델에 임베딩 모델을 지정해야 합니다. Anthropic 연결은 임베딩 API가 없으므로 거부됩니다. 요청이 실패하면 해당 배치의 모든 행이 유지되며, embedding은 비어 있고 이유는 error에 기록됩니다.
키/값 쌍 (keyvalue) 행 확장 key, value 키 필드 (key_field) — 각 행에서 추출할 후보 키가 들어 있는 소스 열입니다. 비워 두면 모델이 키를 자유롭게 찾습니다. 퍼지 (fuzzy) — 후보 키를 정확히 일치시키는 대신 느슨하게 일치시킵니다.

ID 열 (id_columns)은 행 확장 작업의 모든 출력 행에 소스 테이블의 식별 열을 전달하므로, 추출된 엔터티나 쌍을 원본 레코드까지 추적할 수 있습니다. ID 열의 이름은 작업 자체의 출력 열 이름과 같을 수 없습니다. 예를 들어 ner 작업에서 ID 열 이름을 entity_type으로 지정하면 단계를 저장할 때 거부되며 다음 메시지가 표시됩니다. ID column ‘entity_type’ has the name of a column the ner task writes; rename or remove it.

error 열에는 해당 행에서 실패한 호출의 메시지가 담깁니다. 프롬프트 작업은 다른 작업이 다루지 않는 모든 행별 질문에 사용하며, 예를 들어 이 리뷰의 감성을 분류하세요. 같은 지시입니다. 필드 값은 데이터로 전송되며 모델에 대한 지시로 전달되지 않습니다.

프롬프트 작업에서 문서 열 (content_field)은 각 행의 문서를 Base64로 보관하는 열을 지정합니다. 이 경우 단계는 호출마다 문서 하나를 보냅니다. 문서는 공급자가 해당 유형과 크기를 허용하면 이미지 또는 PDF로 공급자에게 전달됩니다. 그렇지 않으면 단계는 텍스트 대체 열 (text_fallback_field)의 텍스트(예: OCR 텍스트)를 보냅니다. 문서 전체가 PlaidCloud를 떠나 공급자에게 전달되므로 데이터에 허용되는 방식인지 확인하십시오. 행은 한 번에 하나씩 전송되므로 배치 크기는 무시됩니다. 배치가 실패하면 해당 행은 빈 answer로 유지되고 단계가 경고를 표시합니다.

소스 테이블이 없거나(Source table is required.), 배치 크기 또는 요약 길이가 위에 나온 범위를 벗어난 경우에도 저장이 거부됩니다.

모든 작업은 LLM에 대한 실제 호출이므로 입력이 같더라도 실행마다 결과가 달라질 수 있습니다. 비트 단위의 동일성은 보장되지 않으며, 이는 버그가 아니라 예상된 동작입니다.

온도에는 또 다른 문제가 있습니다. 최신 세대 모델(Opus 4.7+, Sonnet 5+, Fable)은 명시적인 샘플링 온도를 아예 거부합니다. 온도를 설정하면 단계가 한 번 시도하고, 첫 거부가 감지되면 나머지 배치에서는 모델 자체의 서버 기본값으로 되돌아가며, 단계 결과에는 실패 대신 한 번만 표시되는 안내 메모가 포함됩니다. 온도를 비워 두면(기본값) 이 왕복 과정이 완전히 생략되며, 최신 모델에서 권장되는 설정입니다.

  • ML: 모델 학습 — 행마다 LLM을 호출하는 대신 모델을 학습합니다.
  • LLM 단계 — 고정된 행별 작업 대신, 범위가 지정된 프로젝트 읽기/쓰기 접근 권한을 갖는 자유 형식의 에이전트형 LLM 호출입니다.
  • Alteryx 변환 매트릭스 — 개체명 인식, 품사 태거, 텍스트 요약, 제로샷 텍스트 분류, 키/값 쌍이 모두 이 단계로 변환됩니다.
  • Savant 분석 마이그레이션 — Savant Infer 및 Vision 에이전트는 프롬프트 작업으로 변환됩니다.