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

검은백조님의 프로필 이미지

작성한 질문수

모두를 위한 대규모 언어 모델 LLM Part 3 - 구글 제미나이(Google Gemini) API, OpenAI API와 젬마(Gemma)로 AI 어플리케이션 만들기

랭체인(LangChain)과 구글 제미나이(Gemini) API로 ChatPDF 만들기

RAG_Chain.invoke 답변이 나오지 않습니다.

24.09.19 21:46 작성

·

36

0

강의 colab 을 복사해서 해보고 있습니다. 그런데 RAG_Chain.invoke 에 대한 답변이 정상적으로 반환 되지 않습니다. 청킹도 제대로 된거 같고, "저출산을 극복한 나라들은 어디가 있어?" 라는 질문에는 답이 나오는데, "한국 저출산의 원인이 무엇이야?" 질문에는 답아 나오지 않습니다. 제가 무엇을 잘못해서 그런걸까요?

image.png

 

답변 2

0

AISchool님의 프로필 이미지
AISchool
지식공유자

2024. 09. 21. 00:09

안녕하세요~. 반갑습니다.

 

rag_cahin의 생성 결과로 유추해보면 이유는 알수없지만 아마도 "한국 저출산의 원인이 무엇이야?"에 대한 context 정보가 제대로 넘어오지 않은 상황으로 예상되는데요.

rag_chain.invoke("한국 저출산의 원인이 무엇이야?")

위와 같이 rag_chain을 invoke해서 실행하기 전에 아래와 같이

retriever.invoke('한국 저출산의 원인이 무엇이야?')

retriever 레벨에서 동일한 프롬프트를 한번 입력해보시고 어떤 문서들이 반환되는지 체크해보시면 좋을 것 같습니다.

 

말씀해주신 예제에 대해서 저도 다시 한번 테스트해봤는데 저같은 경우

[Document(metadata={'page': 3, 'source': 'https://snuac.snu.ac.kr/2015_snuac/wp-content/uploads/2015/07/asiabrief_3-26.pdf'}, page_content='세계를 잇다, 미래를 빚다!4지대를 없애도록 한다. 무엇보다도 출산과 양육에 친화적인 직장문\n화를 조성하여야 한다. \n인구구조 변화에 대응해야\n우리나라는 이미 20년 이상 동안 초저출산현상(합계출산율 1.3명 \n이하)을 겪고 있다. 적어도 당분간 ‘저출산의 덫’에서 빠져나올 수 있\n을 것으로 기대하기 어렵다. 저출산 대책들이 실효성을 거두기 시작\n할지라도 언제부터 얼마나 빠른 속도로 어느 수준까지 출산율이 높\n아질 것으로 예상하기도 어렵다. 결국 우리나라 인구는 급속하게 감\n소하고, 고령화될 것이다. 따라서 저출산 대책을 더욱 강화하는 동시\n에 인구감소 및 고령화에 대해서도 철저하게 대응하여야 한다. 인구\n감소 및 고령화가 사회에 미치는 파장은 크게 학교 붕괴, 병력자원 부\n족, 노동력 부족, 사회보장 부담 증가 등을 들 수 있다. \n학령인구 감소에 따른 학생 수 감소는 초등학교, 중학교, 고등학교 및 \n대학교에까지 영향을 미치고 있다. 과거 고출산 시기에 태어난 세대'),
 Document(metadata={'page': 0, 'source': 'https://snuac.snu.ac.kr/2015_snuac/wp-content/uploads/2015/07/asiabrief_3-26.pdf'}, page_content='한국의 합계출산율은 2022년 0.78명으로 장기간 초저출산현상 지속은 인구의 지속가능성에 위협이 되고 있다. 저출산 대책은 다양\n한 복합적인 원인들을 해소할 수 있도록 종합적으로 장기간 일관성 있게 추진되어야 한다. 학령인구 감소, 노동력 부족, 사회보장 부담 \n증가 등 인구구조 변화에 대한 철저한 대응이 필요하다. 출산율 회복과 인구구조 변화에 대한 적응은 양자택일의 문제가 아니라 동시에 \n추구하여야 할 사회 목표들인 것이다. Summary Of Article'),
 Document(metadata={'page': 1, 'source': 'https://snuac.snu.ac.kr/2015_snuac/wp-content/uploads/2015/07/asiabrief_3-26.pdf'}, page_content='중 프랑스, 스웨덴, 영국 등은 저출산 현상을 극복한 국가들로 알려져 \n있다. 우리나라는 15년 이상 저출산 대책이 추진되고 있음에도 불구\n하고 출산율은 오히려 더 낮아져 최근에는 0명대를 기록하고 있다. \n저출산 대책은 다양한 복합적인 원인들을 해소할 수 있도록 종합적\n으로 그리고 장기간에 걸쳐 일관성 있게 추진되어야 한다. 그러나 우\n리나라 저출산 대책에는 반드시 필요한 정책들이 누락되어 있는 문\n제, 필요한 정책들이 포함되고 있을지라도 사각지대가 크거나 급여 \n등이 충분하지 않은 문제들을 가지고 있다. \n이와 관련, 초저출산현상을 멈추기 위해서는 세 가지의 근본적인 노\n력이 긴요하다. \n첫 번째로 과도한 경쟁사회를 지양하기 위하여 노동시장을 개혁하여\n야 한다. 사실 한국 사회에서 만연하는 저출산 원인들은 다소 차이가 \n있을지라도 OECD 국가나 동유럽 국가들 일부도 직면하고 있다. 그\n럼에도 불구하고, 유독 한국 사회에서 합계출산율이 0명대로 치닫고'),
 Document(metadata={'page': 3, 'source': 'https://snuac.snu.ac.kr/2015_snuac/wp-content/uploads/2015/07/asiabrief_3-26.pdf'}, page_content='의 유입이 필요하다는 주장이 제기되기도 한다. 최근의 초저출산현\n상이 장기적으로 지속된다면 여성인력이나 고령인력만으로 필요 인\n력 내지 안정적인 인구구조를 유지하기 어려울 것이기 때문에 일면 \n타당하다고 할 수 있다. 그러나 미래로 갈수록 노동집약적 산업 중심\n에서 지식기반 산업 중심으로 산업구조가 변화할 것이라는 사실이\n다. 이민자들도 한국 사회의 저출산현상에 편승하고 자신들은 고령\n화된다면 오히려 인구구조에 부정적인 영향을 미친다는 점이다. 그\n리고 사회통합 비용이 높을 수 있다는 점에서 인구감소 및 고령화에\n의 대응을 목적으로 하는 장기 이민자 유입에 대해서는 신중할 필요\n가 있다. 서구의 많은 연구들은 인구 고령화에 대응하기 위한 이민정\n책은 실효성이 높지 않음을 지적해왔다. 실제 서구 국가들은 제조업 \n중심의 외국인 노동력 유입을 억제하고, 우수 인력 중심으로 이민을 \n선별적으로 허용하고 있다. \n생산가능인구는 감소하나 이들이 부양해야 할 노인인구는 급격하게')]

