융무의 기술블로그
article thumbnail

이 책은 Amazon Bedrock이라는 완전 관리형 인프라 위에서 다양한 파운데이션 모델을 유연하게 다루고 법을 소개하고 있습니다. LangChain 프레임워크와의 연동, RAG 및 AI 에이전트 구현, Step Functions를 활용한 로우코드 개발까지 다루며, 최신 AI 앱 개발의 전 과정에 대해서 공부할 수 있습니다. 

책을 읽으면서 실제 코드에 대해서 리뷰를 상세하게 해주고 있어서 Bedrock이나 생성형 AI에 대한 이해가 없어도 쉽게 따라갈 수 있을 거 같습니다.

또한 실제 AWS콘솔에서 해당 실습에 대한 설명을 사진으로 자세히 보여주고 있어서 이해하는데 많은 도움이 될 거 같습니다.


LECL(LangChain Expression Language)의 모든 객체는 Runnabel 인터페이스를 구현하고 있으며, invoke, batch, stream, ainvoke 등의 공통 메소드를 호출할 수 있음 

종류 설명
PromptTemplate 프롬프트 템플릿
LLM 텍스트를 프롬프트로 입력받아 텍스트를 출력하는 모델
ChatModel LLM을 확장해 대화형 상호작용이 가능한 모델
OutputParser LLM의 출력값을 원하는 형식으로 변환하는 처리기
Retriever LLM이 참조할 외부 데이터를 검색하고 가져오는 처리기
Tool 에이전트가 사용하는 개별 기능 

 

지식기반 API 메서드

  • Retrieve : 문서의 검색 결과만을 반환
  • RetrieveAndGenerate : 검색 결과를 바탕으로 답변 생성까지 수행 

ReAct

AI 에이전트가 자신의 행동과 사고를 추론하는 것(Reasoning)과 그 추론에 근거하여 행동하는 것(Acting)을 결합하여 사용자의 지시나 질문에 대응하는 방식

  • Reasoning : 작업을 수행하기 위해 필요한 행동과 사고를 추론함
  • Acting : 추론한 사고에 따라 행동함
  • Observation : 행동 결과를 관찰하고 추론과 행동을 반복하여 최종 답변을 출력함 

비교한 프롬프트

종료 설명
표준  프롬프트(Standard) 추론이나 행동에 대한 설명을 포함하지 않는 표준적인 질문 응답 프롬프트
CoT(ReasonOnly) 문제 해결의 사고 과정을 언어화한 프롬프트
Act(ActionOnly) Wikipedia 등의 외부 환경과 상호작용(검색 등)하는 프롬프트
ReAct 외부 환경과의 상호작용과 언어에 의한 추론을 번갈아 생성함으로써 Reason과 Action을 통합한 프롬프트 

 

성능 비교에 사용한 작업

작업 유형 작업
추론 작업 HotPotQA(질의 응답)
Fever(질의 응답)
의사결정 작업 ALFWorld(텍스트 기반 게임 환경)
WebShop(온라인 쇼핑 웹 사이트 환경)

 

profile

융무의 기술블로그

@융무

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!