본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
Ch4. LangChain 문법 맛보기
10. 병렬체인 구성(RunnableParallel)
Parallel : 병렬성
- runnable 이란?
- 실행 가능한 객체. (invoke를 호출할 수 있으면 runnable이라 할 수 있음) - RunnableParallel
여러 chain을 병렬적으로 실행 가능하게 만들어줌
→ 입력한 변수가 달라도, 묶었을 때 입력으로 들어가는 딕셔너리 안에서 key만 잘 설정하면 됨
코드 작성할 때, '일반적'
11. 값을 전달해주는 RunnablePassthrough
※ chain을 invoke() 하여 실행할 때는 입력 데이터의 타입이 딕셔너리여야 함.
RunnablePassthrough
- RunnablePassthrough란?
runnable이라는 실행 가능한 객체로 데이터를 받아서 전달함
runnable_chain = {"num": RunnablePassthrough()} | prompt | ChatOpenAI()
# dict 값이 RunnablePassthrough() 로 변경되었습니다.
runnable_chain.invoke(10)
사용자가 입력한 값이 RunnablePassthrough에 바로 들어감 → num=10
→ 사용자가 나중에 key값을 다 기억하기 어렵지만 넣어야 하는 입력값을 알고 있는 경우가 많기 때문에 많이 쓰임.
#기존 chain 구성
chain = prompt | ChatOpenAI()
chain.invoke({"num": 7})
#RuannalbePassthrough로 chain 구성
chain = {"num" : RunnablePassthrough()} | prompt | ChatOpenAI()
chain.invoke(7)
#실제로는 아래 방식을 많이 씀.
- RunnablePassthrough.assign()
입력값으로 들어온 값의 key/value 쌍과 새롭게 할당된 key/value 쌍을 합침
13. 함수를 실행하는 RunnableLambda, itemgetter
RunnableLambda
RunnableLambda를 사용하여 사용자 정의 함수 맵핑 가능
→ Python 코딩으로 원하는 로직을 구현하고(함수로 packaging), 프롬프트 입력으로 들어가기 전에 Python 함수로 호출해서 나온 결과 값을 프롬프트 입력으로 넣어 줄 수 있음. Python으로 구현한 API 호출함수가 있다면 RunnableLambda로 감싸서 먼저 호출해서 답을 얻고, 그 답을 프롬프트 변수의 입력값으로 넣어줄 수 있음
itemgetter
특정 키 추출
Part1. LangChain 입문 과정이 끝났어요!!! 한 번 더 보고 꼼꼼히 정리해서 제 것으로 만드는 시간이 필요하겠지만.. 그래도 뭔가 한 파트가 끝났다는 게 뿌듯해요. 앞으로 배울 내용들도 기대되고요. 이 과정을 통해 정말 뭔가를 만들어내고 싶어요. 꾸준히! 열심히 하겠습니다!!




커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스
성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.
fastcampus.co.kr
'RAG' 카테고리의 다른 글
| 패스트캠퍼스 환급챌린지 10일차 : 테디노트의 RAG 비법노트 강의 후기 (1) | 2025.11.21 |
|---|---|
| 패스트캠퍼스 환급챌린지 9일차 : 테디노트의 RAG 비법노트 강의 후기 (0) | 2025.11.20 |
| 패스트캠퍼스 환급챌린지 7일차 : 테디노트의 RAG 비법노트 강의 후기 (0) | 2025.11.18 |
| 패스트캠퍼스 환급챌린지 6일차 : 테디노트의 RAG 비법노트 강의 후기 (0) | 2025.11.17 |
| 패스트캠퍼스 환급챌린지 5일차 : 테디노트의 RAG 비법노트 강의 후기 (0) | 2025.11.16 |