(’정확한 자문’)
근로기준법(법률)(제18176호)(20211119).pdf
개인정보 보호법(법률)(제19234호)(20240315).pdf
주택임대차보호법(법률)(제19356호)(20230719).pdf

법원도서관 판례공보 페이지


사용자 질의가 들어오면 다음과 같은 흐름으로 처리됩니다

Langraph Workflow

이러한 구조는 사용자의 질문을
분석 → 검증 → 벡터 검색 → ‘컨텍스트 통합’ → 답변 생성을
LangGraph 기반으로 순차적으로 처리합니다.
각 Agent 노드는 state: LegalState를 입력으로 받아,
특정 작업을 수행하고 상태를 갱신하여 반환합니다.
law_agent_node기능: 문서 내 [법률 관련 정보] 섹션을 요약하여 반환합니다.
플로우:
state["context"]에서 [관련 판례] 이전 부분을 추출law_prompt)law_output에 저장예외 처리:
context가 없으면 "법률 정보가 없습니다." 반환law_section = context.split("[관련 판례]")[0].replace("[법률 관련 정보]", "").strip()
law_prompt = f"다음 법률 정보를 자연스럽고 간결하게 정리해 주세요:\n{law_section}"
case_agent_node기능: 문서 내 [관련 판례] 섹션을 요약하여 반환합니다.
플로우:
context에서 [관련 판례] 이후 텍스트를 추출case_prompt)case_output에 저장예외 처리:
[관련 판례] 섹션이 없으면 "관련 판례 정보가 없습니다." 반환case_section = context.split("[관련 판례]")[1].strip()
case_prompt = f"다음 판례 정보를 자연스럽고 간결하게 정리해 주세요:\n{case_section}"
summary_agent_node기능: 질문 + 법률 정보 + 판례 정보를 종합해 최종 답변을 생성합니다.
플로우:
messages[0].content로부터 질문 추출law_output과 case_output을 조합summary_prompt)summary_output에 저장summary_prompt = (
f"질문: {messages[0].content}\n"
f"법률 정보: {law_output}\n"
f"판례 정보: {case_output}\n"
f"위 정보를 바탕으로 종합적인 답변을 자연스럽게 작성해 주세요."
)
inputslabel="질문을 입력하세요": 텍스트 박스 위에 표시되는 라벨입니다.placeholder="예: 재산 분할 기준 알려줘": 사용자가 무엇을 입력할 수 있는지 힌트를 줍니다.outputstitle & descriptiontitle="법률 상담 AI": 인터페이스 상단에 표시될 이름입니다.description="법률 관련 질문을 입력하면 법률 정보, 관련 판례, 종합 답변을 각각 제공합니다.": 어떤 기능을 하는 인터페이스인지 간략히 설명합니다.
질문 UI


답변 UI
주요 파라미터
chunk_size=500: 한 덩어리로 자르는 최대 단어 수overlap=50: 문맥 보존을 위해 앞/뒤 덩어리 간 중첩chunk_size=1000으로 시도overlap 없애고 처리했더니 답변에서 앞/뒤 내용 연결이 부자연스러움overlap=50 적용해 문맥 유지.