본문 바로가기
AI 도구

Open-WebUI: 🔍실시간 웹 검색과 개인 메모리 기능을 갖춘 LLM 실행기

by James AI Explorer 2024. 7. 31.
    728x90

    안녕하세요! 오늘은 최근 엡데이트 된 언어모델 실행을 위한 웹 인터페이스, Open WebUI에 대해 알아보겠습니다. Open WebUI는 풍부한 기능과 사용하기 쉬운 인터페이스를 제공하며, 온라인 오프라인 AI 모델관리, 개인 메모리 관리인터넷 검색 등 다양한 기능을 제공하는 오픈소스 언어 모델(LLM) 실행기입니다. 이 블로그에서는 Open WebUI의 개요와 주요 기능, 설치방법, 그리고 개인 메모리 관리 및 인터넷 검색 설정방법을 살펴보겠습니다. 

    Open-WebUI: 🔍실시간 웹 검색과 개인 메모리 기능을 갖춘 LLM 실행기

    "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

    Open WebUI 개요 및 특징

    Open WebUI는 완전 오프라인으로 작동할 수 있는 셀프 호스팅 웹 UI로, OllamaOpenAI 호환 API를 비롯한 다양한 LLM 실행기를 지원합니다. 이 플랫폼은 주로 언어 모델을 활용한 대화형 애플리케이션을 위한 것으로, 다양한 사용자 맞춤형 기능과 플러그인 지원을 통해 AI 언어 모델 관리, 인터넷 검색, 개인 메모리 기능, 문서 RAG 기능 등 확장성과 유연성을 제공합니다. 

    • Ollama/OpenAI API 통합: Open WebUI는 OpenAI 호환 API와 Ollama 모델을 손쉽게 통합할 수 있습니다. 사용자는 OpenAI API URL을 맞춤화하여 LMStudio, GroqCloud, Mistral, OpenRouter 등 다양한 플랫폼과 연결할 수 있습니다. 이를 통해 다양한 언어 모델을 동시에 활용하고, 각 모델의 강점을 최적화할 수 있습니다

    Open WebUI 모델관리 및 선택 설정화면

    • 모델 빌더: 사용자는 Web UI를 통해 Ollama 모델을 쉽게 생성하고, 커스터마이즈 할 수 있습니다. 커스텀 캐릭터와 에이전트를 만들고, Open WebUI 커뮤니티 통합을 통해 모델을 손쉽게 가져와 추가할 수 있습니다. 

    Open WebUI 사용자 정의 모델 만들기 메뉴

    • 로컬 RAG 통합: Retrieval Augmented Generation (RAG) 기능을 통해 문서 상호작용을 대화에 통합할 수 있습니다. 사용자는 문서를 직접 대화에 로드하거나 문서 라이브러리에 파일을 추가하여, # 명령어를 통해 쉽게 접근할 수 있습니다. 

    OpenWebUI 문서 라이브러리
    Open WebUI 문서와의 대화

    • RAG를 위한 웹 검색: SearXNG, Google PSE, Brave Search, DuckDuckGo 등 다양한 제공자를 통해 웹 검색을 수행하고, 결과를 대화에 직접 삽입할 수 있습니다. 이를 통해 대화의 깊이와 풍부함을 높일 수 있습니다.

    Open WebUI 인터넷 검색 엔진 설정

    • 웹 브라우징 기능: #명령어와 URL을 사용하여 웹 콘텐츠를 대화에 직접 통합할 수 있습니다. 이 기능을 통해 사용자들은 대화 중에 웹 사이트 내용을 쉽게 참고할 수 있습니다. 

    Open WebUI 웹 브라우징 기능

    이밖에도 이미지 생성 통합, 플러그인 및 파이프라인 지원, 네이티브 Python 함수 호출 도구를 통해 Open WebUI의 기능을 확장하고 강화할 수 있으며, 이를 통해 동적이고 시각적인 요소를 추가하거나, 사용자 정의 로직과 복잡한 기능을 구현할 수 있습니다.

    728x90

    Open WebUI 설치

    다음은 Open WebUI의 설치 및 설정방법입니다. 이 블로그의 설치 환경은 Windows 11 Pro(23H2), 파이썬 버전 3.11, 비주얼 스튜디오 코드(이하 VSC) 1.90.2이며, 작업순서는 다음과 같습니다

    1. 가상환경 생성 및 활성화: VSC 터미널에서 conda 명령어로 가상환경을 생성하고 활성화합니다. 

    conda create -n openweb python=3.11
    conda activate openweb

    가상환경 생성 및 활성화

    2. 의존성 설치: 다음은 pip 명령어로 open-webui 패키지를 설치합니다. 

    pip install open-webui

    Open WebUI 패키지 설치

    3. Open WebUI 서비스 실행: 아래 명령어로 서비스를 실행합니다. 

    open-webui serve

    Open WebUI 서비스 실행

    4. Open WebUI 로그인: http://127.0.0.1:8080에서 초기화면이 열리면 이메일과 암호를 입력하고 로그인합니다. 

    Open WebUI 로그인

    언어 모델 설정

    Open WebUI는 Ollama 모델 및 Groq, MistralAIOpenAI 호환 API를 손쉽게 통합할 수 있는 기능을 제공합니다. 이를 통해 사용자는 다양한 언어 모델을 동시에 활용할 수 있으며, 각 모델의 고유한 강점을 최대한 활용할 수 있습니다. 또한 인터페이스를 통해 사용자 정의 모델을 만들고, 커뮤니티에서 제공하는 모델을 가져와 쉽게 통합할 수 있습니다. 각 언어모델 제공자와 API 주소는 우측 상단 프로필 아이콘 클릭후, 관리자패널/설정/연결에서 다음을 참고해서 입력하시면 됩니다. 

    언어모델 제공자 API 주소 API KEY
    OpenAI https://api.openai.com/v1 https://platform.openai.com/api-keys에서 발급
    Groq https://api.groq.com/openai/v1 https://console.groq.com/keys에서 발급
    Mistral AI https://api.mistral.ai/v1 https://console.mistral.ai/api-keys/에서 발급
    LM Studio http://localhost:1234/v1 lm-studio
    Ollama http://localhost:11434 -

    Open WebUI OpenAI 호환 API 모델 설정

    인터넷 검색

    Open WebUI는 강력한 인터넷 검색 기능을 제공합니다. 사용자는 SearXNG, Google PSE, DuckDuckGo, Brave Search 등 다양한 검색 제공자를 통해 실시간 웹 검색을 수행할 수 있으며, 검색 결과를 대화에 직접 삽입하여 더욱 풍부한 상호작용을 할 수 있습니다. 각 검색엔진에 대한 장단점은 아래표와 같습니다. 

    검색 엔진 장점 단점
    SearXNG 오픈 소스 메타 검색 엔진, 다양한 소스에서 검색 결과 제공, 프라이버시 보호 설치 및 설정방법이 다소 복잡
    Google PSE 구글의 강력한 검색 기술 활용, 높은 검색 품질 설정과 관리가 다소 복잡, 구글의 데이터 수집 정책을 따름
    Brave Search 사용자 프라이버시 보호, 광고 없는 검색 결과, 독립적인 인덱스 사용 상대적으로 새로운 검색 엔진이라 일부 검색 결과의 품질이 다른 엔진에 비해 떨어질 수 있음
    DuckDuckGo 강력한 프라이버시 보호 기능, 검색 기록 추적 없음, 깔끔하고 간결한 인터페이스 일부 검색 결과가 다른 대형 검색 엔진보다 덜 정확하거나 포괄적이지 않을 수 있음
    Serper 매우 우수한 검색 품질과 속도, 실시간 최신 정보 제공 상대적으로 적은 사용자층과 덜 알려진 브랜드

     

    먼저 SearXNG 설정방법은 다음과 같습니다. 

    1. SearXNG 도커 컨테이너설치: Docker Desktop이 설치된 상태에서 아래 명령어를 실행해서 SearXNG 도커 컨테이너를 설치합니다. 정상적으로 설치되면  http://localhost:8080/주소에서 아래 화면과 같이 검색 초기화면이 열립니다. 

    docker pull searxng/searxng
    docker run -d --name searxng -p 8080:8080 searxng/searxng

     

    SearXNG 검색엔진 초기화면
    SearXNG 검색 결과

    2. settings.yml 수정: Docker Desktop에서 searxng 이름을 클릭하고 Files탭에서 etc/searxng/settings.yml 파일을 우클릭하고 edit file을 선택한 후, 73번 줄에 "-json"을 추가합니다. 수정이 완료되면 도커 컨테이너를 재시작합니다. 

    Docler Desktop 컨테이너 화면
    settings.yml 수정

    3. Open WebUI 설정: 관리자패널/설정/웹 검색을 클릭하고 Searxng 쿼리 URL에 "http://localhost:8080/search?q=<query>"를 입력합니다. 

    Open WebUI Searxng 쿼리 URL 설정

    4. 웹 검색 활성화: 검색창 왼쪽 +를 누르면 나오는 메뉴에서 웹 검색을 활성화합니다. 

    Open WebUI 웹 검색 활성화

    5. 인터넷 검색결과 확인: 질문을 입력하면 아래와 같이 인터넷 검색결과를 확인할 수 있습니다. 

    Open WebUI 웹 검색결과 확인

     

    다음은 Google 프로그래밍 검색엔진(Programmable Search Engine, PSE) 설정방법입니다. 

    1. 새 프로그래밍 검색엔진 만들기: 아래 링크에 접속해서 새 검색엔진을 생성합니다. 이름을 입력하고, 전체 웹 검색을 선택한 후, 아래 화면과 같이 만들기를 클릭하면 됩니다. 

    https://programmablesearchengine.google.com/controlpanel/create

    새 구글 프로그래밍 검색엔진 만들기

    2. API KEY 만들기: 아래 링크에서 프로그래밍 검색엔진 사용자 API KEY를 생성합니다. 

    https://developers.google.com/custom-search/v1/introduction?hl=ko

    프로그래밍 검색엔진 사용자 키 생성

    3. Google PSE 엔진 ID 확인: 아래 링크에서 공개 URL을 클릭하면 "https://cse.google.com/cse?cx="다음에 나오는 영문숫자 혼합 17자리가 엔진 ID입니다. 

    https://programmablesearchengine.google.com/controlpanel/all

    Google 프로그래밍 검색엔진 API KEY와 엔진 ID 입력
    SearchGPT에 대한 검색결과
    쯔양에 대한 최신기사 검색결과

    참고로, Ollama, LM Studio와 같은 로컬 언어모델들은 인터넷 검색결과를 바탕으로 답변하는 기능이 원활하지 않았으며, 마음대로 지어서 대답하거나, 전혀 관련이 없는 답변을 하므로, 추천하지 않습니다. 

    개인 메모리 관리

    다음은 Open WebUI의 개인 메모리 관리기능에 대해 알아보겠습니다. 개인 메모리 기능은 사용자가 대화 중에 중요하거나 유용한 정보를 쉽게 저장하고 나중에 참고할 수 있도록 합니다. 이 기능은 사용자가 특정 대화 내용을 기억하거나 필요한 정보를 저장하여 나중에 다시 사용할 수 있도록 도와줍니다. 메뉴위치는 설정/개인화/메모리 입니다. 

    개인 메모리 관리 기능
    개인 메모리 편집 기능

    추가적으로 Open WebUI는 다음과 같은 기능을 지원합니다. 

    • 파이프라인 플러그인 프레임워크: 사용자가 Python 라이브러리 및 커스텀 로직을 통합할 수 있는 플러그인 프레임워크로, 기능 호출, 사용자 접근 제한, 사용량 모니터링, 실시간 번역 등 다양한 기능을 추가할 수 있습니다.
    • 음성/비디오 통화: 통합된 핸즈프리 음성 및 비디오 통화 기능을 통해 더 역동적이고 인터랙티브 한 대화를 즐길 수 있습니다.
    • 이미지 생성 통합: AUTOMATIC1111 API, ComfyUI, OpenAI의 DALL-E 등 다양한 옵션을 통해 이미지 생성 기능을 쉽게 통합할 수 있습니다.

     

    맺음말

    Open WebUI는 자가 호스팅 웹 UI 솔루션으로서 뛰어난 확장성과 사용 편의성을 제공합니다. 다양한 언어 모델 통합, 실시간 인터넷 검색, 개인 메모리 등 풍부한 기능을 통해 사용자에게 최상의 대화형 애플리케이션 경험을 제공합니다. 설치 및 설정이 간편하며, 다양한 기기에서 원활하게 작동하므로 누구나 쉽게 사용할 수 있습니다.

     

    여러분도 Open WebUI를 통해 더욱 풍부하고 다양한 대화형 애플리케이션을 경험해 보시길 바라면서 오늘 블로그는 여기서 줄이겠습니다. 저는 그럼 다음 시간에 더 유익한 정보를 가지고 다시 찾아뵙겠습니다. 감사합니다. 

     

    https://fornewchallenge.tistory.com/

     

     

    2024.05.07 - [AI 도구] - Msty와 Open WebUI: 직관적인 UI와 로컬 RAG까지 지원하는 언어 모델 활용 도구

     

    Msty와 Open WebUI: 직관적인 UI와 로컬 RAG까지 지원하는 언어 모델 활용 도구

    안녕하세요! 오늘은 로컬 및 온라인 언어 모델을 간편하게 사용할 수 있는 Msty와  Open WebUI에 대해 알아보겠습니다. Msty는 클릭 한 번으로 인기 있는 대형 언어 모델과 상호 작용할 수 있는 직

    fornewchallenge.tistory.com

     

     

    728x90