강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của sppagy
sppagy

câu hỏi đã được viết

Hệ thống RAG triển khai bằng AI Agent (với LangGraph)

Triển khai hệ thống Agent RAG dưới dạng đồ thị

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

Viết

·

118

·

Đã chỉnh sửa

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

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

llmlangchainragai-agentlanggraph

Câu trả lời 2

0

pdstudio님의 프로필 이미지
pdstudio
Người chia sẻ kiến thức

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

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

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

SPAGGY님의 프로필 이미지
SPAGGY
Người đặt câu hỏi

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

감사합니다.

pdstudio님의 프로필 이미지
pdstudio
Người chia sẻ kiến thức

안녕하세요.
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을 이용한 데이터 유효성 검사에서 발생하는 오류로, 모델의 출력이 예상한 데이터 구조와 일치하지 않기 때문에 발생할 수 있습니다. 이를 해결하기 위해 아래 몇 가지 접근 방법을 제안드립니다:

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

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

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

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

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

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

Hình ảnh hồ sơ của sppagy
sppagy

câu hỏi đã được viết

Đặt câu hỏi