피드로 돌아가기
How we leveraged distilabel to create an Argilla 2.0 Chatbot
Hugging Face BlogHugging Face Blog
AI/ML

Argilla가 distilabel을 활용해 기술 문서 기반 챗봇 구축 파이프라인을 개발해 RAG 기반 도메인 특화 챗봇 배포

How we leveraged distilabel to create an Argilla 2.0 Chatbot

2024년 7월 16일12intermediate

Context

기술 문서를 기반으로 사용자 질의에 응답하는 챗봇이 필요했으나, 일반적인 LLM만으로는 특정 도구(Argilla 2.0)의 기술 문서를 정확하게 이해하고 답변하기 어려웠다.

Technical Solution

  • 기술 문서를 청크 단위로 분할: llama-index의 MarkdownNodeParser와 langchain의 MarkdownTextSplitter를 사용해 약 256토큰 크기로 문서 분할
  • GitHub 저장소에서 자동으로 문서 다운로드 및 준비: 커스텀 Python 스크립트(docs_dataset.py)로 마크다운 파일 추출, 청킹, Hugging Face Hub 푸시 자동화
  • distilabel을 활용한 합성 데이터 생성: 문서 청크로부터 정답 질문과 하드 네거티브 질문을 생성해 임베딩 모델 파인튜닝용 트리플 데이터셋 구축
  • 도메인 특화 임베딩 모델 파인튜닝: 생성된 트리플 데이터셋으로 임베딩 모델을 파인튜닝해 기술 문서 이해도 향상
  • RAG 기반 벡터 데이터베이스 구축 및 LLM 연동: 파인튜닝된 임베딩 모델로 문서를 벡터화해 저장하고, Llama 3 70B와 Gradio를 사용해 사용자 쿼리에 기반한 응답 생성
  • Hugging Face Space 배포 및 Argilla 연동: 최종 챗봇을 Hugging Face Space에 배포하고, 사용자 상호작용을 Argilla에 저장해 지속적 평가 및 개선을 위한 데이터 수집

Key Takeaway

기술 문서 기반 챗봇 구축 시 distilabel의 합성 데이터 생성과 도메인 특화 임베딩 모델 파인튜닝을 결합하면, 일반 LLM보다 높은 정확도의 기술 답변이 가능하다. 사용자 상호작용을 지속적으로 수집하는 루프를 구축하면 모델 개선의 기반이 된다.


특정 기술 도구나 라이브러리에 대한 챗봇을 구축하는 엔지니어 팀에서 distilabel로 기술 문서로부터 합성 질문-답변 쌍을 생성하고, 이를 통해 임베딩 모델을 파인튜닝하면 일반 임베딩 모델보다 도메인 관련 질의에 더 정확한 응답을 제공할 수 있다.

원문 읽기