• 회원가입
  • |
  • 로그인
  • |
  • 장바구니
  • News
    뉴스 신제품 신간 Culture & Life
  • 강좌/특집
    특집 강좌 자료창고 갤러리
  • 리뷰
    리뷰
  • 매거진
    목차 및 부록보기 잡지 세션별 성격 뉴스레터 정기구독안내 정기구독하기 단행본 및 기타 구입
  • 행사/이벤트
    행사 전체보기 캐드앤그래픽스 행사
  • CNG TV
    방송리스트 방송 다시보기 공지사항
  • 커뮤니티
    업체홍보 공지사항 설문조사 자유게시판 Q&A게시판 구인구직/학원소식
  • 디렉토리
    디렉토리 전체보기 소프트웨어 공급업체 하드웨어 공급업체 기계관련 서비스 건축관련 업체 및 서비스 교육기관/학원 관련DB 추천 사이트
  • 회사소개
    회사소개 회사연혁 출판사업부 광고안내 제휴 및 협력제안 회사조직 및 연락처 오시는길
  • 고객지원센터
    고객지원 Q&A 이메일 문의 기사제보 및 기고 개인정보 취급방침 기타 결제 업체등록결제
  • 쇼핑몰
통합검색 "역설계"에 대한 통합 검색 내용이 347개 있습니다
원하시는 검색 결과가 잘 나타나지 않을 때는 홈페이지의 해당 게시판 하단의 검색을 이용하시거나 구글 사이트 맞춤 검색 을 이용해 보시기 바랍니다.
CNG TV 방송 내용은 검색 속도 관계로 캐드앤그래픽스 전체 검색에서는 지원되지 않으므로 해당 게시판에서 직접 검색하시기 바랍니다
오픈소스 LLM 모델 젬마 3 기반 AI 에이전트 개발해 보기
BIM 칼럼니스트 강태욱의 이슈 & 토크   이번 호에서는 최근 이슈인 AI 에이전트(agent) 개발 시 필수적인 함수 호출(function call) 방법을 오픈소스를 이용해 구현해 본다. 이를 위해 구글에서 공개한 젬마 3(Gemma 3) LLM(대규모 언어 모델)과 역시 오픈소스인 LLM 관리도구 올라마(Ollama)를 활용하여 간단한 AI 에이전트를 로컬 PC에서 개발해본다. 아울러, 이런 함수 호출 방식의 한계점을 개선하기 위한 설루션을 나눔한다.   ■  강태욱 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 이와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/ GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다. 페이스북 | www.facebook.com/laputa999 블로그 | http://daddynkidsmakers.blogspot.com 홈페이지 | https://dxbim.blogspot.com 팟캐스트 | www.facebook.com/groups/digestpodcast   이번 호의 글은 다음 내용을 포함한다. AI 에이전트 구현을 위한 사용자 도구 함수 호출 방법 올라마를 통한 젬마 3 사용법 채팅 형식의 프롬프트 및 메모리 사용법 그라디오(Gradio) 기반 웹 앱 개발   그림 1. AI 에이전트 내부의 함수 호출 메커니즘(Akriti, 2025)   이 글의 구현 코드는 다음 링크에서 확인할 수 있다. AI_agent_simple_function_call   젬마 3 모델의 특징 젬마 3는 구글이 개발해 2025년 3월 10일에 출시한 LLM이다. 차세대 경량 오픈 멀티모달 AI 모델로, 텍스트와 이미지를 동시에 처리할 수 있는 기능을 갖추고 있다. 이 모델은 다양한 크기와 사양으로 제공되어 단일 GPU 또는 TPU 환경에서도 실행 가능하다. 젬마 3는 1B, 4B, 12B, 27B의 네 가지 모델 크기로 제공되며, 각각 10억, 40억, 120억, 270억 개의 파라미터를 갖추고 있다. 1B 모델은 텍스트 전용으로 32K 토큰의 입력 컨텍스트를 지원하고, 4B/12B/27B 모델은 멀티모달 기능을 지원하며 128K 토큰의 입력 컨텍스트를 처리할 수 있다. 이는 이전 젬마 모델보다 16배 확장된 크기로, 훨씬 더 많은 양의 정보를 한 번에 처리할 수 있게 해 준다. 이 모델은 텍스트와 이미지 데이터를 동시에 처리하고 이해하는 멀티모달 기능을 제공한다. 이미지 해석, 객체 인식, 시각적 질의응답 등 다양한 작업을 수행할 수 있으며, 텍스트 기반 작업에 시각적 정보를 효과적으로 활용할 수 있도록 지원한다.   그림 2. 출처 : ‘Welcome Gemma 3 : Google's all new multimodal, multilingual, long context open LLM(Hugging Face)’   그림 3. 출처 : ‘Welcome Gemma 3 : Google's all new multimodal, multilingual, long context open LLM(Hugging Face)’   젬마 3는 140개 이상의 언어를 지원하여 전 세계 다양한 언어 사용자를 대상으로 하는 AI 애플리케이션 개발에 매우 유리하다. 사용자는 자신의 모국어로 젬마 3와 상호작용할 수 있으며, 다국어 기반의 텍스트 분석 및 생성 작업도 효율적으로 수행할 수 있다. 이 모델은 다양한 작업 수행 능력을 갖추고 있다. 질문–답변, 텍스트 요약, 논리적 추론, 창의적인 텍스트 형식 생성(시, 스크립트, 코드, 마케팅 문구, 이메일 초안 등), 이미지 데이터 분석 및 추출 등 광범위한 자연어 처리 및 컴퓨터 비전 관련 작업을 수행할 수 있다. 또한, 함수 호출 및 구조화된 출력을 지원하여 개발자가 특정 작업을 자동화하고 에이전트 기반의 경험을 구축하는 데 도움을 준다. 젬마 3는 다양한 도구 및 프레임워크와 원활하게 통합된다. Hugging Face Transformers, Ollama, JAX, Keras, PyTorch, Google AI Edge, UnSloth, vLLM, Gemma. cpp 등 다양한 개발 도구 및 프레임워크와 호환되어 개발자들이 자신이 익숙한 환경에서 젬마 3를 쉽게 활용하고 실험할 수 있다. 이 모델은 다양한 벤치마크 테스트에서 동급 모델 대비 최첨단 성능을 입증했다. 특히, Chatbot Arena Elo Score에서 1338점을 기록하며, 여러 오픈 소스 및 상용 모델보다 높은 성능을 보였다.  젬마 3는 오픈 모델로, 개방형 가중치를 제공하여 사용자가 자유롭게 조정하고 배포할 수 있다. 캐글(Kaggle)과 허깅 페이스(Hugging Face)에서 다운로드 가능하며, Creative Commons 및 Apache 2.0 라이선스를 따름으로써 개발자와 연구자에게 VLM 기술에 대한 접근성을 높여준다.   개발 환경 개발 환경은 다음과 같다. 미리 설치 및 가입한다. 오픈 LLM 관리 도구 올라마 : https://ollama.com/download/ windows LLM 모델 젬마 3 : https://ollama.com/search dashboard 웹 검색 도구 Serper 서비스 가입 : https://serper.dev/ 설치되어 있다면 다음 명령을 터미널(윈도우에서는 도스 명령창)에서 실행한다. ollama pull gemma3:4b     ■ 자세한 기사 내용은 PDF로 제공됩니다.
작성일 : 2025-08-04
정보통신산업진흥원, 2025년 3D 프린팅 전문인력 양성교육 진행
과학기술정보통신부와 정보통신산업진흥원은 미래 제조 패러다임 전환의 핵심 기술인 3D 프린팅 산업 발전을 위해 ‘2025년 3D 프린팅 전문인력 양성교육’을 실시한다고 밝혔다. 이번 교육 과정은 3D 프린팅 산업 성장 및 신시장 창출을 위해 양 기관이 기획한 프로그램으로, 3D 프린팅 분야의 인재 양성을 목표로 한다. 교육 부문은 전주기 플라스틱, 전주기 메탈, 전문 소프트웨어, 의료기기, 주얼리, 항공우주 등 산업 현장 적용 부문이 운영된다. 교육 대상은 3D 프린팅 관련 구직자, 예비 창업자, 기업재직자 등이며, 국비 100% 지원으로 진행된다. 전주기 플라스틱 부문은 3D 모델링·3D 프린팅·전문 후가공 등으로 세분화된 커리큘럼을 제공한다. 신청 기간은 오는 10월 24일까지며, 2회차 프로그램은 10월 13일, 3회차 프로그램은 10월 27일 각각 개강을 앞두고 있다. 전주기 메탈 부문은 3D 모델링·3D 프린팅·후처리 등으로 세분화된 커리큘럼을 제공한다. 신청 기간은 오는 9월 19일까지며, 2회차 프로그램은 7월 28일, 3회차 프로그램은 9월 15일 각각 개강을 앞두고 있다. 전문 소프트웨어 부문은 3D 프린팅 산업 현장에서 활용되는 소프트웨어를 다루는 과정이다. 지브러시, 솔리드웍스, 라이노, 3D 스캐닝/역설계, 매직스, 미믹스, 3-매틱 등 7가지 커리큘럼, 5일 과정으로 구성돼 있으며, 오는 7월 14일에 교육을 시작한다. 분야별 산업 현장에 적용될 기술 교육 프로그램은 항공우주·주얼리·의료기기 등 분야로 구성됐다. 해당 부문은 항공우주 8월 18일, 의료기기 8월 18일, 주얼리 10월 13일부터 25일 과정으로 각각 수강이 가능하다. 정보통신산업진흥원은 3D 프린팅 전문인력 양성교육을 통해 3D 프린팅 중고급 인력을 배출하는 것을 목표로 하고 있으며, 관련 기업의 기술력 향상 지원을 비롯해 국가의 3D 프린팅 기술 경쟁력 확보의 초석이 될 것으로 기대하고 있다. 한편, 정부는 매년 ‘3D 프린팅 산업 진흥 시행계획’을 발표하며, 3D 프린팅 산업 성장을 이끌고 있다. 교육 수료 시 정보통신산업진흥원에서 발행되는 수료증도 지급될 예정이며 우수학생 포상, 공모전 개최, 시상식도 진행된다. 참여 신청은 3D 프린팅혁신성장센터의 교육신청란을 통해 온라인으로 제출하면 되며, 이외에도 교육과 관련한 내용을 확인할 수 있다.
작성일 : 2025-07-04
헥사곤, 설계-측정-제작을 연결하는 디지털 기술과 조선해양 기자재 설계 사례 공유
헥사곤 매뉴팩처링 인텔리전스는 지난 6월 27일 부산에서 열린 ‘조선해양 및 기자재 산업 DX 활성화 포럼’에 참가해, 기자재 설계 효율화를 위한 디지털 기술과 이를 실현한 실제 적용 사례를 공유했다. 이번 행사에서 헥사곤 매뉴팩처링 인텔리전스의 홍석관 메트롤로지 사업부 사장은 ‘효율적 기자재 제품 설계를 위한 기술 소개’를 주제로 조선해양 및 기자재 산업에서 설계, 측정, 분석, 제작에 이르는 전 공정을 디지털로 연결하는 통합적 접근법을 중심으로 발표를 진행했다. 조선해양 산업은 제품의 크기, 복잡도, 실외 작업 환경 등으로 인해 설계 및 품질 관리가 까다로운 분야로 꼽힌다. 대형 구조물은 블록 단위로 나누어 제작되기 때문에 설계 정합성과 조립 오차 최소화가 핵심이며, 동시에 고정밀 측정 및 설계 변경 대응 역량이 요구된다. 하지만 기존의 측정 장비로는 정밀도와 속도, 이동성 측면에서 한계가 있었고, 비표준화된 부품과 제작 조건으로 인해 효율적인 설계 자동화도 어려운 상황이다.     홍석관 사장은 발표를 통해 헥사곤의 라이카 앱솔루트 트래커 ATS800(Leica Absolute Tracker ATS800)과 같은 고정밀 이동식 측정 장비를 활용하여 실외 및 협소 공간에서도 정밀한 3D 형상 데이터를 확보하고, 이를 기반으로 한 역설계, 시뮬레이션, 품질 관리에 이르는 디지털 작업 프로세스를 설명했다. 또한 제품의 파라메트릭 데이터를 이용하여 CAE 해석과 로봇 기반 용접 자동화에 필수인 오프라인 프로그램 기술을 적용하여, 설계뿐만 아니라 생산 과정 전반의  효율을 높일 수 있는 적용 사례도 소개했다. 이를 통해 설계 효율을 넘어 생산 기술과의 연계성을 통한 통합적 효율성 확보 가능성을 강조했다. 이러한 통합적 설계 및 제작 체계는 기자재 품질의 일관성 확보와 제작 오류 감소에 효과적이라고 설명했다. 홍석관 사장은 “조선해양 산업은 높은 정밀도와 복잡한 설계 요건을 동시에 만족시켜야 하는 만큼, 설계와 측정, 해석이 유기적으로 연계된 디지털 기반의 접근이 필수”라며, “헥사곤은 자사의 통합 설루션을 통해 조선 산업의 경쟁력 강화를 지속적으로 지원할 것”이라고 말했다.
작성일 : 2025-07-02
정보통신산업진흥원(NIPA), 2025년 3D프린팅 전문인력 양성교육 교육생을 모집한다
정보통신산업진흥원(원장 박윤규)은 3D프린팅 산업 발전과 3D프린팅 관련 취창업 지원자, 기업재직자를 위한 '2025년 3D프린팅 전문인력 양성교육'을 실시한다.   이번 교육 커리큘럼은 무료로 실시되며, 전주기 플라스틱, 메탈, SW를 비롯해 치기공, 의료기기, 항공우주, 주얼리 등 산업특화 교육으로 진행된다.   전주기 플라스틱(중급) 교육 내용은 모델링-프린팅-후가공 학습으로 진행된다. 신청기한은 2025년 6월 2일부터 10월 10일까지이며, 모집인원은 각 회차별(3회차) 12명 수준이다.   전주기 메탈(중급) 교육 내용은 금속 3D프린팅에 적합한 3D모델링 학습 및 제작으로 진행된다. 신청기한은 2025년 6월 2일부터 9월 19일까지이며, 모집인원은 각 회차별(3회차) 12명 수준이다.   전문 SW(중급) 교육 과정은 ZBrush, Rhino, Solidworks, 3D스캐닝 역설계, Mimics, 3-Matic, ,Magics 으로 진행된다. 신청기한은 상이하며 모집인원은 과정별 10~15명 수준이다.   그 밖에도 산업현장적용 특화 교육으로 치과기공, 항공우주, 의료기기, 주얼리 등 다양한 교육이 진행될 예정이다.   교육수료 시 정보통신산업진흥원에서 발행되는 수료증도 지급될 예정이다.   자세한 내용은 3D프린팅혁신성장센터(3d-fab.kr)에서 확인할 수 있다.   참여신청은 3D프린팅혁신성장센터(https://3d-fab.kr/kor/education/schedule.php)를 통해 제출하면 된다.
작성일 : 2025-07-02
파이썬 버전 라이브러리 p5 기반 3D 데이터 시각화
BIM 칼럼니스트 강태욱의 이슈 & 토크   이번 호에서는 컴퓨터 그래픽스 분야에서 유명한 프로세싱(processing) 도구를 파이썬(Python)으로 포팅한 p5를 알아보고, 이를 이용한 데이터셋 3D 가시화 방법을 확인해 본다. 또한 관련된 개발 프로세스를 이해하는 데 도움이 되는 간단한 예제를 설치, 코딩 및 실행하는 방법을 다룬다.   ■ 강태욱 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 이와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/ GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다. 페이스북 | www.facebook.com/laputa999 블로그 | http://daddynkidsmakers.blogspot.com 홈페이지 | https://dxbim.blogspot.com 팟캐스트 | www.facebook.com/groups/digestpodcast   그림 1. p5 데모   실행 가능한 소스 코드는 다음 링크에서 다운로드할 수 있다. 깃허브 : https://github.com/mac999/llm-media-art-demo   p5 소개 p5 Python은 JavaScript 라이브러리 p5.js와 컴퓨터 그래픽 미디어아트에서 자주 사용되는 processing.org에서 영감을 받아 창의적인 코딩을 위해 설계된 라이브러리이다. 2D 및 3D 모두에서 그래픽, 애니메이션 및 대화형 프로그램을 구축하기 위한 간단한 API를 제공한다. p5는 파이썬을 지원하므로 pandas, numpy, 딥러닝 관련 라이브러리를 함께 사용해 가시화하기 편리하다.   그림 2   기본적으로 `p5py`는 `setup()`과 `draw()` 함수를 중심으로 프로그램의 구조를 구성한다. `setup()` 함수는 초기 설정을 담당하며, `draw()` 함수는 프레임마다 반복 호출되어 애니메이션이나 실시간 그래픽 표현을 가능하게 한다. 이를 통해 반복적이거나 시간 기반의 시각적 표현이 용이하게 된다. 그래픽 요소의 생성 및 조작이 매우 직관적이다. 예를 들어, `circle()`, `rect()`, `line()` 등의 함수는 간단한 인자 전달만으로 기본 도형을 화면에 출력할 수 있게 하며, `fill()`, `stroke()`, `background()` 등은 색상과 스타일 설정을 손쉽게 조절할 수 있게 한다. 마우스와 키보드 입력을 처리하기 위한 이벤트 함수도 포함되어 있다. `mousePressed()`, `keyPressed()` 등은 사용자와의 인터랙션을 가능하게 하며, 이를 통해 인터랙티브 아트, 시각적 피드백, 교육용 시뮬레이션 등을 손쉽게 개발할 수 있다. 이미지, 사운드, 텍스트 등 다양한 멀티미디어 요소도 지원한다. 이미지 로딩 및 출력은 `loadImage()`와 `image()`로, 텍스트 출력은 `text()`로 구현되며 각각의 요소는 다양한 좌표 기반 조정이 가능하다. 또한, NumPy와 같은 파이썬 과학계산 생태계와도 호환이 가능하여, 복잡한 수학적 계산이나 데이터 시각화 작업에 활용할 수 있는 확장성이 있다. 전반적으로 p5py는 예술가, 디자이너, 교육자, 프로그래밍 입문자를 위한 시각 중심의 프로그래밍 도구로서, 단순한 문법과 풍부한 기능을 통해 창의적 프로토타이핑을 효율적으로 지원하는 라이브러리이다. 상세한 내용은 다음 링크를 참고한다. https://github.com/p5py/p5 https://p5.readthedocs.io/en/latest/install.html   p5 Python 설치 시작하려면 컴퓨터에 파이썬이 설치되어 있어야 한다. 다음 단계에 따라 필요한 라이브러리를 설정한다.   1단계 : 파이썬 설치 파이썬 3.11이 설치되어 있는지 확인한다. 없다면 python.org에서 다운로드한다.   2단계 : p5 설치 pip를 사용하여 p5를 설치한다. pip install p5   3단계 : pandas 설치 CSV 파일을 처리하려면 라이브러리를 설치한다. pip install pandas   4단계 : 설치 라이브러리 검사 터미널에서 다음의 명령을 입력해 제대로 설치되었는지 확인한다. python -c "import p5" python -c "import pandas"     ■ 자세한 기사 내용은 PDF로 제공됩니다.
작성일 : 2025-07-01
인공지능 AI 에이전트 표준 프로토콜 MCP의 사용, 분석 및 개발
BIM 칼럼니스트 강태욱의 이슈 & 토크   MCP(Model Context Protocol)는 클로드(Claude)의 개발사인 앤트로픽(Anthropic)의 인공지능 AI 에이전트 표준 프로토콜이다. 이번 호에서는 최근 많은 이슈가 되고 있는 MCP의 사용 방법을 간략히 설명한다.   ■ 강태욱 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 이와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/ GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다. 페이스북 | www.facebook.com/laputa999 블로그 | http://daddynkidsmakers.blogspot.com 홈페이지 | https://dxbim.blogspot.com 팟캐스트 | www.facebook.com/groups/digestpodcast   그림 1. MCP의 개념   MCP는 애플리케이션이 LLM(대규모 언어 모델)에 컨텍스트를 제공하는 방식을 표준화한 개방형 프로토콜이다. USB-C 포트처럼, 다양한 도구와 데이터를 LLM에 연결하는 통합된 인터페이스 역할을 한다. LLM 기반 에이전트와 워크플로 구축을 지원하며 유연한 통합, 데이터 보호, 공급업체 간 전환성을 제공한다. MCP를 이용하면 AI 에이전트가 다양한 도구를 이용해 기존 LLM보다 훨씬 많은 일을 할 수 있다. 예를 들어, LLM에서 실시간 웹 자료를 이용해 여행 일정을 짜고, 마케팅 보고서를 만들며, 레빗(Revit)과 같은 3D 모델 콘텐츠를 프롬프트 엔지니어링으로 개발할 수 있다.   그림 2. AI 에이전트 기반 3D 모델링(United Top Tech 유튜브)   그림 3. MCP 도구 서버(https://mcp.so)   MCP의 개념 아키텍처 구조 MCP는 호스트-클라이언트-서버 구조로 구성되며, 로컬 및 원격 데이터를 안전하게 연결할 수 있는 아키텍처를 따른다. 호스트는 서버에서 제공해 주는 파일 관리, 웹 서칭, 계산 등의 도구를 연결해 LLM을 통해 추론, CoT, 도구 호출, 생성 등의 역할을 담당한다.   그림 4. MCP의 구조   각 구성요소의 역할은 다음과 같다. MCP 호스트는 MCP 프로토콜을 통해 서비스에 액세스할 수 있는 애플리케이션이다. 클로드 데스크톱 앱, AI 에이전트/CLI, 커서 IDE 등이 이에 해당하며, LLM(로컬 또는 원격)을 활용하여 다양한 작업을 수행한다. MCP 클라이언트는 MCP 서버와 연결하기 위해 호스트 애플리케이션과 통합된 클라이언트이다. MCP 서버는 MCP 프로토콜을 통해 특정 기능을 노출하는 응용 프로그램 또는 프로그램이다. 서버는 도커(Docker) 컨테이너, JVM, Node.js(UV/UVX) 프로세스에서 실행될 수 있으며, MCP 커뮤니티에서 제공하는 사전 구축된 서버를 활용할 수도 있다. 로컬 데이터 소스는 로컬 시스템에 존재하는 데이터베이스 또는 파일 시스템이다. 원격 서비스는 웹 API를 통해 액세스할 수 있는 깃허브(GitHub), 브레이브 서치(Brave Search)와 같은 외부 리소스이다. MCP를 이용하면 서버, 클라이언트, 로컬에 있는 파일, 폴더, 앱에 접근해 이를 LLM으로 컨트롤할 수 있다. MCP 구조를 구성하는 호스트와 서버는 다음과 같은 도구를 통해 구성해 활용한다. 호스트 : 클로드, 커서(Cursor), 챗GPT(ChatGPT), 깃허브 코파일럿(Github Copilot) 등 서버 : Model Context Protocol Servers(https://github. com/modelcontextprotocol/servers) MCP는 전형적인 호스트-서버 프로토콜(TCP/IP와 유사)을 따른다. 서버의 실행 모드는 SSE(server sent event)와 stdio(표준입출력) 모드가 있다. SSE는 네트워크로 연결해 도구를 호출할 수 있도록 한다. stdio는 로컬 자체에서 도구를 호출할 수 있도록 한다.     ■ 자세한 기사 내용은 PDF로 제공됩니다.
작성일 : 2025-06-04
[무료강좌] 오픈마누스 AI 에이전트의 설치, 사용 및 구조 분석
BIM 칼럼니스트 강태욱의 이슈 & 토크   생성형 AI 에이전트는 목표 달성을 위해 세상을 관찰하고 스스로 행동하는 자율적인 애플리케이션으로, 행동과 의사결정을 위한 인지 아키텍처를 갖추고 있다. 이번 호에서는 오픈소스 AI 에이전트인 오픈마누스(OpenManus)를 통해 AI 에이전트의 동작 메커니즘이 어떻게 구현되는지 분석해 본다.   ■ 강태욱 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 이와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/ GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다. 페이스북 | www.facebook.com/laputa999 블로그 | http://daddynkidsmakers.blogspot.com 홈페이지 | https://dxbim.blogspot.com 팟캐스트 | www.facebook.com/groups/digestpodcast   최근 AI 에이전트 기술이 크게 발전하고 있다. 구글의 에이전트 백서를 보면, 생성형 AI 에이전트는 목표 달성을 위해 세상을 관찰하고 스스로 행동하는 자율적인 애플리케이션으로 설명한다. 명시적인 지시가 없어도 스스로 판단하고 능동적으로 목표에 접근할 수 있다. 이러한 에이전트는 행동과 의사결정을 위한 인지 아키텍처를 갖추며, 핵심 구성 요소는 <그림 1>과 같이 사용자 입력에 대한 추론 역할을 하는 모델(보통은 GPT와 같은 LLM), 입력에 대해 필요한 기능을 제공하는 도구(tools), 그리고 어떤 도구를 호출할지 조율하는 오케스트레이션의 세 가지로 이루어진다.   그림 1. AI 에이전트의 구성 요소(Agents, Google, 2024)   이번 호에서는 AI 에이전트의 동작 메커니즘을 분석하기 위한 재료로, 딥시크(DeekSeek)와 더불어 관심이 높은 마누스(Manus.im)에서 영감을 받아 개발된 오픈마누스(OpenManus) 오픈소스 AI 에이전트를 활용하겠다. 오픈마누스는 메타GPT(MetaGPT)라는 이름으로 활동 중인 중국인 개발자가 공개한 AI 에이전트이다. 개발자는 오픈마누스가 연결된 다양한 도구를 LLM으로 조율하고 실행할 수 있다고 주장하고 있다. 깃허브(GitHub) 등에 설명된 오픈마누스는 다음과 같은 기능을 지원한다. 로컬에서 AI 에이전트 실행 여러 도구 및 API 통합 : 외부 API, 로컬 모델 및 자동화 도구를 연결, 호출 워크플로 사용자 지정 : AI가 복잡한 다단계 상호 작용을 효율적으로 처리 여러 LLM 지원 : 라마(LLaMA), 미스트랄(Mistral) 및 믹스트랄(Mixtral)과 같은 인기 있는 개방형 모델과 호환 자동화 향상 : 내장 메모리 및 계획 기능을 통해 코딩, 문서 처리, 연구 등을 지원   <그림 2>는 이 에이전트가 지원하는 기능 중 일부이다. 프롬프트 : “Create a basic Three.js endless runner game with a cube as the player and procedurally generated obstacles. Make sure to run it only in browser. If possible also launch it in the browser automatically after creating the game.”   그림 2   오픈마누스는 이전에 중국에서 개발된 마누스에 대한 관심을 오픈소소로 옮기는 데 성공했다. 오픈마누스는 현재 깃허브에서 4만 2000여 개의 별을 받을 정도로 관심을 받고 있다.    그림 3. 오픈마누스(2025년 4월 기준 42.8k stars)   필자는 오픈마누스에 대한 관심이 높았던 것은 구현된 기술보다는 에이전트 분야에서 크게 알려진 마누스에 대한 관심, 오픈소스 버전의 AI 에이전트 코드 공개가 더 크게 작용했다고 생각한다. 이제 설치 및 사용해 보고, 성능 품질을 확인해 보자. 그리고 코드 실행 메커니즘을 분석해 본다.    오픈마누스 설치 개발 환경은 이미 컴퓨터에 엔비디아 쿠다(NVIDIA CUDA), 파이토치(PyTorch) 등이 설치되어 있다고 가정한다. 이제, 다음 명령을 터미널에서 실행해 설치한다.   conda create -n open_manus python=3.12 conda activate open_manus git clone https://github.com/mannaandpoem/OpenManus.git cd OpenManus pip install -r requirements.txt playwright install   오픈마누스가 설치하는 패키지를 보면, 많은 경우, 기존에 잘 만들어진 LLM, AI Agent 라이브러리를 사용하는 것을 알 수 있다. 여기서 사용하는 주요 라이브러리는 다음과 같다.  pydantic, openai, fastapi, tiktoken, html2text, unicorn, googlesearch-python, playwright, docker     ■ 자세한 기사 내용은 PDF로 제공됩니다.
작성일 : 2025-05-02
오픈소스 LLM 기반 블렌더 모델링 AI 에이전트 개발하기
BIM 칼럼니스트 강태욱의 이슈 & 토크   이번 호에서는 올라마(Ollama)와 오픈AI(OpenAI) GPT가 지원하는 오픈 소스 AI 모델을 블렌더(Blender)와 연결해 프롬프트 입력에 의한 자동 모델링 에이전트를 개발하는 방법을 설명한다. 이 연결을 통해 3D 모델링 작업 흐름을 간소화하고, 간단한 텍스트 프롬프트만으로 3D 장면을 생성하고 수정할 수 있다. 이번 호의 내용을 통해 이 프로세스를 직접 구현하는 방법을 이해하고, AI 에이전트 도구로서 LLM 모델의 역량을 평가할 수 있다.   ■ 강태욱 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 이와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/ GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다. 페이스북 | www.facebook.com/laputa999 블로그 | http://daddynkidsmakers.blogspot.com 홈페이지 | https://dxbim.blogspot.com 팟캐스트 | www.facebook.com/groups/digestpodcast   그림 1. 프롬프트 : ‘Generate 100 cubes along the line of a circle with a radius of 30. The color and size of each cube are random.’   개념 : 텍스트 기반 3D 모델링 ‘텍스트 기반 3D 모델링’이란, 사용자가 입력한 텍스트를 AI 모델이 분석하여 블렌더에서 실행할 수 있는 코드를 생성하고 이를 통해 3D 그래픽을 구현하는 방식이다. 텍스트 토큰을 조건으로 설정하여 메시 모델을 생성하는 방법도 존재하며, 이는 스테이블 디퓨전(Stable Diffusion : SD) 계열의 기술을 활용하는 경우가 많다. 그러나 SD 기반 모델은 정확한 크기와 위치를 지정하는 데 근본적인 한계를 가진다. 이번 호에서는 정확한 치수를 가진 모델을 생성하는 것에 초점을 맞추고 있으므로, SD 기반 모델에 대한 자세한 설명은 생략한다. 텍스트를 3D 모델로 변환하는 에이전트 도구는 CAD 툴과의 상호작용 방식을 개선할 가능성이 있으며, 그래픽 모델링의 진입 장벽을 낮추고 신속한 프로토타이핑이 가능할 수 있다.   실행 가능한 코드 다운로드 이번 호의 내용과 관련된 실행 가능한 코드는 깃허브(GitHub)에서 다운로드할 수 있으니 참고한다. GitHub 링크 : https://github.com/mac999/blender-llm-addin   라이브러리 설치 블렌더와 올라마를 설치해야 한다.   1. 블렌더 다운로드 : blender.org   2. 윈도우에서 올라마 다운로드 : https://ollama.com/download   3. 오픈 소스 LLM 모델 설치(터미널에서 실행) ollama pull llama3.2 ollama pull gemma2 ollama pull codellama ollama pull qwen2.5-coder:3b ollama pull vanilj/Phi-4   4. 필요한 라이브러리 설치 pip install pandas numpy openai ollama   블렌더의 파이썬(Python) 환경에서 라이브러리를 설치하려면, 블렌더 설치 경로에 맞게 다음을 실행해야 한다. cd "C:/Program Files/Blender Foundation/Blender /python/bin" ./python.exe -m ensurepip ./python.exe -m pip install pandas numpy openai ollama   코드 설명 블렌더 UI 패널 생성 사용자가 블렌더에서 직접 모델을 선택하고 텍스트 프롬프트를 입력할 수 있도록 커스텀 UI를 생성한다. class OBJECT_PT_CustomPanel(bpy.types.Panel):  bl_label = "AI Model Selector"  bl_idname = "OBJECT_PT_custom_panel"  bl_space_type = 'VIEW_3D'  bl_region_type = 'UI'  bl_category = "Gen AI 3D Graphics Model"  def draw(self, context):   layout = self.layout   layout.label(text="Select Model:")   layout.prop(context.scene, "ai_model", text="")   layout.label(text="User Prompt:")   layout.prop(context.scene, "user_prompt", text="")   layout.operator("object.submit_prompt", text="Submit")     ■ 자세한 기사 내용은 PDF로 제공됩니다.
작성일 : 2025-04-02
세슘 기반 BIM IFC 가시화 방법과 3D 타일 구조
BIM 칼럼니스트 강태욱의 이슈 & 토크   이번 호에서는 BIM(건설 정보 모델링) 포맷 중 하나인 IFC(Industry Foundation Classes) 파일을 세슘(Cesium) 플랫폼에 3D 타일(tiles)로 가시화하는 방법을 간략히 설명한다. 세슘은 디지털 트윈 산업 표준 플랫폼으로 많이 알려져 있다. 이번 호에서는 BIM 가시화 방법을 설명하고, 마지막 부분에 3D 타일 개념과 구조를 간략히 소개한다. 참고로, 세슘에서 개발된 3D 타일은 3D 고속 렌더링을 위한 모델 구조와 렌더링 메커니즘을 제공한다. 이 기술은 현재 공간정보 산업 표준을 담당하는 OGC(Open Geospatial Consortium)와 유기적 협력을 통해 발전하고 있다.   그림 1. 세슘의 3D 타일 가시화 모습 예시   ■ 강태욱 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 이와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/ GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다. 페이스북 | www.facebook.com/laputa999 블로그 | http://daddynkidsmakers.blogspot.com 홈페이지 | https://dxbim.blogspot.com 팟캐스트 | www.facebook.com/groups/digestpodcast   세슘은 구글 어스와 유사한 지구 스케일의 디지털 트윈 플랫폼이다. 이를 이용하면 도시 차원에서 분석하거나 실내 건물을 탐색하는 등의 유스케이스를 개발할 수 있다. 국내 대부분의 3차원 도시 플랫폼 기반 서비스에서 세슘이 사용되고 있다. 세슘은 디지털 트윈 모델을 다루기 위한 저작도구도 함께 제공한다. 개발자는 서비스에 필요한 메뉴 기능, 대시보드에 표출한 데이터 처리에만 신경을 쓰면 된다.   그림 2. 세슘 저작도구 예시   공간정보 기술을 연구하다 보면, 가끔 BIM 파일 포맷 중 하나 인 IFC를 세슘 위에 가시화해야 하는 경우가 종종 발생한다. 하지만 세슘은 IFC를 직접적으로 지원하지 않는다.   그림 3. IFC 추가 에러 발생 모습   세슘은 IFC를 포함한 모든 3D 모델 파일을 3D 타일로 변환해 업로드하도록 하고 있다. 이는 무거운 3D 모델의 가시화 성능을 고려한 것이다. 3D 타일은 웹에서 가시화하기에 무거운 3D 파일을 공간 인덱싱 기법을 이용해 Octree 형식으로 표현하고, 각 노트에 분할된 3D 모델의 부분을 담아둔다. 메시 간략화 기법을 이용해, 카메라가 모델을 비추는 거리에 따라 적절한 LoD(Level of Detail)의 메시를 보여준다. 이는 게임에서 FPS 성능을 올리기 위해 개발된 기법과 매우 유사하다. glTF(https://github.com/ KhronosGroup/glTF)는 3D 타일의 기본 형식이다. 세슘은 다양한 샘플 코드를 샌드캐슬(sandcastle)이란 플랫폼으로 제공하여 편리한 개발을 지원하고 있다.   그림 4. glTF 2.0 기능(3차원 점군, 텍스쳐, 모델 지원 예시)    그림 5. 세슘의 코드 예제   3D 타일 모델 변환 및 업로드 먼저, 다음 링크를 방문해 세슘 아이온(Cesium ion)에 가입한다. Cesium ion – Cesium(https://cesium.com/platform/ cesium-ion) 이후, 세슘의 API, 애셋(asset)을 관리하는 클라우드, 자바스크립트 기반 예제 등을 무료로 사용할 수 있다. 여기서 애셋이란 플랫폼에서 사용하는 GIS, BIM 등 모든 파일 및 데이터셋을 의미한다. 가입 후, <그림 6>의 화면에서 ‘New story’를 클릭해 애셋을 추가해 보자.   그림 6. 세슘 아이온 메뉴 화면   세슘은 3D 모델을 3차원 타일 형식으로 내부 표현한다. 이 형식을 지원하는 파일 포맷은 <그림 7>과 같다.    그림 7     ■ 자세한 기사 내용은 PDF로 제공됩니다.
작성일 : 2025-03-06
[무료강좌] 전문 BIM 자료를 이해하는 대규모 언어 모델 파인튜닝하기
BIM 칼럼니스트 강태욱의 이슈 & 토크   이번 호에서는 전문적인 BIM 자료를 이해할 수 있는 대규모 언어 모델(LLM, Large Language Model)을 개발하는 방법을 알아본다. BIM 기반 LLM을 개발하는 방법은 여러 가지가 있으나, 여기에서는 그 중 하나인 RAG(Retrieval Augumented Generation, 증강 검색 생성) 시 LLM이 잘 추론할 수 있도록 모델을 파인튜닝(fine-turning)하는 기술을 사용해 본다.   ■ 강태욱 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 이와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다. 페이스북 | www.facebook.com/laputa999 블로그 | http://daddynkidsmakers.blogspot.com 홈페이지 | https://dxbim.blogspot.com 팟캐스트 | www.facebook.com/groups/digestpodcast   LLM 모델 파인튜닝의 개념 파인튜닝이란 사전에 학습된 LLM을 특정 도메인이나 작업에 맞게 최적화하는 과정이다. 기본적으로 LLM은 일반적인 자연어 처리 작업을 수행하도록 설계되어 있지만, 전문적인 특정 지식 도메인(예 : 건설 분야의 BIM 데이터)이나 문제를 다룰 때는 환각 현상이 심해지므로 해당 도메인에 특화된 데이터로 모델을 재학습시켜야 한다. 이를 통해 모델이 특정 영역에서 더 정확하고 유용한 결과를 생성하도록 만든다. 파인튜닝 과정은 다음과 같은 단계로 이루어진다.  ① 사전 학습된 모델 선택 : 이미 대규모 데이터로 학습된 LLM을 선택한다. ② 도메인 특화 데이터 준비 : 대상 분야와 관련된 고품질 데이터를 수집하고, 이를 정제 및 전처리한다. ③ 모델 파라미터 조정 : LoRA(Low-Rank Adaptation)같은 기법을 사용하여 모델 파라미터를 특정 도메인에 맞게 업데이트한다.  ④ 훈련 및 검증 : 준비된 데이터로 모델을 학습시키고, 성능을 검증하며 최적화한다. 여기서, LoRA 기술은 LLM을 파인튜닝하는 데 사용되는 효율적인 기법이다. 이 방법은 모델 전체를 다시 학습시키는 대신, 모델의 일부 파라미터에만 저차원(lowrank) 업데이트를 적용하여 파인튜닝한다. 이를 통해 학습 비용과 메모리 사용량을 대폭 줄이면서도 높은 성능을 유지할 수 있다. 이 글에서 사용된 라마 3(Llama 3)는 메타가 개발한 LLM 제품이다. 모델은 15조 개의 토큰으로 구성된 광범위한 데이터 세트에서 훈련되었다.(라마 2의 경우 2T 토큰과 비교) 700억 개의 파라미터 모델과 더 작은 80억 개의 파라미터 모델의 두 가지 모델 크기가 출시되었다. 70B 모델은 MMLU 벤치마크에서 82점, HumanEval 벤치마크에서 81.7점을 기록하며 이미 인상적인 성능을 보여주었다. 라마 3 모델은 컨텍스트 길이를 최대 8192개 토큰(라마 2의 경우 4096개 토큰)까지 늘렸으며, RoPE를 통해 최대 32k까지 확장할 수 있다. 또한 이 모델은 128K 토큰 어휘가 있는 새로운 토크나이저를 사용하여 텍스트를 인코딩하는 데 필요한 토큰 수를 15% 줄인다.   개발 환경 준비 개발 환경은 엔비디아 지포스 RTX 3090 GPU(VRAM 8GB), 인텔 i9 CPU, 32GB RAM으로 구성되었다. 이러한 하드웨어 구성은 대규모 BIM 데이터를 처리하고 모델을 학습시키는 최소한의 환경이다. 이 글에서는 사전 학습모델은 허깅페이스(HF)에서 제공하는 Llama-3-8B 모델을 사용한다. 파인튜닝을 위해서는 다음과 같은 환경이 준비되어 있다고 가정한다.  파이토치 설치 : https://pytorch.org/get-started/locally  올라마(Ollama) 설치 : https://ollama.com 허깅페이스에서 제공하는 LLM 모델을 사용할 것이므로, 접속 토큰(access token)을 얻어야 한다. 다음 링크에서 가입하고 토큰을 생성(Create new token)한다. 이 토큰은 다음 소스코드의 해당 부분에 입력해야 동작한다.  허깅페이스 가입 및 토큰 획득 : https://huggingface.co/ settings/tokens   그림 1   명령 터미널에서 다음을 실행해 라이브러리를 설치한다.   pip install langchain pypdf fastembed chardet pandas pip install -U transformers pip install -U datasets pip install -U accelerate pip install -U peft pip install -U trl pip install -U bitsandbytes pip install -U wandb   개발된 BIM LLM 모델 성능이 향상되었는지를 검증할 수 있도록, 기초 모델이 인터넷에서 쉽게 수집 후 학습할 수 있는 BIM 자료를 제외한 데이터를 학습용으로 사용할 필요가 있다. 이런 이유로, 최근 릴리스되어 기존 상용 대규모 언어 모델이 학습하기 어려운 ISO/TS 19166에 대한 기술 논문 내용을 테스트하고, 학습 데이터 소스로 사용한다. 참고로, ISO/TS 19166은 BIM-GIS conceptual mapping 목적을 가진 국제표준으로 기술 사양(TS)을 담고 있다. 학습 데이터로 사용될 파일을 다음 링크에서 PDF 다운로드하여 저장한다.  BIM-GIS 매핑 표준 논문 PDF 파일 : https://www.mdpi. com/2220-9964/7/5/162   BIM 기반 LLM 모델 학습 데이터 준비와 파인튜닝 파라미터 설정 학습 데이터를 자동 생성하기 위해, 미리 다운로드한 PDF 파일을 PyPDF 및 라마 3를 이용해 질문-답변 데이터를 자동 생성한 후 JSON 파일로 저장한다. 이를 통해 수 백개 이상의 QA 데이터셋을 자동 생성할 수 있다. 이 중 품질이 낮은 데이터셋은 수작업으로 삭제, 제거한다.    그림 2. 자동화된 BIM 기반 LLM 학습 데이터 생성 절차     ■ 자세한 기사 내용은 PDF로 제공됩니다.
작성일 : 2025-02-04