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

재주닝님의 프로필 이미지

작성한 질문수

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

3.2 LangChain과 Chroma를 활용한 RAG 구성

LLM 마다 QA 과정에서 큰 차이가 있을까요?

해결된 질문

작성

·

245

·

수정됨

1

안녕하세요. 오늘 결제 후 열심히 듣고 있습니다! (소중한 강의 만들어주셔 정말정말 감사합니다.)

다름 아니라, openAI 크레딧 유효기간이 지나

gemini 로 강의 코드를 변경하며 진행하고 있는데요,

병진님과 동일한 과정으로 openai -> google genai(model 은 gemini-pro, 변경한 클래스: GoogleGenerativeAIEmbeddings, ChatGoogleGenerativeAI) 로 변경해 답변을 받아보았는데 답변이 썩.. 좋지가 않네요 ㅠㅠ

prompt 템플릿을 작성하고 나서 답변을 받아보면 다음과 같이 답을 합니다.

'제공된 문서에는 해당 질문에 대한 답변이 없습니다.'

(페르소나를 명시할 때 "컨텍스트에 없으면 당신이 알고 있는 정보로 대답해주세요" 를 추가했음에도 동일하게 대답하네요..)

궁금한 점은

  • LLM 마다 답변 성능이 많이 차이가 날까요?

  • openAI 가 정답일까요..?ㅠ (참고로 저희 조직에서는 GCP 기반이다보니 제미나이를 좀 써보고 싶어서요..)

감사합니다!

답변 2

1

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

안녕하세요!

음... '제공된 문서에는 해당 질문에 대한 답변이 없습니다.' 라는 메세지가 나온다면 2가지를 확인해봐야하는데요.

  1. 문서를 제대로 가져오지 못하는 것인지

  2. 문서를 제대로 가져오는데 답변을 잘 생성하지 못하는 것인지

두가지를 검증해봐야 합니다.

일단 1번의 경우에는 아래와 같은 방식으로 확인하실 수 있는데요,

retrieved_docs = database.similarity_search(query, k=3)
print(retrieved_docs)

사실 3.2강에서는 retrieval 효율이 좋지 않아서

  • 3.5강에서 retrieval 개선을 위한 데이터 전처리

  • 3.6강에서 retrieval 개선을 위한 keyword 사전 활용 방법을

안내드리고 있습니다. 그래서 3.2강에서는 우리가 원하는 문서를 제대로 가져오지 못했을 수도 있어요. 만약 강의에서 활용하는 질문을 그대로 활용하신다면 제55조 가 retrieval 결과에 포함되어야 합니다. 높은 확률로 아마 retrieval에 실패했을거에요. 지금 상황에서는 섹션3을 모두 들어보시고 검증해보시는 편이 좋을 것 같습니다.

 

질문에 계속 답변을 드리자면, 2번의 경우에는 말씀하신 LLM 성능때문일텐데요, 제 생각에는 Gemini나 GPT-4o가 저희가 체감할 만큼 어마어마한 성능 차이가 있을 것 같지는 않습니다. 말씀드린 것처럼 retrieval 에서 원하는 chunk를 가져오지 못했을 것 같아요. 만약 필요한 chunk를 제대로 가져오지 못했다면 '제공된 문서에는 해당 질문에 대한 답변이 없습니다.'라는 답변이 오히려 hallucination이 없는 정확한 답변일 수도 있겠다는 생각이 듭니다. 한번 확인해보시고 답변 달아주시면 follow-up 해보겠습니다!

0

재주닝님의 프로필 이미지
재주닝
질문자

와 병진님 상세한 답변 감사합니다!

  • retrieved_docs 는 확인해보니 55조 항목이 포함되지 않았네요..🥲

  • 이후 수강에 retrieval 성능 개선 있는 걸 확인하지 못했습니다. 답변해주신 내용 충분히 이해하였고, 이후 질문이 있는 경우 해당 강의 질문게시판에 남겨둘게요!

  • hallucination이 없는 정확한 답변일 수도 있겠다는 생각이 듭니다. 를 생각해보지 못했어요. 필요한 chunk 를 적절히 가져오는 테크닉은 직접 어플리케이션을 개발 & 운영하면서 쌓이겠죠? ㅎㅎ

마냥 해봐야지 만 했던 주제의 강의를 내주셔 감사합니다. 열심히 듣고 열심히 질문하겠습니다!

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

네네! 그리고 필요한 chunk를 가져오는 방법이 문서 종류마다 다르고, 형식마다 달라서 이런저런 삽질(ㅠㅠ)들이 필요해요! 제가 강의에서 전달드리는 부분도 한가지 방법이고, 더 다양한 노력들이 필요합니다. 화이팅입니다!