<!-- wp:paragraph -->
<p><strong>모델을 위한 친숙한 인터페이스: Ubuntu에 OpenWebUI 설치</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>OpenWebUI는 Ollama로 실행되는 로컬 LLM과 상호작용할 수 있는 웹 기반의 사용자 친화적인 인터페이스를 제공합니다. Docker를 사용하여 설치합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong>사전 준비</strong>: Docker와 Ollama가 설치되어 실행 중이어야 합니다. Ollama 서비스는 기본적으로 호스트의 11434 포트에서 실행됩니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>OpenWebUI Docker 컨테이너 실행</strong>: 터미널에서 다음 Docker 명령어를 실행합니다. 이 명령어는 OpenWebUI 이미지를 다운로드하고, Ollama 서비스와 통신할 수 있도록 설정하여 컨테이너를 실행합니다. <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://127.0.0.1:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>d: 컨테이너를 백그라운드에서 실행합니다 (detached mode).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>p 3000:8080: 호스트의 3000번 포트를 컨테이너의 8080번 포트에 연결합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>e OLLAMA_BASE_URL=http://127.0.0.1:11434: OpenWebUI 컨테이너가 호스트에서 실행 중인 Ollama API에 접속할 주소를 설정합니다. 이는 매우 중요한 설정입니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>v open-webui:/app/backend/data: open-webui라는 Docker 볼륨을 생성하여 컨테이너의 /app/backend/data 디렉터리에 마운트합니다. 이를 통해 OpenWebUI의 설정, 대화 기록 등 데이터를 영구적으로 보존할 수 있습니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>-name open-webui: 컨테이너의 이름을 open-webui로 지정합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>-restart always: 시스템 재부팅 시 또는 컨테이너가 예기치 않게 종료될 경우 자동으로 다시 시작하도록 설정합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="http://ghcr.io/open-webui/open-webui:main:">ghcr.io/open-webui/open-webui:main:</a> 사용할 OpenWebUI의 공식 Docker 이미지입니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Ollama가 호스트에 직접 설치된 경우, OpenWebUI 컨테이너가 호스트의 네트워크 서비스에 접근할 수 있도록 OLLAMA_BASE_URL 환경 변수를 통해 Ollama 서버 주소를 명시적으로 지정하는 것이 중요합니다. 이 설정은 컨테이너화된 애플리케이션(OpenWebUI)과 호스트에서 실행되는 서비스(Ollama) 간의 통신을 원활하게 합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong>OpenWebUI 접속</strong>: 웹 브라우저를 열고 주소창에 http://localhost:3000을 입력하여 OpenWebUI에 접속합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>초기 설정</strong>: 처음 접속 시 관리자 계정을 생성하라는 메시지가 나타날 수 있습니다. 안내에 따라 계정을 생성합니다. 이후 OpenWebUI 설정에서 Ollama에 연결되었는지 확인하고, 필요하다면 모델을 OpenWebUI 인터페이스 내에서 직접 다운로드할 수도 있습니다.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><strong>Open WebUI의 RAG (검색 증강 생성) 기능</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Open WebUI는 RAG 기술을 활용하여 언어 모델의 응답 정확도와 관련성을 높이는 사용자 친화적인 AI 플랫폼입니다. RAG는 대규모 언어 모델(LLM)이 자체 학습 데이터 외에 외부 지식 소스에서 정보를 검색하고 활용하여 답변을 생성하도록 돕는 기술입니다.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>RAG의 작동 원리:</strong></p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong>검색 (Retrieval):</strong> 사용자의 질문이나 프롬프트와 관련된 정보를 외부 데이터베이스(문서, 웹 콘텐츠, 멀티미디어 등)에서 검색합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>증강 (Augmentation):</strong> 검색된 관련 정보를 원래 프롬프트에 추가하여 언어 모델에 제공합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>생성 (Generation):</strong> 증강된 프롬프트를 바탕으로 LLM이 보다 정확하고 맥락에 맞는 답변을 생성합니다.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><strong>Open WebUI의 RAG 주요 특징 및 이점:</strong></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>다양한 문서 형식 지원:</strong> PDF, DOCX, Markdown, TXT 등 여러 문서 형식의 업로드를 지원하며, 자동 문서 분할 및 벡터화를 통해 지식 기반을 구축합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>로컬 및 원격 RAG 통합:</strong> 로컬 문서뿐만 아니라 웹 콘텐츠, YouTube 동영상과 같은 멀티미디어 소스에서도 정보를 검색하고 통합할 수 있습니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>실시간 정보 반영:</strong> 모델이 학습된 이후에 발생한 새로운 정보나 특정 도메인의 전문 지식을 실시간으로 활용하여 최신성 있는 답변을 제공합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>향상된 정확성 및 관련성:</strong> 외부 정보를 통합함으로써 AI 응답의 정확성과 사용자 쿼리에 대한 맥락적 관련성을 높입니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>유연한 모델 및 임베딩 설정:</strong> Ollama 모델 및 OpenAI 호환 API와 같은 다양한 LLM을 지원하며, 임베딩 모델(검색 품질에 영향) 설정 및 변경이 가능합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>전체 컨텍스트 모드 및 하이브리드 검색:</strong> 제한된 토큰 길이를 가진 모델에서도 검색된 데이터를 효과적으로 활용하기 위해 “전체 컨텍스트 모드”를 지원하며, 하이브리드 검색 기능을 통해 검색 결과를 더욱 향상시킬 수 있습니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>사용자 정의 가능성:</strong> RAG 템플릿 사용자 지정, 임베딩 모델 선택, 벡터 데이터베이스 변경 (ChromaDB, Qdrant 등) 등 다양한 설정을 통해 사용자의 특정 요구에 맞춰 최적화할 수 있습니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>문제 해결 용이성:</strong> RAG 관련 문제 발생 시, 관리자 설정에서 “임베딩 및 검색 우회” 또는 “전체 컨텍스트 모드” 활성화, 임베딩 모델 재설정 등을 통해 해결할 수 있습니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Open WebUI는 이러한 RAG 기능을 통해 사용자가 자신의 문서와 상호작용하고, 대화형 AI 시스템을 구축하여 개인 및 비즈니스 요구에 맞는 지식 기반 질의응답 서비스를 구현할 수 있도록 돕습니다.</p>
<!-- /wp:paragraph -->