개요
바른 배포판은
바른은 자신의 PC나 서버 컴퓨터에 설치하여 사용할 수도 있습니다.
바른은 다양한 사용환경에 맞춰서 운영이 가능합니다.
현재는 리눅스, 맥OS, 윈도우에서 실행이 가능합니다.
지원하는 OS와 환경은 아래와 같습니다.
- 리눅스 인텔계열 64비트
- 리눅스 ARM 64비트
- 맥OS 인텔계열 64비트
- 맥OS 애플칩 64비트
- 윈도우 인텔계열 64비트
바른은 라이브러리가 아닙니다.
바른은 서버로 실행되고 API로 결과를 가져갈 수 있도록 설계되었습니다. 왜 서버로 실행되는지는 읽어볼만한 주제입니다.
바른을 실행하는 서버는 복잡하지 않고 매우 단순합니다.
- 다른 환경에 의존하지도 않고 오로지 ONNX 런타임 라이브러리 환경만을 사용합니다.
- 다른 라이브러리에 의존하지 않고 독자적으로 실행됩니다.
이 모든 것이 가능한 것은 바른은 Go언어를 사용해서 만들었기 때문이고, 오로지 ONNX 런타임 라이브러리만을 사용하기 때문입니다.
Go언어
구글에서 만든 Go언어는 거의 모든 실행환경을 지원하고 있습니다. 또한 다양한 라이브러리 의존성이 없이 개발이 가능하고, 각 기능을 정적으로 바인딩하여 하나의 실행파일에 묶어서 만들어 냅니다.
Onnx
바른은 ONNX(Open Neural Network Exchange) 런타임 라이브러리에 의존합니다.
ONNX는 마이크로소프트에서 만든 딥러닝 모델 추론 라이브러리입니다.
이 라이브러리는 배포판에 함께 배포됩니다.
참고로, 링크 시점에 바인딩되는 방식이 아니고 동적으로 로딩하기 때문에
바른과 별도로 설치도 가능합니다.
형태소 분석기만 설치할 수 있어요.
바른은 형태소 분석기와 맞춤법 검사기로 크게 나뉩니다. 맞춤법 검사 서비스는 설치본을 지원하지 않습니다.
대신에 https://bareun.ai/를 통해서 무료 또는 유료 서비스로 접근할 수 있습니다.
상용 목적으로 별도의 설치본을 원하는 경우 설치가 가능합니다.
네 가지 구성 요소
바른을 설치하면 크게 4가지 컴포넌트가 함께 설치됩니다.
바른실행 환경:바른실행파일과 ONNX 런타임 라이브러리가 있습니다.바른딥러닝 모델: 텐서플로우와 파이토치로 학습시킨 트랜스포머 기반 딥러닝 모델에바른의 형태 분석 기능이 녹아 있습니다.- 매뉴얼 및 관리 기능:
바른은 실행에 필요한 도움말을 포함하고 있고, 실행하기 위한 간단한 설정을 할 수 있도록 하고 있습니다. 바른을 다양하게 확장하기 위한 공유 데이터:바른은 프로토콜 버퍼 기술, 플랫버퍼(flat buffer) 기술, connectRPC 기술을 활용하고 있습니다. 관련 정보들이 포함되어 있습니다.
여기에 도커 형태로 배포되는 바이너리에는 추가적인 기능을 제공합니다.
- 웹을 통한 형태 분석 기능: 웹을 통해서 형태소 분석을 해보고 테스트할 수 있습니다.
- 대용량 처리를 위한 분산 환경: 대용량 처리를 위한 분산 환경을 제공합니다.
바른을 설치하고 나면, 아래 그림에서 보는 것처럼 다양한 디렉터리들로 구성되어 있습니다.

