Raspberry Pi'de Open WebUI ile Kendi Yapay Zeka Sohbet Botunuzu Barındırın

Bu yazı, PiMyLifeUp - Self-hosting an AI Chatbot with Open WebUI on the Raspberry Pi kaynağından Türkçe'ye çevrilerek hazırlanmıştır.

Bu yazıda, Raspberry Pi üzerinde Open WebUI'yi nasıl kurup kullanacağınızı göstereceğiz.

Raspberry Pi Open WebUI

Open Web UI (eski adıyla Ollama Web UI), büyük dil modelleriyle (LLM) etkileşim kurmak için açık kaynaklı ve kendi kendine barındırılan (self-hosted) bir web arayüzüdür.

Bu projenin fikri, Llama 3 ve Phi3 gibi giderek artan sayıdaki ücretsiz ve açık LLM'lerle etkileşim kurmak için kullanabileceğiniz, kullanımı kolay ve kullanıcı dostu bir web arayüzü oluşturmaktır.

Web tarayıcınız üzerinden hiç ChatGPT kullandıysanız, Open WebUI'nin nasıl çalıştığına çok aşina olacaksınız. Arayüzü çok benzerdir ve beklediğiniz birçok özelliği barındırır.

Bu web arayüzü, kendi çalıştırdığınız LLM'leri kullanırken ChatGPT hissini yeniden yaratmanın en iyi yollarından biridir. Hatta bu aracı inanılmaz derecede güçlü kılan çok sayıda özellik de sunar. Bu açık kaynaklı projenin birçok özelliğini GitHub sayfasını ziyaret ederek keşfedebilirsiniz.

Raspberry Pi'nizde Open WebUI'yi kullanmak için, bağlanabileceği bir şeye ihtiyacınız olacak. Bu yazılım modelleri kendisi çalıştırmaz ve sadece onlarla etkileşim kurmanın akıllı bir yoludur. Neyse ki, Ollama kurulumu ve çalıştırması oldukça kolaydır.

Ollama gibi bir model çalıştırıcısı çalıştırmanız gerektiğinden, iyi hızlar elde etmek için en azından bir Raspberry Pi 5 kullanmanızı şiddetle tavsiye ederiz.

Pi'nizde Open WebUI Kurulumu ve Kullanımı

Aşağıdaki bölümlerde, Raspberry Pi'nizde Open WebUI'yi nasıl kurup kullanacağınızı göstereceğiz.

Raspberry Pi'nizi Hazırlama

1. Raspberry Pi'mizde Open WebUI'yi kurup ayarlamaya başlamadan önce, önce birkaç görevi yerine getirmemiz gerekir.

İlk göreviniz, terminalde aşağıdaki iki komutu kullanarak işletim sisteminin güncel olduğundan emin olmaktır.

sudo apt update
sudo apt upgrade -y

2. Open WebUI'yi çalıştırmak için Docker'ı kullanacağız. Docker, bu web arayüzünü Pi'nizde kurup çalıştırmanın en kolay yoludur.

Henüz Docker kurmadıysanız, rehberimizi takip etmenizi şiddetle tavsiye ederiz.

3. Docker artık kurulu olduğuna göre, bir sonraki adımınız Raspberry Pi'nize Ollama kurmaktır.

Open WebUI mesajları işlemez; yalnızca büyük dil modelleriyle etkileşim kurmak için şık bir arayüz sağlar. Bizim durumumuzda, arayüze gönderdiğimiz her mesajı işlemek için Ollama'yı kullanacağız.

Pi'nizde Docker'a Ollama Erişimi Verme

4. Ollama, varsayılan olarak yalnızca yerel loopback adresini dinleyecek şekilde yapılandırılmıştır. Neyse ki, bunu tüm adresleri dinleyecek şekilde değiştirebiliriz. Bunu yapmazsak, Raspberry Pi'mizdeki Open WebUI, Ollama ile iletişim kuramayacaktır.

Bu süreci başlatmak için, aşağıdaki komutu kullanarak Ollama servisini düzenlememiz gerekiyor.

sudo systemctl edit ollama.service

5. Bu dosyanın içinde, aşağıdaki satırı bulmak isteyeceksiniz. Bu, dosyanın en üstüne yakın bir yerde olmalıdır.

### Anything between here and the comment below will become the new contents of the file

