인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

yjee0215님의 프로필 이미지

작성한 질문수

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

3.5 Retrieval 효율 개선을 위한 데이터 전처리

질 좋은 답변을 생성하는 방법이 있을까요?

작성

·

135

·

수정됨

1

안녕하세요. 강의 잘 듣고 있습니다. 듣던 차에 궁금한 부분이 있어 질문 남깁니다. (현재 섹션3 강의는 다 들은 상태입니다.)

저는 NLP나 RAG 관련해서 전공 공부한 적이 없고 모르는 개념은 강의를 들으면서 그때그때 검색해서 공부하고 있습니다!

 


 

저희 질문이 "연봉 5천만원인 직장인의 소득세는?" 인데, 질문을 할 때마다 답변이 다르게 나오는 건 알겠지만

  1. 1400초과 ~ 5000만원 이하 과세표준으로 계산함

  2. 1의 과세표준으로 계산했지만 계산 결과가 틀림

  3. 1의 과세표준으로 계산했고 계산 결과가 맞지만 후에 부가적으로 기본공제, 지방소득세 등 이상한 내용이 들어가서 결과적인 직장인의 소득세가 매우 상이하게 나옴

  4. 5000초과~ 8800만원 이하 과세표준으로 계산

등 여러번 돌려보니까 다양한 결과가 나오더라구요. (LLM이니깐 매번 돌릴 때마다 결과가 다른 건 알고 있습니다!)

현재 query 수정 (회사원 -> 거주자), markdown으로 표 수정은 이미 다 한 상태입니다.

LLM은 외부 API를 (저는 Upstage로 하고 있습니다) 사용하기 때문에 LLM은 아예 저의 소관이 아니라고 생각하고, 저는 최대한 잘 자르고 유사도 검색을 잘 해서 prompt를 잘 쓰는 것까지 저의 일이라고 생각합니다. 아무튼 이러한 경우에는 제가 양질의 답변을 얻기 위해서는 추가적으로 어떤 걸 해야할까요? ㅠㅠ

제가 생각했을 땐

  1. 초과, 이하의 개념을 프롬포트로 제공한다

  2. retriever_docs를 검색할 때 추가적인 정보가 많이 제공되지 않게끔 k를 조절한다.

     

정도 생각하고 있습니다!

 

답변 2

0

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

안녕하세요! 좋은 질문 감사합니다.

가장 좋은 방법은 chunking을 잘하고, 말씀하신 것처럼 k를 조절해서 답변 생성에 필요한 정보만 전달하는 방식으로 구현하는 것입니다. retrieved_docs를 많이 넣어주면 "참고자료"가 많아서 좋은 답변이 나올 것 같지만, 현실은 LLM이 어떤 것을 참고해야하는지 파악이 어려워 답변의 퀄리티가 떨어지는 경우가 훨씬 많기 때문입니다.

 

말씀하신 것처럼 유사도 검색을 잘해서 프롬프트를 작성하는 것이 중요한데요, 그렇게 하기 위해서는 "문서를 잘 나눠서 저장하는 것"이 사실상 가장 중요하다고 생각합니다. 그래서 사용자의 질문에 적합만 문서만 잘 가져와서, LLM에 전달하는 방법들을 고민해보시면 좋을 것 같습니다

0

인프런 AI 인턴님의 프로필 이미지

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

질문하신 내용은 LLM을 활용하여 일관된 출력 결과를 얻기 위한 방법에 대한 것이군요. 이는 많은 NLP 애플리케이션에서 겪는 공통적인 고민이기도 합니다. 말씀해 주신 것처럼, LLM(대형 언어 모델)의 특성상 동일한 입력에도 다양한 결과를 생성할 수 있습니다. 이를 최소화하기 위해 몇 가지 방법을 고려해볼 수 있습니다.

  1. 프롬프트 최적화:

    • 주어진 과세 표준의 경계나 조건을 프롬프트에 명확히 제시하는 것이 중요합니다. 예를 들어, “연봉 5천만원인 경우 적용해야 하는 정확한 과세 표준은 ‘x~y 금액의 범위’입니다.“와 같이 상세히 설명해 주세요.
    • 과세 표준 및 조건에 대한 구체적인 정보(예: 연도가 바뀌더라도 변하지 않을 기준)를 문서에 포함하셔도 좋습니다.
  2. k-값 조정:

    • retriever를 통해 검색할 문서의 개수를 조절하여 핵심 정보만 포함되도록 합니다. 즉, 중요하지 않은 정보나 혼동을 줄 수 있는 내용을 포함하여 검색하지 않도록 k-값을 조절하세요.
  3. 정보 필터링:

    • 다수의 문서를 검색했을 때, 후처리 단계에서 불필요한 정보를 필터링하거나 요약하는 과정을 삽입할 수 있습니다.
  4. 모델의 입력 변경:

    • 질문자의 권한 하에 가능하다면, 가능한 경우 입력 텍스트의 구조를 변경하여 다른 방식으로 질문을 유도할 수도 있습니다. 이는 모델의 해석을 일정 범위 안에 가둘 수 있는 방법입니다.
  5. 데이터 전처리:

    • 관련 법률이나 규정이 정리된 자료를 미리 전처리하여 각기 다른 포맷이나 표현을 표준화된 형식으로 변환하는 방법도 생각해 볼 수 있습니다.

강의의 후속 강의나 관련된 자료에서 추가적인 힌트를 얻으실 수도 있으니 참고 바랍니다. 아래는 관련된 질문과 강사님의 답변 링크를 첨부해 드립니다. 도움이 되셨으면 좋겠습니다:

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

yjee0215님의 프로필 이미지

작성한 질문수

질문하기