설치 방법
바른은 크게 3가지 설치 방법을 제공합니다.
- 도커로 설치하는 방법
- 패키지를 통한 자동 설치 방법
- 우분투, 레드햇, 센트OS, 민트 등 대부분의 리눅스 환경
- 윈도우 환경
- 맥OS 환경
- 압축 파일을 통한 수동 설치 방법
- 리눅스 환경
- 윈도우 환경
- 맥OS 환경
도커로 설치하는 방법
위와 같이 도커 이미지를 가져오고, 아래 명령어로 실행하면 됩니다.
mkdir -p ~/bareun/var
docker run \
-d \
--restart unless-stopped \
--name bareun \
-p 5656:5656 \
-p 9902:9902 \
-v ~/bareun/var:/bareun/var \
bareunai/bareun:latest
패키지로 설치하는 방법
패키지로 설치하게 되면, 설치가 완료되고 바른이 자동으로 실행됩니다.
다시 부팅하거나 할 필요가 없습니다.
리눅스 설치
- 먼저 설치파일을 다운로드 받습니다. 설치파일은 확장자가 .deb 입니다.
- 아래 명령을 수행합니다.
지원하지 않은 리눅스
바른은 레드햇 7.9, 레드햇 8, 레드햇 9 버전의 x86_64 머신에서 정상 동작하는 것을 확인했습니다.
예전 버전 CentOS 환경에서는 일부 동작하지 않은 경우도 있었습니다.
이 계열의 OS에서 사용하시려면, 별도로 문의해 주세요. (support@bareun.ai)
통상적으로 동작하지 않은 예전 버전의 리눅스에서 사용하시려면, 도커 환경에서 사용하시면 됩니다.
윈도우
- 윈도우에서는 설치파일을 다운로드 받아서 설치를 진행하면 됩니다.
- 자세한 설치에 대한 설명은 윈도우 설치 상세에서 확인하세요.
맥OS
- 맥OS에서는 설치파일을 다운로드 받아서 설치를 진행하면 됩니다.
- 자세한 설치에 대한 설명은 맥OS 설치 상세에서 확인하세요.
수동 설치 방법
- 윈도우용 설치파일은 확장자가
.zip입니다. - 리눅스와 맥용 설치파일은 확장자가
.tag.gz입니다.
tag.gz 설치하기
압축을 통상적으로 리눅스나 맥OS의 경우에는 사용자의 홈 디렉터리에 풀기를 권장합니다.
이렇게 하면 bareun-v3.0.0 이라는 폴더가 만들어집니다.
HOME 디렉터리에 .bashrc 파일에 다음 내용을 추가합니다.
실행하려면, 다음과 같이 명령어를 줍니다.
zip 설치하기
- 윈도우에서 압축 파일을 원하는 위치에 풉니다.
- 시스템의 환경변수를 설정합니다.
BAREUN_ROOT라고 지정하고 설치된 폴더를 지정합니다.bin폴더까지를 지정하지 않는 것이 중요합니다. - 윈도우 + R 키를 눌러서
cmd.exe를 실행합니다. - 이때, 설치된 위치로 이동하여
bin\bareun.exe를 실행합니다.
정리
바른은 설치가 간단합니다. 다운로드하여 압축을 풀기만 하면 됩니다.- 수동 설치의 경우,
BAREUN_ROOT로 설치된 위치를 지정해 주어야 합니다. 바른은 서버로 동작하며, TCP 포트를 하나 사용합니다.- 5656: 모든 지원 가능한 서비스를 제공합니다.
- 형태소 분석, 단어 분리, 사용자 사전 서비스, 맞춤법 검사 서비스를 실행합니다.
- 일반적인 관리 기능을 수행합니다.
- 도움말을 보여 줍니다.
라이브러리 경로
리눅스 또는 맥OS에서 손쉬운 사용
바른은 딥러닝 모델을 추론할 때 사용하는 ONNX 런타임 라이브러리를 포함하고 있습니다.
이 파일들은 $BAREUN_ROOT/lib 디렉터리에 있습니다.
이 파일들의 경로를 지정해 주어야만 정상적으로 동작합니다.
제일 쉬운 방법은 환경변수를 사용하는 것입니다.
위 줄을 .bashrc에 넣어 둡니다.
시스템 전체에 알려 주기
다른 방법으로 시스템 전체에 위 경로를 알려 주는 방법이 있습니다.
/etc/ld.so.conf.d 폴더에 새로운 파일을 하나 만들고 시스템이 지정한 경로를 넣어 두는 방법입니다.
이 폴더에 bareun-tf.conf 파일을 만들고, 여기에 다음 내용을 넣어 두면 됩니다.
구글에서 설치하기
마지막으로 바른과 함께 제공된 라이브러리를 무시하고 구글에서 직접 다운로드해서 설치하는 방법도 있습니다.
아래의 링크를 따라서 각 환경에 맞게 직접 설치해도 됩니다. 여기에서 제시된 방법은 /usr/local/lib에 설치하는 것이기 때문에 모든 시스템에서 잘 동작합니다.
자세한 설치방법은 https://www.tensorflow.org/install/lang_c?hl=ko를 참고하세요.
현재 버전은 ONNX 런타임 라이브러리 1.23.0을 사용하고 있습니다.
윈도우의 경우
윈도우의 경우에는 onnxruntime.dll 입니다.
윈도우 환경에서 onnxruntime.dll은 lib 디렉터리에 있습니다.
서비스 포트
바른은 서버로 동작하기 때문에 늘 TCP/IP 네트워크 환경에서 무리 없이 동작합니다.
인터넷에 연결되어 있지 않더라도 내부 인터넷망 연결되어 있어야만 다양한 서비스를 수행할 수 있습니다.
기본 서비스 포트는 5656입니다. 설정을 통해서 변경할 수 있습니다.
바른 서비스-
connectRPC 포트입니다. 이 포트를 통해서는 언어 분석 서비스와 사용자 사전 서비스가 이뤄집니다. 바른 맞춤법 검사가 이뤄집니다. - 언어 분석 서비스는 크게 형태소 분석, 단어 분리 서비스입니다. - 사용자 사전 서비스는 사용자 사전 목록 조회, 사용자 사전 내용 가져오기, 사용자 사전 갱신, 사용자 사전 삭제 기능을 수행합니다. - 바른 맞춤법 검사 서비스가 교정을 수행합니다.
이 포트에 접근하기 위해서 HTTP/1.1, HTTP/2 등을 모두 사용할 수 있습니다.
관리 기능- HTTP/1.1을 사용합니다.
바른은 웹 서버를 내장하고 있습니다. 우선 기본적인 REST API 서비스를 제공하고 있습니다. REST API에 대한 자세한 사항은 여기를 참고해 주세요. 또한바른은 도움말을 기본으로 보여 주고 있습니다. 동시에 사용자 관리 기능을 제공합니다. - 설치 정보 조회 - API키 등록 및 해지 - 사용 중인 사용자 조회
도움이 되었나요?