추천 읽기: 이 페이지에서 언급된 개념에 익숙해지기 위해 트레이싱 개념 가이드를 읽어보는 것이 도움이 될 수 있습니다.
- 집중적인 조사 수행: 특정 실행(run)을 빠르게 좁혀서 임시 분석을 할 수 있습니다
- 디버깅 및 분석: 오류, 실패한 실행, 성능 병목 현상을 식별하고 조사할 수 있습니다
필터 생성 및 적용
실행 속성으로 필터링
트레이싱 프로젝트에서 실행을 필터링하는 방법은 두 가지가 있습니다:- 필터: 트레이싱 프로젝트 페이지의 좌측 상단에 위치합니다. 여기서 상세한 필터 기준을 생성하고 관리할 수 있습니다.
- 필터 바로가기: 트레이싱 프로젝트 페이지의 오른쪽 사이드바에 위치합니다. 필터 바로가기 바에서는 프로젝트 실행에서 가장 자주 나타나는 속성을 기반으로 빠르게 필터에 접근할 수 있습니다.
기본 필터기본적으로
IsTrace가 true인 필터가 적용됩니다. 이는 최상위 트레이스만 표시합니다. 이 필터를 제거하면 프로젝트 내의 모든 실행, 즉 중간 span까지 모두 표시됩니다.시간 범위로 필터링
실행 속성으로 필터링하는 것 외에도, 특정 시간 범위 내의 실행을 필터링할 수 있습니다. 이 옵션은 트레이싱 프로젝트 페이지의 좌측 상단에 위치합니다.
필터 연산자
사용 가능한 필터 연산자는 필터링하려는 속성의 데이터 타입에 따라 다릅니다. 일반적인 연산자는 다음과 같습니다:- is: 필터 값과 정확히 일치
- is not: 필터 값과 일치하지 않음
- contains: 필터 값이 일부 포함됨
- does not contain: 필터 값이 일부 포함되지 않음
- is one of: 리스트 내의 값 중 하나와 일치
>/<: 숫자 필드에서 사용 가능
특정 필터링 기법
중간 실행(span) 필터링
중간 실행(span)을 필터링하려면 먼저 기본IsTrace가 true인 필터를 제거해야 합니다. 예를 들어, 하위 실행의 run name이나 run type으로 필터링하고 싶을 때 이 작업을 수행합니다.
실행 메타데이터와 태그도 강력한 필터링 도구입니다. 이는 파이프라인의 모든 부분에서 적절한 태깅이 이루어져야 효과적입니다. 자세한 내용은 이 가이드를 참고하세요.
입력 및 출력 기반 필터링
실행의 입력과 출력에 포함된 내용을 기반으로 실행을 필터링할 수 있습니다. 입력 또는 출력을 필터링하려면Full-Text Search 필터를 사용하여 두 필드 중 하나에서 키워드를 일치시킬 수 있습니다. 더 정밀한 검색을 위해서는 각각의 필드에만 일치하는 Input 또는 Output 필터를 사용할 수 있습니다.
성능을 위해 전체 텍스트 검색은 최대 250자까지 인덱싱합니다. 검색 쿼리가 이 한도를 초과하는 경우, Input/Output 키-값 검색 사용을 권장합니다.
위의 필터를 기준으로 시스템은 입력 또는 출력에서 python과 tensorflow를, 입력에서 embedding을, 출력에서 fine과 tune을 검색합니다.
입력 / 출력 키-값 쌍 기반 필터링
전체 텍스트 검색 외에도, 입력과 출력의 특정 키-값 쌍을 기반으로 실행을 필터링할 수 있습니다. 이는 구조화된 데이터를 다룰 때 더욱 정밀한 필터링이 가능합니다.최대 100개의 고유 키를 인덱싱하여 데이터를 체계적으로 관리하고 검색할 수 있도록 합니다. 각 키의 값은 최대 250자까지 인덱싱됩니다. 이 한도를 초과하면 텍스트가 인덱싱되지 않습니다. 이는 빠르고 안정적인 성능을 보장하기 위함입니다.
Input Key 또는 Output Key 필터를 선택하세요.
예를 들어, 다음과 같은 입력을 일치시키려면:
Filters, Add Filter를 선택하여 필터 옵션을 엽니다. 그 다음 Input Key를 선택하고, 키에 input, 값에 What is the capital of France?를 입력하세요.
점 표기법(dot notation)을 사용하여 중첩된 키 이름을 선택하면 중첩된 키도 일치시킬 수 있습니다. 예를 들어, 출력에서 중첩된 키를 일치시키려면:
Output Key를 선택하고, 키에 documents.page_content, 값에 The capital of France is Paris를 입력하세요. 이렇게 하면 지정한 값과 중첩된 키 documents.page_content가 일치합니다.
여러 개의 키-값 필터를 추가하여 더 복잡한 쿼리를 만들 수 있습니다. 또한 오른쪽의 Filter Shortcuts를 사용하여 자주 사용하는 키-값 쌍을 빠르게 필터링할 수 있습니다.
예시: 툴 호출 필터링
특정 툴 호출이 포함된 트레이스를 검색하고 싶은 경우가 많습니다. 툴 호출은 일반적으로 LLM 실행의 출력에 표시됩니다. 툴 호출을 필터링하려면Output Key 필터를 사용하면 됩니다.
이 예시는 툴 호출을 필터링하는 방법을 보여주지만, 동일한 논리를 적용하여 출력의 모든 키-값 쌍을 필터링할 수 있습니다.
이 경우, 필터링하려는 출력이 다음과 같다고 가정합니다:
| Key | Value |
|---|---|
generations.type | ChatGeneration |
generations.message.type | constructor |
generations.message.kwargs.type | ai |
generations.message.kwargs.id | run-ca7f7531-f4de-4790-9c3e-960be7f8b109 |
generations.message.kwargs.tool_calls.name | Plan |
generations.message.kwargs.tool_calls.args.steps | Research LangGraph's node configuration capabilities |
generations.message.kwargs.tool_calls.args.steps | Investigate how to add a Python code execution node |
generations.message.kwargs.tool_calls.args.steps | Find an example or create a sample implementation of a code execution node |
generations.message.kwargs.tool_calls.id | toolu_01XexPzAVknT3gRmUB5PK5BP |
generations.message.kwargs.tool_calls.type | tool_call |
type | LLMResult |
generations.message.kwargs.tool_calls.name = Plan
이렇게 하면 tool_calls의 이름이 Plan인 루트 및 비루트 실행이 모두 일치합니다.
키-값 쌍의 부정 필터링
Metadata, Input Key, Output Key 필드에서 다양한 유형의 부정 필터링을 적용하여 특정 실행을 결과에서 제외할 수 있습니다.
예를 들어, 메타데이터 키 phone이 1234567890이 아닌 모든 실행을 찾으려면, Metadata의 Key 연산자를 is, Key 필드를 phone으로 설정하고, Value 연산자를 is not, Value 필드를 1234567890으로 설정하세요. 이렇게 하면 메타데이터 키 phone이 존재하지만 값이 1234567890이 아닌 모든 실행이 일치합니다.
특정 메타데이터 키가 없는 실행을 찾으려면, Key 연산자를 is not으로 설정하세요. 예를 들어, Key 연산자를 is not으로 하고 키를 phone으로 설정하면, 메타데이터에 phone 필드가 없는 모든 실행이 일치합니다.
특정 키도 없고 특정 값도 없는 실행을 필터링할 수도 있습니다. 예를 들어, 메타데이터에 phone 키도 없고 값이 1234567890인 필드도 없는 실행을 찾으려면, Key 연산자를 is not으로 키를 phone으로, Value 연산자를 is not으로 값을 1234567890으로 설정하세요.
마지막으로, 특정 키는 없지만 특정 값은 있는 실행을 필터링할 수도 있습니다. 예를 들어, phone 키는 없지만 다른 키에 값이 1234567890인 실행을 찾으려면, Key 연산자를 is not으로 키를 phone으로, Value 연산자를 is로 값을 1234567890으로 설정하세요.
부분 문자열 일치를 위해 is not 대신 does not contain 연산자를 사용할 수도 있습니다.
필터 저장
필터를 저장하면 자주 사용하는 필터 구성을 저장하고 재사용할 수 있습니다. 저장된 필터는 트레이싱 프로젝트별로 관리됩니다.필터 저장하기
필터 박스에서 필터를 구성한 후 Save filter 버튼을 클릭하세요. 필터의 이름과 설명을 지정할 수 있는 대화상자가 나타납니다.
저장된 필터 사용하기
필터를 저장한 후에는 필터 바에서 빠른 필터로 사용할 수 있습니다. 저장된 필터가 세 개 이상인 경우, 두 개만 바로 표시되고 나머지는 “more” 메뉴에서 접근할 수 있습니다. 저장된 필터 바의 설정 아이콘을 사용하여 기본 저장 필터를 숨길 수도 있습니다.
저장된 필터 업데이트
필터를 선택한 상태에서 필터 파라미터를 변경하세요. 그런 다음 Update filter > Update를 클릭하여 필터를 업데이트합니다. 같은 메뉴에서 Update filter > Create new를 클릭하여 새 저장 필터를 만들 수도 있습니다.저장된 필터 삭제
저장된 필터 바의 설정 아이콘을 클릭한 후, 휴지통 아이콘을 사용하여 필터를 삭제하세요.필터 복사
구성한 필터를 복사하여 동료와 공유하거나, 나중에 재사용하거나, API 또는 SDK에서 실행을 프로그래밍 방식으로 쿼리할 수 있습니다. 필터를 복사하려면 먼저 UI에서 필터를 생성하세요. 그 다음 우측 상단의 복사 버튼을 클릭하면 됩니다. 트리 또는 트레이스 필터를 구성한 경우에도 복사할 수 있습니다. 이렇게 하면 LangSmith 쿼리 언어로 필터를 나타내는 문자열을 얻을 수 있습니다. 예시:and(eq(is_root, true), and(eq(feedback_key, "user_score"), eq(feedback_score, 1))). 쿼리 언어 문법에 대한 자세한 내용은 이 참고 자료를 참고하세요.
트레이스 뷰 내에서 실행 필터링
트레이스 뷰 내에서도 직접 필터를 적용할 수 있어, 많은 실행이 포함된 트레이스를 선별하는 데 유용합니다. 메인 실행 테이블 뷰에서 사용 가능한 동일한 필터를 여기서도 적용할 수 있습니다. 기본적으로 필터와 일치하는 실행만 표시됩니다. 트레이스 트리의 더 넓은 맥락에서 일치하는 실행을 보려면, 보기 옵션을 “Filtered Only”에서 “Show All” 또는 “Most relevant”로 변경하세요.
LangSmith 쿼리 언어로 원시 쿼리 직접 지정
이전에 구성한 필터를 복사한 경우, 향후 세션에서 이 원시 쿼리를 직접 적용하고 싶을 수 있습니다. 이를 위해 필터 팝오버 하단의 Advanced filters를 클릭하세요. 그 다음 텍스트 박스에 원시 쿼리를 붙여넣을 수 있습니다. 이렇게 하면 기존 쿼리에 해당 쿼리가 추가되며, 덮어쓰지는 않습니다.
AI Query로 쿼리 자동 생성 (실험적 기능)
정확한 쿼리를 지정하는 것이 어려울 때가 있습니다! 이를 쉽게 하기 위해AI Query 기능을 추가했습니다. 이 기능을 사용하면 자연어로 원하는 필터를 입력하면, 유효한 쿼리로 변환해줍니다.
예시: “All runs longer than 10 seconds”
고급 필터
루트의 속성으로 중간 실행(span) 필터링
자주 사용되는 개념 중 하나는 루트 실행에 특정 속성이 있는 트레이스의 중간 실행을 필터링하는 것입니다. 예를 들어, 루트 실행에 긍정(또는 부정) 피드백이 있는 특정 타입의 중간 실행을 필터링하는 경우입니다. 이를 위해서는 먼저 중간 실행 필터를 설정하세요(위 섹션 참고). 그 다음 추가 필터 규칙을 추가할 수 있습니다. 필터 하단의Advanced Filters 링크를 클릭하면 새로운 모달이 열리며, 여기서 Trace filters를 추가할 수 있습니다. 이 필터는 이미 필터링된 개별 실행의 모든 부모 실행의 트레이스에 적용됩니다.
자식 실행에 속성이 있는 실행(span) 필터링
위와 반대의 경우입니다. 특정 타입의 하위 실행이 있는 실행을 검색하고 싶을 수 있습니다. 예를 들어, 이름이Foo인 하위 실행이 있는 모든 트레이스를 검색하는 경우입니다. Foo가 항상 호출되는 것은 아니지만, 호출된 경우를 분석하고 싶을 때 유용합니다.
이를 위해서는 필터 하단의 Advanced Filters 링크를 클릭하세요. 새로운 모달이 열리며, 여기서 Tree filters를 추가할 수 있습니다. 이렇게 하면 이미 필터링된 개별 실행의 모든 자식 실행에 규칙이 적용됩니다.
예시: 트리 전체에 툴 호출 필터가 포함된 실행 필터링
위의 툴 호출 필터링 예시를 확장하여, 트리 전체에 툴 호출 필터가 포함된 모든 실행을 필터링하려면 고급 필터 설정에서 트리 필터를 사용할 수 있습니다:
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.