RAG

패스트캠퍼스 환급챌린지 8일차 : 테디노트의 RAG 비법노트 강의 후기

Sssadie 2025. 11. 19. 22:34
반응형

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

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

 

반응형