6. Bu satırı bulduktan sonra, aşağıdakini eklemelisiniz. Bu satır, Ollama'ya tüm IP adreslerini dinlemesini söyleyen bir ortam değişkeni ayarlar.

[Service]
Environment="OLLAMA_HOST=0.0.0.0"

7. Yukarıdaki satırları ekledikten sonra, CTRL + X, Y ve ardından ENTER tuşlarına basarak kaydedip çıkın.

8. Ollama servisinde bazı değişiklikler yaptığımızdan, aşağıdaki komutu kullanarak Systemd daemon'unu yeniden başlatmamız gerekecek.

sudo systemctl daemon-reload

9. Daemon yeniden yüklendikten sonra, terminalde aşağıdaki komutu çalıştırarak Ollama'yı yeniden başlatabilirsiniz.

sudo systemctl restart ollama

Raspberry Pi'nizde Open WebUI İçin Klasörler Oluşturma

10. Ollama artık yeniden yapılandırıldığına göre, Raspberry Pi'mize Open WebUI kurabiliriz.

Bu sürecin ilk kısmı, Open WebUI Compose dosyasını saklamak ve verilerini depolamak için bir dizin oluşturmaktır.

Bu dizini, aşağıda gösterildiği gibi mkdir komutunu kullanarak oluşturabilirsiniz.

sudo mkdir -p /opt/stacks/openwebui

11. Yeni dizin oluşturulduktan sonra, cd komutunu kullanarak içine geçin.

cd /opt/stacks/openwebui

Raspberry Pi'de Open WebUI İçin Bir Docker Compose Dosyası Yazma

12. Open WebUI dizinine geçtikten sonra, yazılım için Compose dosyasını yazmaya geçebiliriz.

Bu Compose dosyası, Docker'a Raspberry Pi'nizde Open WebUI'yi nasıl kurup çalıştıracağını söyleyecektir.

sudo nano compose.yaml

13. Bu dosyanın içine aşağıdaki satırları girmek isteyeceksiniz.

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    volumes:
      - ./data:/app/backend/data
    ports:
      - 3000:8080
    extra_hosts:
      - host.docker.internal:host-gateway
    restart: unless-stopped

14. Bitirdikten sonra, CTRL + X, Y ve ardından ENTER tuşlarına basarak kaydedip çıkın.

Open WebUI'yi Başlatma

15. Compose dosyasını yazmayı bitirdikten sonra, aşağıdaki komutu çalıştırarak Raspberry Pi'nizde Open WebUI konteynerini başlatabilirsiniz.

Docker çeşitli katmanları indirip servisi başlattığından bu süreç birkaç dakika sürebilir.

docker compose up -d

Open WebUI Arayüzüne Erişim

16. Open WebUI artık Raspberry Pi'nizde çalışır durumda olduğuna göre, arayüzüne erişmek isteyeceksiniz.

Raspberry Pi'nizin IP adresini bilmiyorsanız, hostname komutunu kullanabilirsiniz.

hostname -I

17. Favori web tarayıcınızda, aşağıdaki URL'ye gidin.

Devam etmek için "<IPADRESI>" kısmını Pi'nizin IP'siyle değiştirdiğinizden emin olun.

http://<IPADRESI>:3000

Open WebUI ile Bir Hesap Oluşturma

18. Open WebUI arayüzüne erişmeden önce, bir hesap oluşturmanız gerekir. Oluşturacağınız ilk hesap, web arayüzü için yönetici olacaktır.

Yeni bir hesap oluşturmaya başlamak için "Sign up" bağlantısına tıklayın.

Kayıt ekranını açma

19. Bir sonraki ekranda, Open WebUI yönetici hesabınız için kullanmak istediğiniz bilgileri doldurun (1.).

Kullanmak istediğiniz e-posta ve şifreyi yazdıktan sonra, "Create Account" düğmesine tıklayın (2.).

Raspberry Pi'de Open WebUI için yeni hesap oluşturma

20. Hesabınızı oluşturduğunuzda, otomatik olarak web arayüzüne giriş yapmış olacaksınız.

Open WebUI'yi ilk kez açtığınız için, sizi bir değişiklik günlüğü (changelog) karşılayacak. Arayüzü görmek için "Okay, Let's Go!" düğmesine tıklayın.

Open WebUI Değişiklik Günlüğü

Raspberry Pi'nizde Open WebUI'nin Çalıştıracağı Modeli Seçme

