인프런 커뮤니티 질문&답변

SEO님의 프로필 이미지
SEO

작성한 질문수

RAG를 활용한 LLM Application 개발 (feat. LangChain)

두가지 이상 문서를 넣고 싶을때는 어떻게 하나요?

작성

·

33

0

안녕하세요~ 지난번에 gemini로 한다고 고전한다고 질문글을 남겼던 학생입니다. 그냥 openai로 다시 시작하니 실크로드마냥 뻥 뚫리더라고요.....기억나실지는 모르겠지만 지지난번에 남겼던 .env 문제도 해결했습니다. vscode에서도 그냥.env로 파일명 만들면 만들어지더라고요. 전엔 해당 확장자로 안 됐는데 어느순간 되는것이 이유를 모르겠습니다만... 아무튼 네 됐습니다.


 

그런데 (어쩌면 수업 외적인) 질문이 있는데요.

만약에 제가 chatbot에 2개 이상의 문서를 넣고 싶으면 어떻게 해야되나요? 가령 소비자 보호법과 세법을 넣는다고하면 소비자보호법 관련 문서에는 이게 소비자 보호법이라는게 명시가 안 되어 있고, 세법 문서에는 해당 내용이 세법이라는 것에 대해 명시가 되어 있지 않아 1) 단순히 두 word파일을 하나의 파일로 합치면 혼란이 올 것 같은데, 2) 안 합치고 따로 하자니 일단 그 방법도 모르거니와 각각 넣는 게 파일명 말고는 1번과 무슨 차이인지도 모르겠어서 선생님께 질문을 드립니다.


비슷한 상황으로 다른 예시를 들어드리자면 , 가령 대출 관련 챗봇을 만드려고 할 때, 신용 대출에 대한 문서가

신용 대출 << 언급이 안되어 있는 아래와 같은 상황이고

[직장인 대출]

  • 금리 10%

  • 조건 : 1년이상 재직자

  • 대출한도: 만원

[직장인 대출2]

  • 금리 9%

  • 조건 : 3년이상 재직자

  • 대출한도: 2만원

[CSS 대출]

  • 금리 11%

  • 조건 : 20세이상 30세 미만

  • 대출한도: 3만원

     

그리고 주택 담보 대출은 아래와 같을 때, (= 대출 내용은 다르지만 대출을 받을 수 있는 컨디션은 똑같을 때)

[a아파트 대출]

  • 금리 10%

  • 조건 : 1년이상 재직자

  • 대출한도: 50만원

[주택 대출]

  • 금리 9%

  • 조건 : 3년이상 재직자

  • 대출한도: 60만원

[버팀목 대출]

  • 금리 11%

  • 조건 : 20세이상 30세 미만

  • 대출한도: 70만원

 

이 상황에서 만약에 주택담보대출을 알아보고 있으면 굳이 신용대출까지 조회를 안 해도 되잖아요. 이런 상황은 어떻게 거르죠? 참고로 직장인 대출 <- 신용이라는 키워드로 거를수가 없습니다. 강의에서 알려주신 대로 데이터 사전이나 프롬포트를 이용해 처리하는 방법밖엔 없을까요? (생각나는 상황이 이런거인데 사실 대출을 잘몰라서 ;; 제 질문이 잘 전달됐는지 모르겠네요..) 아무튼 긴 글 읽어주셔서 다시 한 번 감사합니다.

 

답변 2

1

강병진님의 프로필 이미지
강병진
지식공유자

에러때문에 고생이 많으셨겠네요 ㅠㅠ 그리고 좋은 질문 감사합니다. 답변을 드리자면

  1. 문서를 여러개 활용하는 경우에는, 어떤 문서를 활용할지 결정하는 chain을 앞에 추가해서, 어떤 문서를 검색할지 정하고, 정해진 문서를 metadata filtering을 활용하는 방법이 제일 좋습니다. 이건 다음 강의에서 다뤄보려고 하는데요, 생각보다 전달해드릴 내용이 많아서 기획이 오래걸리네요 ㅠㅠ 공식문서 링크를 전달 드립니다

  2. 말씀하신 것처럼 키워드 사전을 활용하는 프롬프트를 활용하거나, 웹 검색 도구를 활용해서 직장인이 받을 수 있는 대출을 검색하거나 LLM에게 직장인이 받을 수 있는 대출을 물어보는 방안이 있을 것 같습니다.

추가로 설명한 부분이 있으시다면 댓글로 달아주세요!

SEO님의 프로필 이미지
SEO
질문자

답변 감사합니다 ㅎㅎ 혹시 다음 강의는 언제 즈음 열릴 예정인지 알려주실 수 있나요??? 대략이라도 알려주시면 감사하겠습니다!

0

안녕하세요, 인프런 AI 인턴입니다. SEO님.

두 가지 이상의 문서를 활용하는 방법과 관련된 질문에 대해 답변드리겠습니다.

여러 문서를 한 번에 넣고 관리하기 위해서는 단일 파일에 합치는 것보다 각 문서를 별도로 관리하되, 메타데이터를 활용하는 방식을 추천드립니다. 이렇게 하면 검색의 정확도를 높일 수 있습니다.

  1. 메타데이터 활용: 각 문서에 특정 태그나 키워드를 삽입하여 메타데이터로 관리합니다. 예를 들어, 소비자 보호법에 관한 문서에는 ‘소비자 보호법’, 세법에 관한 문서에는 ‘세법’이라는 메타데이터 태그를 달아 둡니다. 이렇게 하면 검색 시 특정 법률의 문서만 조회할 수 있습니다.

  2. 데이터 사전 활용: 강의에서 소개된 데이터 사전과 전처리 방식을 활용하여 문서 전체를 분석할 때 해당 문서의 범주를 파악할 수 있도록 합니다. 예를 들어, ‘직장인 대출’, ‘주택 대출’과 같은 구분을 사전 정의하여 처리할 수 있습니다.

  3. 프롬프트 설계: 프롬프트에는 원하는 문서 범주를 명확히 정의하고, 필요한 정보를 걸러낼 수 있는 조건을 추가합니다. 만약 ‘주택 담보 대출’에 관해서만 질문을 하고 싶다면 프롬프트에는 해당 내용을 명확히 요구하도록 설계합니다.

이 방법들을 통해, 여러 문서를 한데 합치지 않아도 특정 문서만 선별적으로 조회하여 사용할 수 있습니다. 이와 관련해서는 강사님이 강의에서 언급한 내용들이 도움이 될 수 있으니, 강의를 다시 한 번 참조해 보시길 권장드립니다.

관련 질문에 대한 강사님의 답변도 참고해 보세요:
- LLM 마다 QA 과정에서 큰 차이가 있을까요?: 문서 검색의 정확성을 높이는 방법에 대한 설명이 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

SEO님의 프로필 이미지
SEO

작성한 질문수

질문하기