• 회원가입
  • |
  • 로그인
  • |
  • 장바구니
  • News
    뉴스 신제품 신간 Culture & Life
  • 강좌/특집
    특집 강좌 자료창고 갤러리
  • 리뷰
    리뷰
  • 매거진
    목차 및 부록보기 잡지 세션별 성격 뉴스레터 정기구독안내 정기구독하기 단행본 및 기타 구입
  • 행사/이벤트
    행사 전체보기 캐드앤그래픽스 행사
  • CNG TV
    방송리스트 방송 다시보기 공지사항
  • 커뮤니티
    업체홍보 공지사항 설문조사 자유게시판 Q&A게시판 구인구직/학원소식
  • 디렉토리
    디렉토리 전체보기 소프트웨어 공급업체 하드웨어 공급업체 기계관련 서비스 건축관련 업체 및 서비스 교육기관/학원 관련DB 추천 사이트
  • 회사소개
    회사소개 회사연혁 출판사업부 광고안내 제휴 및 협력제안 회사조직 및 연락처 오시는길
  • 고객지원센터
    고객지원 Q&A 이메일 문의 기사제보 및 기고 개인정보 취급방침 기타 결제 업체등록결제
  • 쇼핑몰
로컬 호스트 LLM 오픈소스 기반 BIM 전문가 챗봇 서비스 만들어보기
2024-04-01 1,437 4

BIM 칼럼니스트 강태욱의 이슈 & 토크

 

요즘 LLM 모델을 사용하는 방법이 점차 간편해지고 있어 자체적으로 LLM을 구축해 챗봇, 전문가 시스템 등을 자신의 서버에서 제공하는 경우가 많아지고 있다. 이번 호에서는 GPU가 있는 PC에서 직접 실행해 볼 수 있도록, 로컬 호스트 LLM(대규모 언어 모델) 오픈소스 기반의 BIM 전문가 챗봇 서비스를 간단히 개발해 본다.

 

■ 강태욱
건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 이와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다.
이메일 | laputa99999@gmail.com
페이스북 | www.facebook.com/laputa999
홈페이지 | https://dxbim.blogspot.com
팟캐스트 | http://www.facebook.com/groups/digestpodcast

 

이번 호에서는 기존의 BIM PDF 파일을 검색해 학습하고, LLM에 RAG(Retrieval-augmented generation) 증강 학습한 후, 이를 간단한 UI로 웹 서비스하는 과정을 간략히 따라해 본다.

이번 호의 내용은 로컬 LLM의 편한 개발을 지원하는 올라마(Ollama), LLM 프롬프트 엔지니어링 프레임워크인 랭체인(LangChain), 텍스트 임베딩 벡터 데이터베이스 크로마(Chroma), 손쉬운 웹 앱 개발 지원 도구인 스트림릿(Streamlit)을 사용한다. 이를 이용해 간단하게 BIM 전문 지식을 PDF로 학습한 챗봇을 개발한다.

 


그림 1. 로컬 호스트 LLM 챗봇 아키텍처

 


그림 2. 구현된 BIM 지식 챗봇 서비스

 


LLM에 관련된 깊은 내용은 다음의 링크를 참고한다. 이 글은 여러 참고 자료를 이용해 작성된 것이다. 상세 내용은 레퍼런스를 참고하기 바란다.

LLM은 빅테크 업체 간 경쟁이 심한 분야이다. 이와 관련해서 젬마(Gemma), MPT-7B과 같은 LLM 모델이 오픈소스로 공개되고 있어 선택지가 많아지고 있다. 이와 관련해서는 다음을 참고한다. 

 

설치

설치를 위해서는 엔비디아 드라이버, CUDA, 텐서플로(TensorFlow), 파이토치(PyTorch) 등 기본 딥러닝 개발 환경이 설치되어 있어야 한다.(최소 구동을 위한 GPU RAM은 6GB이다.)

설치 순서는 다음과 같다. 

1. 기본 패키지를 설치한다. LLM 모델 기반 서비스 개발 지원 라이브러리 랭체인, 웹 앱 UI 개발을 지원하는 스트림릿, 텍스트 임베딩 벡터 데이터베이스 크로마 DB 등을 설치한다.

pip install langchain streamlit streamlit_chat pypdf fastembed chardet
pip install chromadb==0.4.15

 


그림 3. 다양한 LLM 모델을 이용한 서비스 개발을 지원하는 랭체인 패키지

 


그림 4. 간단한 코드로 웹 앱 개발을 지원하는 UI 라이브러리 패키지 streamlit.io

 

혹은 pip와 유사한 패키지 설치 관리자인 poetry를 설치한 후, 다음 사용 패키지들을 pyproject.toml 이름으로 저장하고 설치한다.

 

 

■ 자세한 기사 내용은 PDF로 제공됩니다.

강태욱 laputa99999@gmail.com


출처 : 캐드앤그래픽스 2024년 4월호

포인트 : 1,000P (정기구독자 무료 다운로드)

© 캐드앤그래픽스 무단전재 및 재배포금지, 기사 게재 희망시 당사 문의
  • kakao

댓글 0

로그인 후 댓글을 달수있습니다
등록된 코멘트가 없습니다.