inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)

Agent RAG 시스템을 그래프로 구현

Agent RAG 구현에서 '정보 추출 및 평가' 노드 결과 애러

126

SPAGGY

작성한 질문수 7

0

안녕하세요, 강사님.

강의 마지막 섹션 Agent RAG 시스템을 그래프로 구현 에서 # 4. Agent RAG 구현 부분에서 LLM 모델에 따라 결과 다르게 나오는 것 같습니다.

참고로, 저는 ANTHROPIC claude-3-7-sonnet-20250219 모델을 사용하는데요.

다음과 같이, '정보 추출 및 평가' 노드에서 애러가 발생합니다. 안정적인 결과를 얻기 위해서는 어떤 방안이 좋을지 의견을 부탁 드립니다.

 

---정보 추출 및 평가---

ValidationError: 2 validation errors for ExtractedInformation

strips

Input should be a valid list [type=list_type, input_value='[\n {\n "content": "...="query_relevance">0.95', input_type=str]

For further information visit https://errors.pydantic.dev/2.10/v/list_type

query_relevance

Field required [type=missing, input_value={'strips': '[\n {\n "..."query_relevance">0.95'}, input_type=dict]

For further information visit https://errors.pydantic.dev/2.10/v/missing

수업 영상 몇 분/초 구간인지 알려주세요.

llm langchain rag ai-agent langgraph

답변 2

0

판다스 스튜디오

안녕하세요. 답변이 늦었습니다.

Pydantic에서 기대하는 출력 구조가 OpenAI와 Anthropic이 다르기 때문에 발생한 에러로 보입니다.

수업 영상 몇 분/초 구간인지 알려주시면 같은 모델로 테스트해보겠습니다.

0

SPAGGY

"Agent RAG 시스템을 그래프로 구현" 10분 30초 구간입니다.

감사합니다.

0

판다스 스튜디오

안녕하세요.
Claude를 사용할 때 구조화된 출력 스키마에서 리스트 구조 처리하는 과정에서 문제가 발생한 것 같습니다. 다음과 같이 프롬프트에 추출하려는 구조를 명시하면 해결됩니다.

        extract_prompt = ChatPromptTemplate.from_messages([
            ("system", """당신은 개인정보보호법 전문가입니다. 주어진 문서에서 질문과 관련된 주요 사실과 정보를 3~5개 정도 추출하세요. 
            각 추출된 정보에 대해 다음 두 가지 측면을 0에서 1 사이의 점수로 평가하세요:
            1. 질문과의 관련성
            2. 답변의 충실성 (질문에 대한 완전하고 정확한 답변을 제공할 수 있는 정도)
            
            당신의 응답은 반드시 다음 JSON 구조를 따라야 합니다:
            {{
              "strips": [
                {{
                  "content": "추출된 정보 내용",
                  "source": "정보의 출처",
                  "relevance_score": 0.9,
                  "faithfulness_score": 0.9
                }},
                ...
              ],
              "query_relevance": 0.8
            }}
            
            모든 점수는 0에서 1 사이의 숫자여야 합니다.
            """),
            ("human", "[질문]\n{question}\n\n[문서 내용]\n{document_content}")
        ])


감사합니다.

0

인프런 AI 인턴

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

‘정보 추출 및 평가’ 노드에서 발생한 문제는 Pydantic을 이용한 데이터 유효성 검사에서 발생하는 오류로, 모델의 출력이 예상한 데이터 구조와 일치하지 않기 때문에 발생할 수 있습니다. 이를 해결하기 위해 아래 몇 가지 접근 방법을 제안드립니다:

  1. 모델 출력 조정: ANTHROPIC의 ‘claude-3-7-sonnet-20250219’ 모델이 특정 형식의 출력을 반환하고 있는지 확인해보세요. 만약 그렇다면, 모델에 추가적인 지시 또는 프롬프트 엔지니어링을 통해 형식을 수정할 수 있습니다.

  2. 에러 메시지 분석: 에러 메시지를 통해 무엇을 수정해야 하는지 명확히 파악할 수 있습니다. query_relevance 필드가 누락되었다는 점을 지적하고 있으므로, 예상하는 JSON 구조에 이 필드를 추가해서 모델의 출력을 조정해보세요.

  3. 출력 변환 로직 추가: Pydantic의 데이터 모델로 변환하기 전에 모델의 출력을 변환하는 로직을 추가해서, 적절한 필드가 포함되도록 중간 처리를 해보세요.

아래는 이와 관련된 유사한 상황에서의 논의 및 해결 방법을 다룬 게시물입니다:

이 진행 중인 문제에 대한 포괄적인 해결책이 필요하다면, 관련 강의의 프롬프트 및 모델 사용 방법 섹션을 주의 깊게 살펴보시는 것도 권장드립니다.

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

섹션2-11 내용중 tool_call

0

14

1

gradio 를 통한 챗봇 인터페이스 실습이 진행되지 않습니다.

0

39

1

모델의 성능에 따라서 선택하는 도구가 많이 차이 나나요?

0

140

2

Fan-in 시 여러개 노드에서 하나로 병합되는 과정에서 질문 입니다.

0

77

3

로드맵

0

109

2

강의 46에서 노드의 병렬 수행시 Thread-Safety 문제는 없을까요?

0

104

2

similarity_search 후 왜 다시 LLM을 통해 grade를 측정 하나요?

0

104

2

agent_executor 실행시 JSONDecodeError에러가 발생해요.

0

143

4

툴의 숫자가 많을때 동작

0

120

2

안녕하세요 후속강의 듣고 싶은데, 비용이 부담되어서..

0

137

2

[실습을 위한 환경 설정 방법] 자료가 없습니다.

0

174

3

최근 안내해주신 수강생 이벤트 관련 문의입니다.

0

108

1

AI 에이전트로 구현하는 RAG 시스템 수강생입니다.

0

153

1

수업 자료 문의

0

174

3

docker 환경에서 해당 서비스를 구성해보는 건 어떤가요?

0

173

2

numpy 설치 에러

0

485

1

The onnxruntime python package is not installed.

0

222

1

섹션 5, 사용자 정의 조건부 엣지 관련 질문입니다.

0

129

1

강사님의 LLM 모델의 버전이 어떻게 되나요?

0

223

1

메시지 그래프/피드백 루프 활용하기에서 질문

0

108

1

에이전틱 루프에서의 병렬 노드 구현 문의

0

138

2

[공유] llama3-groq 모델명 수정 필요

0

195

1

수업자료 문의

1

209

2

서브그래프로 구성된 워크플로우 설계 조언을 듣고 싶습니다

0

124

1