day1_practice/components.pyday1_practice/lcel_basic.pyday1_practice/lcel_debug.py

LCEL 체인 플레이어

prompt | llm | parser 한 줄 안에서 값은 dict → PromptValue → AIMessage → str 로 모양을 바꾸며 흘러갑니다. 부품을 하나씩 따로 돌려 보는 components.py, 파이프로 이어 invoke·stream·batch 로 실행하는 lcel_basic.py, 단계 사이에 관찰 지점을 끼우는 lcel_debug.py 를 한 단계씩 따라갑니다. 모델이 쓰는 글은 실행마다 달라서 보라색 자리 표시로만 보여 줍니다.

한눈에 보는 구조

PromptValue AIMessage tap("입력") tap("프롬프트 완성 후") tap("모델 응답 후") dict {"topic":…} PromptTemplate 빈칸 채우기 ChatBedrockConverse 모델 호출 (Bedrock) StrOutputParser 글만 꺼내기 str 같은 체인을 실행하는 세 가지 방법 chain.invoke(dict) → str 하나 (다 쓴 뒤에) chain.stream(dict) → str 조각들 (쓰는 대로) chain.batch([dict, …]) → [str, …] (동시에, 입력 순서대로)

윗줄이 체인 하나입니다. 상자는 부품(Runnable), 화살표 아래 글자는 부품 사이를 지나가는 값의 타입입니다. 보라색 마름모는 lcel_debug.py 가 끼워 넣는 관찰 지점(tap)이고, 아래 세 칸은 같은 체인을 실행하는 세 가지 방법입니다. 플레이어를 넘기면 그 단계에 해당하는 곳이 파랗게 빛납니다.

그 시점의 데이터

이 시점에 다음 부품으로 넘어가는 값

터미널 출력

보라색 칸은 실행마다 달라지는 자리

이 단계에서 일어나는 일

함정과 주의

관련 파일