Graph db를 사용하면 챗봇이 달라집니다.

제가 만든 챗봇 링크입니다. 데모라 streamlit에 올렸습니다. 넣은 판례 데이터가 해고, 휴가, 근로계약 쪽이라 이 부분과 관련해서 물어보면 더 놀랍습니다.

추천 질문
1. 최근에 일을 못한다고 갑자기 짤렸는데, 어떻게 해야 하나요?
2. 병원이 영업정지를 당했는데, 영업정지 오기로 했던 간호사에게 휴업수당을 줘야 하나요? 그 간호사는 한번도 일하지 않았습니다.
3. 지각했다고 휴가를 뺏었는데 말이 되는건가요?

https://carillon-legal-chatbot.streamlit.app/

네이버지식인 예시(해당 링크)

질문 : 해고시기와 해고사유에 관하여 이메일(e-mail)로 통지를 받았어요. 유효한 해고로 볼 수 있을까요?

챗봇 답변 :
따라서, 이메일로 해고 통지를 받은 경우라도 다음 조건이 충족되면 유효한 해고로 인정될 수 있습니다.
1. 이메일에 해고사유와 해고시기가 명확히 기재되어 있을 것.
2. 근로자가 이메일을 수신하여 그 내용을 알고 있을 것.
만약 이러한 조건이 충족된다면, 이메일에 의한 해고 통지는 유효한 서면 통지로 간주될 수 있습니다. 관련 판례는 여기에서 확인할 수 있습니다.

지식인답변(대한법률구조공단) :
따라서 단지 이메일로만 통지를 받았다는 사유만으로 해고가 무효로 되는 것이 아니라 구체적인 사정을 따져보아 근로자가 해고시기와 해고사유에 대해서 알 수 있었던 경우로 인정되는 때에는 유효한 방식의 해고로 인정될 수 있다고 보아야 합니다.
(지식인의 자세한 답변은 위 링크를 통해 볼 수 있습니다.)

챗봇 전체 답변

비개발자를 위한 매우 간략한 설명

1. Graph database(그래프 데이터베이스)
기존 데이터베이스는 엑셀처럼 데이터를 표 형태로 저장한다면, graph database는 마인드맵처럼 정보들을 점(node) 형태로 저장하고, 그 점들의 관계를 연결하는 형태의 데이터베이스입니다.
아래 예시 이미지처럼 Alice와 Bob이라는 점을 만들고, 둘이 서로 2001/10/03부터 알고 지냈다는 관례를 만들어 저장합니다.

An example of a Labeled-property graph<by Ole Mussmann, wikipedia>

2. RAG
gpt나 claude에 바로 물어보면 할루시네이션을 보이거나 제대로 답변하지 못하기 때문에, 프롬프트 안에 관련 데이터를 넣는 방법입니다. 기업 데이터나 법처럼 양이 많으면 프롬프트에 바로 넣지 못하기 때문에, 프롬프트에 넣을 데이터를 따로 추출하는 방법입니다. RAG를 쓰면 보다 정확한 답변을 보여주기 때문에 챗봇 제작시 무조건 활용해야하는 기술입니다.

그래서 제가 만든게 뭐냐면,

1. 근로기준법과 관련 행정해석, 판례를 graph db 넣은 후
2. 유저의 질문과 관련된 데이터를 graph db에서 뽑아낸 뒤에
3. 이를 바탕으로 유저에게 답해주는 챗봇입니다.

아래 이미지처럼 법과 관련된 판례, 행정해석들을 서로 연결하여 저장했습니다. 그리고 유저가 질문을 하면 아래 그래프에서 법과 그 법과 연결된 판례 및 행정해석을 뽑아낸 후 프롬프트에 해당 내용을 추가합니다. 쉽게 오픈북 테스트를 보는 챗봇라고 보시면 됩니다. 유저가 낸 문제를 책(graph db)에서 찾아서 유저가 낸 문제의 맞는 형태로 답변을 줍니다.

다양한 색상의 원이 있는 네트워크 다이어그램

그럼 다른 챗봇이랑 뭐가 다르냐?

1. 관련 내용에서는 할루시네이션이 거의 없습니다.
: 오픈북 테스트를 해보시면 알겠지만, 내용을 책에서 가져오기 때문에 헛소리를 할 확률이 매우 적어집니다.
2. 내가 가진 데이터를 보다 이쁘게 유저에게 보여줄 수 있습니다.
: 검색해보면 나오는 판례링크나 유권해석 내용은 실제 있는 내용입니다.
3. 기존 vector db를 활용한 RAG 챗봇보다 속도가 빠릅니다.

Graph db를 활용한 챗봇은 ai의 성능에 영향을 많이 받아 그동안은 사용하기 어려웠습니다. 최근 gemini, claude, llama3, gpt-4o 등이 나오면서 이제서야 제대로 활용할 수 있게 되었습니다. 7월 초에는 MS에서도 GraphRag를 공개하여 많은 기업들에서 사용하기 시작했습니다. 기존에 RAG를 써서 챗봇을 만들었지만, 실망한 분들이 계시다면 Gragh db를 활용해보시면 좋을 거 같습니다.

https://carillon-legal-chatbot.streamlit.app/

챗봇은 법률상담이나 예측 등 법률사무를 하지 않습니다. 결과는 단순 참고용으로만 사용하시고, 정확한 상담은 변호사에 문의하시기 바랍니다.

11
6개의 답글

👉 이 게시글도 읽어보세요