inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

LangGraph를 활용한 AI Agent 개발 (feat. MCP)

데이터 전처리 조언 부탁드립니다!!

83

Jh P

작성한 질문수 16

0

안녕하십니까 훌륭하신 강병진님! 질문이 있어서 글 남깁니다!

저는 현재 교내 학교 문서를 RAG를 만들어서 정보를 얻는 것을 구현하던 중입니다.

우선 개인 학생 성적, 수강 데이터들로 교내 졸업 요건을 파악하는 그래프를 구현 하던 중에 정확도 향상을 고민하던 중 조언을 듣고 싶습니다!

현재 '21학번 컴퓨터공학과 졸업요건 알려줘' 라고 임베딩 검색을 할때 k값을 3으로 할때는 다른 학과 정보까지 같이 나옵니다. 그래서 k값을 1로 하면 딱 컴퓨터 공학과에 맞는 정보들만 주지만 공통 졸업 요건 부분들을 파악하지 못합니다. 결국 학교 문서상으로 llm이 판단하려면 공용 졸업요건 + 개별 학과 졸업요건 정보가 같이 주어져야지 잘 판단하는 거 같습니다.

그래서 생각한 방법이

이 정도 방법이 생각나는데 이러한 접근이 올바른지 혹은 더 적절한 방법이 있는지 궁금합니다.

 

참고 사항입니다!)

현재 구현 그래프 동작은 다음과 같습니다

엔트포인트 호출시 해당 학생 id값으로 db쿼리로 학생 성적 받아와서 성적 리스트와 쿼리를 상태로 가짐.

유저 쿼리로 벡터db invoke값을 context로 담고 generate에서 쿼리, 성적 리스트, 컨텍스트 정보로 llm이 판단 (model: gpt-5-mini)

글 읽어주셔서 감사합니다!!

프롬프트엔지니어링 llm ai-agent langgraph

답변 2

1

제이쓴

안녕하세요! 좋은 질문 감사합니다. 그리고 전반적으로 좋은 접근입니다!

제 생각에는 데이터를 가져올 때 필터링이 추가로 들어가야 할 것 같은데요, 과별로 어떤 과의 문서인지에 대한 데이터를 metadata에 넣어두고 필터링한 후에, 해당 학과의 정보만 가져오는 식으로 retrieval을 수정하시는 편이 가장 좋아보입니다.

이 케이스를 해결하기 위해서 k 값만 수정한다면, 다른 질문들에 대해 답변이 제대로 나오지 않을 가능성이 높아보입니다.

0

Jh P

항상 좋은 답변 감사드립니다! 좋은 하루 보내세요 ㅎㅎ

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. Jh P님께서 질문하신 데이터 전처리 및 RAG로 정보 검색 구현에 대한 고민을 도와드리고자 합니다.

지금 교내 문서와 학과별 졸업 요건 정보를 기반으로 RAG를 구성하시는 것으로 보입니다. 현재 제안하신 방법들도 적절한 접근 방식입니다. 메타데이터 기반으로 데이터의 구조화를 개선하려는 시도가 눈에 띕니다.

현재 접근 방법에 대한 생각:

  1. 쿼리에 따른 노드 생성 및 사용:

    • 학생의 요청에 따라 공통 졸업 요건과 개별 학과 졸업 요건을 각각의 노드로 구성하여 판단하는 것은 적절합니다. 이렇게 함으로써 요청의 정확성을 높일 수 있습니다.
  2. 데이터 전처리 중 학과별 청크 및 메타데이터 활용:

    • 데이터를 학과별로 청크로 나누고 메타데이터를 활용하여 각 청크를 구조화하는 것은 올바른 전처리 방법입니다. 이를 통해 검색의 정확성을 높일 수 있습니다. 다만, k값을 늘릴 때는 가능한 많이 메타데이터를 활용하여 혼동을 줄일 수 있도록 하는 것도 중요합니다.

추가적인 개선 사항:

  • 공통 요건과 학과 요건의 연계:

    • 공통 졸업 요건과 학과별 요건이 동시에 필요할 경우, 쿼리 단계에서 두 가지 요건을 합쳐서 처리할 수 있는 방법을 검토해 보세요. 하나의 쿼리로 두 영역에서 데이터를 가져올 수 있도록 시스템을 구성하는 것도 효과적일 수 있습니다.
  • Hierarchical Retrieval:

    • 단계별 검색 방식을 도입하여, 먼저 공통 졸업 요건과 학과 요건을 분리해 검색한 후 결과를 합치는 과정도 검토할 수 있습니다.
  • 상황별 처리 로직:

    • 학생의 성적을 바탕으로 특정 졸업 요건에 대한 충족 여부를 판단하는 로직을 강화하여, 보다 정확한 정보를 제공할 수 있도록 설정해보세요.

더 나아가 유사한 주제의 논의는 개인정보의 처리 질문에서 보안 및 전처리에 대한 힌트를 얻을 수 있습니다.

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

깃허브 레포지토리 확인 요청

0

45

2

제공해주신 레포가 Windows 환경에 너무 비친화적입니다.

0

72

2

마크다운을 텍스트 파일로 변환하기

0

73

1

max token을 제한하는게 왜 성능을 개선하게 되는걸까요?

0

75

2

pyzerox 유니코드 에러

0

97

2

영상 메타데이터 생성 관련 LLM 활용 질문

0

92

1

종합부동산세 부분 tool 사용 질문 드립니다.

0

90

2

uv sync 파이썬 버전문제 onnxruntime

-1

143

2

MCP를 활용해서 간단한 에이전트를 만들어보세요

0

121

1

PDF 형식

0

85

1

5.3 langchain-mcp-adpater를 활용한 MCP 도구 사용 tool_list 지연 사유

0

107

2

3.6 human_in_the_loop 3rd case

0

94

1

summary 를. 시스템메세지에 추가하는 부분에 관하여

0

100

3

병렬 처리 중 retrieve 관련 궁금한 사항

0

87

1

query 에 대한 answer 결과값이 나오지 않습니다.

0

108

2

사람과 관련된 표현이 없는데 rewrite 로 이동하지 않는경우

0

84

1

retriever 관련 질문

0

70

1

인터룹 관련 질문

0

52

2

2.4 Self-RAG 결과가 달라요!

0

90

2

md vs txt 차이..

0

182

2

OpenAI API 호출 때문에 발생하는 Error code: 429 문제

0

137

2

단순 도구 사용과 도구를 가진 에이전트를 사용하는 것의 차이가 궁금합니다.

0

94

1

LangChain과 LangGraph v1

0

143

1

2.4 강의 관련 질문(답변을 검증하는 self rag)

0

82

2