로컬 AI 'FMATTN'을 직접 구축하기 — 기술 선정 및 개발 기록
요약
로컬 환경에서 Qwen3-8B 같은 AI 모델을 구동하고, Python 애플리케이션과 연동하여 시스템 이해 및 개발 기능을 구현하는 과정을 다루고 있습니다. 추론 엔진으로 llama.cpp를 사용하며, Python은 사용자 입력 처리, 대화 기록 관리 등 애플리케이션 로직에 집중할 계획입니다.
핵심 포인트
- 로컬 AI 구축을 위해 Qwen3-8B (GGUF) 모델과 llama.cpp를 활용합니다.
- Python은 UI, 데이터 관리 등 애플리케이션 레이어 처리를 담당하여 모듈성을 높일 것입니다.
- 대화 기록 관리는 단순 저장을 넘어, 불러와 프롬프트에 포함시키는 로직 구현이 핵심입니다.
저만의 로컬 AI인 'FMATTN'을 만들기 위해, 현재는 모델 선정과 실행 환경에 대해 조사하고 있습니다.
이번에 목표하는 것은 기존의 AI 모델을 PC에서 구동할 뿐만 아니라, Python을 이용한 애플리케이션 제어 및 대화 기록 관리 등도 결합하여, 스스로 시스템을 이해하며 개발하는 것입니다.
이 글에서는 현재 검토 중인 기술과 각각의 역할을 정리합니다. 구현된 부분과 아직 검증되지 않은 부분을 나누어 기재하겠습니다.
모델 후보로는 Qwen3-8B의 GGUF 버전을 조사하고 있습니다. 구체적으로는 Qwen3-8B-Q5_K_M.gguf을 고려하고 있습니다.
GGUF는 대응하는 추론 엔진에서 사용되는 모델 파일 형식입니다. 또한, Q5_K_M은 양자화 방식을 나타내는 명칭으로, 모델의 가중치를 표현할 때의 데이터량 등과 관련이 있습니다. 실제 메모리 사용량이나 생성 속도는 실행 환경이나 설정에 따라 달라지므로, 동작 확인 후에 측정할 예정입니다.
추론 엔진으로는 llama.cpp를 후보로 생각하고 있습니다. 모델 파일 준비와 그 모델을 불러와 추론을 실행하는 것은 별개이므로, 우선 실행 환경을 갖출 필요가 있습니다.
Python은 모델의 가중치 자체를 만드는 용도가 아니라, AI 애플리케이션 측면의 처리를 담당하도록 할 예정입니다.
구체적으로는 사용자 입력 처리, 추론 엔진과의 연동, 생성 결과 표시, 대화 기록 저장 등을 구현하는 것을 생각하고 있습니다.
모델의 추론 처리와 애플리케이션의 처리를 분리함으로써, UI나 데이터 관리 기능을 독립적으로 변경하기 쉽게 하는 것이 목표입니다.
대화 기록이나 설정 정보 저장 방법으로는 JSON 형식을 검토하고 있습니다.
다만, 대화를 파일에 저장하는 것만으로는 AI가 자동으로 과거 대화를 기억하여 사용할 수 없습니다. 저장된 정보를 불러와 필요에 따라 모델의 입력에 포함시키는 처리가 필요합니다.
이 부분은 데이터 구조나 대화 기록이 늘어났을 경우의 처리까지 포함하여, 앞으로 설계해 나갈 예정입니다.
우선 모델 로드와 텍스트 생성을 확인한 후, Python과의 연동, 채팅 UI, 대화 기록 저장 순서로 진행할 계획입니다.
현재는 이 모든 동작을 확인할 수 있는 상태는 아닙니다. 실제로 시도한 명령어와 실행 결과를 기록하면서 단계적으로 개발을 진행해 나갈 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기