위와 같은 4개의 chunk가 반환되고

AIMessage(content='한국 저출산의 원인은 과도한 경쟁 사회, 출산과 양육에 친화적이지 않은 직장 문화, 노동 시장의 개혁 필요성 등입니다.', additional_kwargs={}, response_metadata={'prompt_feedback': {'block_reason': 0, 'safety_ratings': []}, 'finish_reason': 'STOP', 'safety_ratings': [{'category': 'HARM_CATEGORY_SEXUALLY_EXPLICIT', 'probability': 'NEGLIGIBLE', 'blocked': False}, {'category': 'HARM_CATEGORY_HATE_SPEECH', 'probability': 'NEGLIGIBLE', 'blocked': False}, {'category': 'HARM_CATEGORY_HARASSMENT', 'probability': 'NEGLIGIBLE', 'blocked': False}, {'category': 'HARM_CATEGORY_DANGEROUS_CONTENT', 'probability': 'NEGLIGIBLE', 'blocked': False}]}, id='run-531d306f-92a7-4070-b33e-58788ccc7d71-0', usage_metadata={'input_tokens': 1549, 'output_tokens': 44, 'total_tokens': 1593})

위와 같이 제대로 답변이 나오는 것 같습니다.

 

좋은 하루되세요.

감사합니다.

0

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

2024. 09. 19. 21:51

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

검은백조님께서 언급하신 ‘RAG_Chain.invoke’에서 특정 질문에 대한 답변이 나오지 않는 문제를 해결하기 위한 몇 가지 방법을 제안드립니다.

  1. 데이터 정제와 전처리:

    • 학습에 사용되는 데이터는 정확하고 일관되게 정제되어 있는지가 중요합니다. 불필요한 텍스트, 노이즈 등을 제거하고 질문과 답변의 맥락이 잘 유지되도록 하는 것이 좋습니다.
    • PDF, WORD, CSV 등 다양한 형식의 자료에서 텍스트 추출이 제대로 이루어지고 있는지 확인하세요. 일반적으로 텍스트 기반 파일 형식이 데이터 다루기에 더 용이합니다.
  2. 질문 일관성:

    • 동일한 질문을 여러 번 시도해보고, 문장 형식도 다양한 방식으로 변경해 가면서 테스트해 보는 것이 중요합니다. 특정 질문에 대해 일관된 결과가 나오지 않는다면 모델 학습에 문제 있을 수 있습니다.
    • 저출산을 극복한 나라들은 어디가 있어?와 같은 질문에 맞추어 답변이 잘 나오지만, 한국 저출산의 원인이 무엇이야?와 같은 질문에 대해서는 문서 내 해당 정보를 잘 검색해오지 않을 수 있습니다.
  3. 챌크(Chunk) 사이즈와 오버랩:

    • 데이터를 청킹할 때, 청크의 크기와 오버랩 비율이 답변에 영향을 미칠 수 있습니다. 청크 크기와 오버랩 비율을 조정하여 최적의 값을 찾는 것이 필요합니다.
    • 청크 사이즈가 너무 작거나 너무 큰 경우에 원활한 질의응답이 되지 않을 수 있으므로, 다양한 설정을 시도해 보세요.
  4. 리트리버(Retriever) 설정:

    • 다양한 리트리버 설정을 통해 문제를 해결해볼 수 있습니다. 문제 상황에 따라 적절한 리트리버를 선택하고, 필요한 경우 이를 조합하여 사용하는 것도 좋은 방법입니다.
    • 어트리뷰트(Attribute) 정보와 메타데이터를 활용하여 검색 성능을 향상시킬 수 있습니다.

기타 참고할 만한 질문과 답변들을 아래 링크에서 확인하실 수 있습니다:

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