본문 바로가기
0️⃣1️⃣Open WebUI

6. Open-WebUI: 커스텀 모델 만들기

by Majestyblue 2025. 3. 12.

채팅창 우측 상단 → 제어를 누르면 채팅 제어 항목이 나타난다.

 

이 항목에서 다양한 매개변수를 제어함으로써 나만의 챗봇을 만들 수 있다. 예를 들어 시스템 프롬프트를 조절하여 출력을 제어할 수 있다.

유치원생처럼 대답하기

 

교수님처럼 대답하기

 

채팅창에서 직접 제어하는 것 보다, 모델 자체를 좀 더 구조화하여 나만의 커스텀 모델을 만들 수 있다.

 

1. 지식 기반(Knowledge)

워크스페이스 → 지식 기반(Knowledge)에 들어가서 지식을 만들 수 있다. +를 클릭하여 만들어 보자.

 

본인은 간단하게 당뇨병에 관련한 pdf 자료를 업로드 하였다.

 

지식 기반을 생성하고 업로드를 클릭하여 파일 또는 디렉토리를 통째로 업로드할 수 있다.

아래와 같이 pdf 파일이 잘 업로드 된 것을 알 수 있다.

 

exaone3.5 7.8B 모델에게 물어보자. #을 누르면 지식 기반을 임포트할 수 있다. COLLECTION 당뇨병을 선택하고 질문을 해 보자.

 

 

 

채팅 하단에 pdf를 클릭하면 어떤 자료를 참고하였는지 확인해 볼 수 있다.

 

 

 

2. 프롬프트(prompt)

반복적인 내용의 프롬프트가 필요한 경우, 워크스페이스에서 프롬프트를 정의하고 변환 및 일반화하여 사용할 수 있다.

워크스페이스 → 프롬프트로 들어가자. OpenWebUI 사이트에서 프롬프트를 가지고 올 수 있는데 직접 만들어 보자.

+를 눌러본다.

 

특정 질환에 대해 알려주는 프롬프트를 가볍게 만들었다. {{변수}}부분은 채팅창에서 조절할 수 있다. 저장하기를 누르고 새 채팅을 불러오자.

 

새 채팅을 불러오고 /를 입력하면 아래와 같이 프롬프트를 임포트 할 수 있다.

이렇게 하면 중괄호를 쳤던 곳에 바로 지워질 수 있게 되는데, 이를 지우고 원하는 질병을 입력하면 된다.

 

출력 결과이다. 길어서 잘렸지만 상당히 괜찮다.

 

 

3. 도구(Tools)

도구를 쉽게 설명하자면, 인터넷 브라우저에서 사용할 수 있는 '확장 프로그램'으로 비유할 수 있다. 사용에 조금 더 편리함을 준다. 많은 사람들이 LLM을 활용한 도구를 만들어 배포하였다. 이번 시간에는 웹 검색을 구현해 보자.

 

웹 검색을 구현하기 전에, 관리자 패널 → 설정 웹 검색을 클릭하자

이번엔 구글에서 제공하는 pse(programmble search engine)을 사용해 보자. 잘 모르지만 나만의 검색 객체를 만들 수 있다고 한다. 조건부 무료이긴 한데, 괜찮은 것 같다.

 

먼저 아래 사이트를 들어가서 'start'를 누르자.

Google의 프로그래밍 가능한 검색 엔진

 

Programmable Search Engine by Google

Help people find what they need on your website. Add a customizable search box to your web pages and show fast, relevant results powered by Google.

programmablesearchengine.google.com

 

Add를 눌러 새 검색 엔진을 만들자.

 

아래와 같이 이름을 적당히 짓고 전체 웹 검색(Search the entire web)을 하고 Create를 누르자.

 

 

아래와 같이 새로운 검색 엔진을 만들었다고 하는데 Customize를 누르자.

 

그러면 아래와 같이 Search engine ID가 있는데 이를 복사한 후, Open webUI에 붙여넣기 한다.

 

 

 

구글 페이지 제일 하단으로 들어가면 Programmatic Access 부분에 Custom Search JSON API를 생성할 수 있다고 되어 있다. 하루에 10,000개의 쿼리를 무료로 해준다는데 개인이 사용할 것이면 하루에 부담없이 사용할 수 있을 것이다. Get started를 누르자.

 

그러면 페이지가 바뀌면서 키 가져오기를 할 수 있는데 '키 가져오기'를 누른 후, Open-webui에 복사, 붙여넣기 한다.

 

 

 

자, 이제 준비는 끝났다. 다시 채팅방으로 들어가면 웹 검색이 활성화 되는데 활성화를 클릭하고 질문을 던져보자.

 

그러면 자기가 웹에서 검색한 내용의 링크와 정리한 내용을 알려준다!

 

여기서 끝이 아니다! 조금 더 잘 사용해 보기 위해 Tools를 이용할 것이다. 기본 검색 성능이 그리 좋지 않아 검색에 도움을 주는 일종의 확장 프로그램을 설치할 것이다. 워크스페이스 → 도구에 들어가서 도구 검색을 클릭하자. 

 

홈페이지에서 아래와 같이 Tools를 선택하고 Web Search를 입력 후 검색하자. 그러면 아래와 같이 Enhanced Web Scrape(향상된 웹 스크래핑) 도구가 나온다. 클릭하고 Get을 눌러 Open-webUI로 가져오자.

 

 

그러면 아래와 같이 도구에 뜨는데, 저장을 누르면 된다.

 

경고 문구가 뜬다. 불분명한 출처인 코드만 조심하면서 확인을 누른다.

 

새로운 채팅방을 만들어서 들어가면 아래와 같이 웹 검색과 +를 누르면 우리가 저장하였던 도구를 활성화 할 수 있다. 이 상태로 같은 질문을 새롭게 던져보겠다.

 

뭔가 조금 더 정돈되고 전문적인 느낌이다. 당뇨 초기 증상 중 '3다' 라고 하여 다뇨, 다식, 다갈 이라고 하여 3가지가 대표적인데 바로 나온다. 

 

사실 이게 모델의 성능에도 좌우되어 좋은 모델일 수록 더 좋게 검색한다. 아래와 같이 '대전광역시의 오늘 날씨를 알려줘' 라고 했을 때 EXAONE 3.5 7.8B 모델과 gemini 2.0 pro 모델의 대답이 확실히 다른 것을 확인할 수 있다.

 

 

 

링크를 클릭하여 들어가 보니 그새 바뀌었는지 모르겠지만 온도는 거의 비슷하며, 풍속은 잘 맞추었다.