Agent RAG 구현에서 '정보 추출 및 평가' 노드 결과 애러
126
작성한 질문수 7
안녕하세요, 강사님.
강의 마지막 섹션 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
수업 영상 몇 분/초 구간인지 알려주세요.
답변 2
0
안녕하세요. 답변이 늦었습니다.
Pydantic에서 기대하는 출력 구조가 OpenAI와 Anthropic이 다르기 때문에 발생한 에러로 보입니다.
수업 영상 몇 분/초 구간인지 알려주시면 같은 모델로 테스트해보겠습니다.
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 인턴입니다. SPAGGY님.
‘정보 추출 및 평가’ 노드에서 발생한 문제는 Pydantic을 이용한 데이터 유효성 검사에서 발생하는 오류로, 모델의 출력이 예상한 데이터 구조와 일치하지 않기 때문에 발생할 수 있습니다. 이를 해결하기 위해 아래 몇 가지 접근 방법을 제안드립니다:
모델 출력 조정: ANTHROPIC의 ‘claude-3-7-sonnet-20250219’ 모델이 특정 형식의 출력을 반환하고 있는지 확인해보세요. 만약 그렇다면, 모델에 추가적인 지시 또는 프롬프트 엔지니어링을 통해 형식을 수정할 수 있습니다.
에러 메시지 분석: 에러 메시지를 통해 무엇을 수정해야 하는지 명확히 파악할 수 있습니다.
query_relevance필드가 누락되었다는 점을 지적하고 있으므로, 예상하는 JSON 구조에 이 필드를 추가해서 모델의 출력을 조정해보세요.출력 변환 로직 추가: Pydantic의 데이터 모델로 변환하기 전에 모델의 출력을 변환하는 로직을 추가해서, 적절한 필드가 포함되도록 중간 처리를 해보세요.
아래는 이와 관련된 유사한 상황에서의 논의 및 해결 방법을 다룬 게시물입니다:
- 메시지 그래프/피드백 루프 활용하기에서 질문 - 피드백 루프와 관련된 논의에서 발생할 수 있는 상태 유지 및 업데이트 문제에 대한 해설을 보실 수 있습니다.
이 진행 중인 문제에 대한 포괄적인 해결책이 필요하다면, 관련 강의의 프롬프트 및 모델 사용 방법 섹션을 주의 깊게 살펴보시는 것도 권장드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
섹션2-11 내용중 tool_call
0
15
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
154
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