21. Raspberry Pi'nize Open WebUI kurulu olduğuna göre, muhtemelen onu nasıl kullanacağınızı bilmek isteyeceksiniz.

Öncelikle, ekranın üstündeki seçim kutusuna (1.) tıklayarak Open WebUI için bir model seçmelisiniz.

Ollama rehberimizi takip ettiyseniz, bu listede zaten bazı LLM'ler referans olarak gösterilmiş olmalıdır. Open WebUI'nin mevcut oturum için kullanmasını istediğiniz yapay zeka modelini seçin (2.).

Lütfen unutmayın: Burada modeller eksikse, ya Ollama çalışmıyordur ya da henüz herhangi bir model kurmamışsınızdır. Yeni bir LLM'i nasıl çekeceğinizi görmek için Ollama eğitimimizi ziyaret edebilir veya bunu web arayüzü üzerinden nasıl yapacağınızı görmek için bir sonraki bölüme geçebilirsiniz.

Raspberry Pi'de OpenWebUI'nin kullanacağı modeli seçme

22. Bir dil modeli seçildikten sonra, ekranın altındaki metin kutusuna bir mesaj yazıp ENTER tuşuna basabilirsiniz.

OpenWeb UI bu mesajı çalıştırıcınıza (bu durumda Ollama'ya) gönderecek ve sonucu kullanılabilir hale geldikçe geri döndürecektir.

Seçilen modele mesaj yazma

23. Aşağıda, modele "Avustralya'nın başkenti nedir?" diye nasıl sorduğumuzu ve ardından yapay zeka tarafından üretilen yanıtı görebilirsiniz.

LLM tarafından üretilen yanıt

Open WebUI Üzerinden Modelleri Yönetme

24. OpenWebUI, Raspberry Pi'nizde Ollama tarafından indirilen modelleri kolayca yönetmenizi sağlar.

Web arayüzü üzerinden modelleri yönetmeye başlamak için, sağ üst köşedeki üç nokta (...) simgesine tıklayın (1.).

Açılan kutuda, "Settings" seçeneğine tıklayın (2.).

Ayarlar panelini açma

25. Ayarlar paneli açıkken, "Models" sekmesine geçin (1.).

Bu sekmede, Ollama'nın kullanımınıza sunacağı modelleri yönetebilirsiniz (2.). Bu aracı yeni modeller kurmak için bile kullanabilirsiniz.

Open WebUI Arayüzü Üzerinden LLM Modellerini Yönetme

Raspberry Pi'de Open WebUI'yi Güncelleme

Bu bölüm, Raspberry Pi'nizde Open WebUI'nin en son sürümüne nasıl kolayca güncelleyebileceğinizi gösterecek.

Yazılımınızı çalıştırmak için Docker kullanmanın önemli bir avantajı, güncellemeyi basit bir işlem haline getirmesidir.

1. Terminalde aşağıdaki komutu kullanarak, Open WebUI Compose dosyasını yazdığımız dizine geçebilirsiniz.

Docker'a yazılımın en son sürümünü çekmesini söylemek için bu dizinde olmamız gerekiyor.

cd /opt/stacks/openwebui

2. Doğru yere geldiğinizde, aşağıdaki komut Open WebUI imajının en son sürümünü Pi'nize indirecektir.

Docker, konteynerlerinizi otomatik olarak yeni sürüme taşımayacaktır.

docker compose pull

3. Docker'ın çalışan konteynerimizi Open WebUI'nin yeni sürümüne taşımasını sağlamak için, yalnızca aşağıdaki komutu kullanmanız yeterlidir.

Docker, Open WebUI'nin yeni sürümünü algılayacak, mevcut olanı durduracak ve ona taşıyacaktır.

docker compose up -d

Sonuç

Bu eğitimin bu noktasında, artık Raspberry Pi'nizde Open WebUI çalışıyor olacak.

Bu web arayüzü ChatGPT'ye çok benzer ve büyük dil modellerine erişmenin ve onlarla etkileşim kurmanın harika bir yolunu sunar.

Ayrıca, bu araç tek bir sohbet oturumunda birden fazla model kullanma yeteneği de dahil olmak üzere ek özelliklerle doludur.

Bu yazılımı Pi'nizde çalıştırırken herhangi bir sorunla karşılaşırsanız, lütfen aşağıya yorum bırakın.