더북(TheBook)

실행하면 입력 구조와 호출 결과가 출력됩니다.

Terminal icon_terminal

> uv run python examples/3_single_input_tool.py 
{'article': {'title': 'Article', 'type': 'string'}}
...
...

args를 보면 article이라는 이름의 문자열 입력값이 정의되어 있습니다. 함수에 article: str이라고 작성했기 때문에 랭체인은 article을 입력값 이름으로, str을 문자열 타입으로 인식해 Tool 입력 정보를 자동으로 생성합니다.

단일 입력 Tool은 invoke()를 두 가지 방식으로 호출할 수 있습니다. 첫 번째는 값을 그대로 전달하는 방식(➊)이고, 두 번째는 딕셔너리 형태로 전달하는 방식(➋)입니다. 입력값이 하나인 경우에는 두 방식 모두 사용할 수 있지만, 입력값이 두 개 이상이면 딕셔너리 방식만 사용할 수 있습니다.

현재 자동 생성된 입력 구조에는 입력값 이름과 타입 정보만 포함되어 있습니다. 입력값 설명이나 검증 규칙까지 함께 정의하려면 args_schema를 사용합니다.