Kendi Sunucunuza Yerleştirebileceğiniz Yapay Zeka Sohbet Botu¶
Bu makalede
- Temel Özellikler
- Çalıştırma Özellikleri
- Dağıtılmış AI Chatbotunuzla Başlayın
- OpenWebUI Başlangıç Ekranı
- AçıkWebUI Çalışma Alanınızı Konfigüre Edin
- Model Eklenmesi ve Çıkartılması
- Bilgi Tabanına Belgeler Eklemek (RAG)
- OpenWebUI ile RAG Çalışırken İpuçları
- Chatbot Güncellemesi
- Pratik Makaleler ve İpuçları
- Ollama sunucusu API aracılığıyla sipariş verme
Bilgi
Kendi sunucunuza yerleştirdiğiniz yapay zeka sohbet botu, birçok açık kaynaklı bileşenin bir araya gelmesiyle oluşan yerel bir çözümdür. Bu sistemin kalbi Ollama'dır; bu, yerel hesaplama kaynaklarına büyük ölçekli dil modelleri (LLM) başlatmak ve yönetmek için tasarlanmış bir mimari çerçevedir. Belirlenen LLM'lerin indirilip dağıtılmasını sağlar. Görevlendirilen modele sorunsuz etkileşim için Open Web UI, grafik bir arayüz kullanır; bu web uygulaması kullanıcıların metinsel sorular göndermesini ve dil modellerinin ürettiği yanıtları almasını sağlar. Bu bileşenlerin entegrasyonu, açık kaynak kod tabanlı gelişmiş dil modelleri yerleştirmek için tamamen otonom ve yerel bir çözüm oluştururken veri bütünlüğünü ve sistem performansını tam kontrol altında tutmanızı sağlar.
Temel Özellikler¶
- Web Arayüzü: Open Web UI, Ollama deposundaki yerel AI dil modellerini merkezi bir şekilde kontrol etme ve etkileşim yeteneklerini genişletme konusunda kullanıcı dostu bir web arayüzü sunar. Bu, farklı seviyelerde beceriye sahip kullanıcılar için modeli kullanmayı önemli ölçüde kolaylaştırır.
- Birçok Dil Modeline Entegrasyon: Ollama, size birçok ücretsiz dil modelinin erişimini sağlayarak, elinizdeki doğal dil işleme (NLP) yeteneklerini artırır. Ayrıca özelleştirilmiş modellerinizi de entegre edebilirsiniz.
- Görevler: Kullanıcılar sohbetlerde bulunabilir, sorulara cevap alabilir, veri setlerini analiz edebilir, çeviri yapabilir ve LLMs'nin yardımıyla kendi chatbotlarını veya AI destekli uygulamalarını geliştirebilir.
- Açık Kaynak Kod: Ollama açık kaynaklı bir projedir, bu da kullanıcıların platformu özel ihtiyaçlarına göre özelleştirmelerine ve değiştirmelerine olanak tanır.
- Web Kazıma ve İç Doküman Arama (RAG): OpenWebUI aracılığıyla, metin dosyaları, PDF'ler, PowerPoint sunumları, web siteleri ve YouTube videoları gibi çeşitli belge türlerinde arama yapabilirsiniz.
Not
Ollama'nın temel ayarları ve Open WebUI belgeleri hakkında daha fazla bilgi için Ollama geliştirici dokümantasyonu ve Open WebUI dokümantasyonu başvurun.
Çalıştırma Özellikleri¶
ID | Uyumlu OS | VM | BM | VGPU | GPU | Min CPU (Çekirdekler) | Min RAM (GB) | Min HDD/SSD (GB) | Aktif |
---|---|---|---|---|---|---|---|---|---|
117 | Ubuntu 22.04 | - | - | + | + | 4 | 16 | - | Evet |
- OS ve sunucunun birlikte kurulum süresi 15 ila 30 dakika arasında değişir.
- Ollama Sunucusu, LLM'yi bellekte indiriyor ve başlatıyor, böylece dağıtım süreçleri hızlandırılıyor.
- Open WebUI, Ollama Sunucusuyla bağlantı kuran bir web uygulaması olarak çalışır.
- Kullanıcılar, Ollama Server ile Open WebUI'nin web arayüzünden LLaMA 3 ile etkileşime geçerek sorular gönderip yanıtlar alır.
- Tüm hesaplamalar ve veri işlemeleri sunucuda yerel olarak yapılır, bu da gizlilik ve bilgi akışı kontrolü sağlar. Sistem yöneticileri, OpenWebUI tarafından sağlanan özellikler aracılığıyla sistemi özelleştirmek için LLM'yi kişiselleştirme seçeneğine sahiptir.
- Sistem gereksinimleri, optimal performans için en az 16 GB RAM gerektirir.
Kurulum sürecini tamamladıktan sonra kullanıcılar sunucularına şu URL aracılığıyla erişmek zorundadır: https:ollama<Server_ID_from_Invapi>.hostkey.in
.
Dağıtılmış AI Chatbotunuzla Başlayın¶
Sipariş ve ödeme işleminiz tamamlandıktan sonra, sunucunun çalışmaya hazır olduğunun teyit edildiği e-posta adresinize bir bildirim gönderilecektir. Bu iletişimde, bağlantı amaçları için VPS IP adresi ve giriş bilgiler bulunur. Şirketimizin ekip yönetimi ekibi sunucular ve API'ler için kontrol panelimizi kullanır - özellikle de Invapi '.
webpanel etiket bağlantısına tıkladığınızda bir giriş penceresi belirir.
Open WebUI web arayüzünün ve yönetim paneline erişmek için giriş bilgileriniz aşağıdadır:
- Yönetim paneline ve Open WebUI'nin web arayüzüne erişim URL: webpanel etiketi aracılığıyla. Hangi adres olduğunu Invapi'den aldığınız sunucu ID numarası ile
https://ollama<Server_ID_from_Invapi>.hostkey.in
formatında tespit edin, ve teslim edilen e-postada belirtildiği gibi.
Bu bağlantıya tıkladıktan sonra Open WebUI içinde bir kimlik (kullanıcı adı) ve şifre oluşturmanız gerekecektir.
Dikkat
İlk kullanıcı kaydı sırasında, sistem otomatik olarak onlara yönetici rolü verir. Güvenlik ve kayıt işleminin kontrolünü sağlamak için, tüm sonraki kayıt başvuruları, bir hesabı kullanan yönetici tarafından onaylanması gereken adımları gerektirir.
OpenWebUI Başlangıç Ekranı¶
Başlangıç ekranı, sistemin yeteneklerini göstermek için birkaç örnek giriş (soru) metni ile birlikte bir sohbet arayüzü sunar. Chatbot ile etkileşime geçmek için kullanıcıların mevcut seçeneklerden tercih ettikleri dil modelini seçmeleri gerekir. Bu durumda LLaMA 3, çeşitli sorulara yanıt üretme konusunda geniş bilgi ve yeteneklere sahip olduğu için önerilir.
Bir modeli seçtikten sonra, kullanıcılar girdi alanına ilk sorularını yazabilir ve sistem, girilen metnin analizine göre bir yanıt üretir. Başlangıç ekranında sunulan örnekler, chatbot'un ele alabileceği konuların çeşitliliğini göstererek kullanıcıların yetenekleriyle tanışmalarını sağlar.
AçıkWebUI Çalışma Alanınızı Konfigüre Edin¶
Soğutucu sohbet deneyiminizi daha da kişiselleştirmek için Workspace bölümüne gidin. Burada, çeşitli özelleştirme seçeneklerine erişebilirsiniz:
- Models - Bu bölüm size özel ihtiyaçlarınız için mevcut modellerin ince ayarını yapmanızı sağlar. Sistem önerileri, parametreler, belgeler veya bilgi tabanları bağlamak, araçlar, filtreler veya eylemler tanımlamak gibi seçenekleri sunar.
- Knowledge - Bu bölüm, belgelerinize dayalı bilgi tabanı (RAG) konfigürasyonunu yapılandırır.
- Prompts - Sohbet robotu ile etkileşim için daha etkili bir şekilde çalışmak üzere kendi önerilerinizi (giriş talepleri) bu bölümde oluşturabilir, düzenleyebilir ve yönetebilirsiniz.
- Tools - LLM'nin bir talebi sırasında sunulması gereken özelleştirilmiş Python scriptlerini bağlayın. Araçlar, LLM'nin eylemler gerçekleştirmesini ve ek bağlam elde etmesini sağlar. Hazırlanmış topluluk araçları web sitesinde görüntülenebilir.
- Functions - Buraya modüler işlemler bağlayın. Fonksiyonlar, kullanıcıların AI'nin yeteneklerini genişletmek için belirli mantık veya eylemleri doğrudan iş akışlarına yerleştirerek kullanmalarını sağlar. Araçlardan farklı olarak fonksiyonlar OpenWebUI ortamında çalışır ve veri işleme, görselleştirme ve etkileşimli iletişim gibi görevleri gerçekleştirir. Hazırlanmış fonksiyon örnekleri web sitesinde görüntülenebilir.
Model Eklenmesi ve Çıkartılması¶
Ollama, varsayılan olanın ötesinde geniş bir yelpazede dil modellerini yükleyip kullanma imkanı sunar. Yeni modeller yüklemeden önce sunucunuzun yapılandırmasının seçilen modelin bellekteki kullanımına ve hesaplama kaynaklarına ilişkin gereksinimlerini karşıladığından emin olun.
OpenWebUI Arayüzü aracılığıyla Model Yükleme¶
OpenWebUI arayüzü aracılığıyla modeller yüklemek için şu adımları izleyin:
-
Ollama kütüphanesi içindeki istediğiniz modeli seçin ve adına tıklayarak sayfalar arasında gezinin. Model türünü ve boyutunu (gerekirse) seçin. En uygun "boyut" varsayılan olarak sunulacaktır. Ardından,
ollama run <model_name>
gibi komutu sol taraftaki iki kare simgesiyle gösteren ikona tıklayın ve kurulum dizesini kopyalayın. -
OpenWebUI sohbet robotu penceresinin üst sol köşesindeki model adına tıklayın ve kopyalanan komutu Search a model alanına yapıştırın.
-
Pull "ollama run
" from Ollama.com dizesine tıklayın. -
Başarılı bir indirme ve kurulum sonrası, model açılır menüde görünür ve seçilebilir hale gelir.
Komut Satırı ile Model Yükleme¶
Yeni modeller yüklemek için SSH kullanarak sunucunuza bağlanmanız ve bu makalede belirtilen komutu kullanarak işlemi gerçekleştirmeniz gerekir.
Model Çıkartma¶
OpenWebUI arayüzü üzerinden modellerden çıkarmak için, pencerenin sağ üst köşesindeki Settings simgesine tıklayıp Admin Panel >> Model'i seçin. Açılır menüde silmek istediğiniz modeli seçin ve yanında bulunan ikonuna tıklayın:
Komut satırı kullanılarak (root olarak) bir modeli çıkarmak için şu komutu kullanın:
Bilgi Tabanına Belgeler Eklemek (RAG)¶
Knowledge seçeneği, bilgi tabanları (RAG) oluşturmanıza ve PDF, metin dosyaları, Word belgeleri, PowerPoint sunumları gibi çeşitli formatlardaki belgeleri yüklemenize olanak sağlar. Bu belgeler analiz edilir ve chatbot ile tartışılabilir hale gelir. Bu özellikle karmaşık dokümanları incelemek ve anlamak, sunumlara veya toplantılara hazırlanmak, veri ve raporları analiz etmek, yazılmış çalışmaları gramer hataları, stil ve mantık açısından kontrol etmek, hukuki ve finansal belgelerle çalışmak ve çeşitli alanlarda araştırma yapmak için özellikle yararlıdır. Chatbot, belge içeriğini anlamak, özetlemek, önemli noktaları vurgulamak, soruları yanıtlamak, ek bilgiler sağlamak ve önerilerde bulunarak size yardımcı olabilir.
Belgelerle çalışmak için en az bir bilgi tabanı oluşturmanız gerekir. Bunu yapmak için Workspace >> Knowledge bölümüne gidin ve üst sağ köşedeki düğmesine tıklayın. Bilgi tabanının adı ve içeriği hakkında bilgileri doldurun ve Bilgi Oluştur düğmesiyle oluşturun.
Bilgi tabanı bölümünde, solda bilgi tabanına yüklenen dosyaların listesi, sağda ise içerikleri veya belgelerin sürükleme ve bırakma için kullanabileceğiniz yer bulunur.
Ayrıca, Search Collection arama çubuğunun yanında düğmesine tıklayarak şunları yapabilirsiniz:
- Bilgi tabanına dosya yükle (Upload files)
- Bilgi tabanına tüm bir klasör yükleyin (Upload directory)
- Bilgi tabanında ve dizindeki dosyalar ve içerikleri senkronize edin (Sync directory). Bu seçenek, bilgi tabanı güncellemenizi sağlar.
- Ollama'nın yerleşik editörü aracılığıyla bilgi tabanına içerik ekleyin (Add text content)
Bilgi tabanından herhangi bir dosyayı seçerek ve beliren X işaretine tıklayarak silebilirsiniz.
Dikkat
Seçilen model ve sunucudaki GPU gücü dikkate alındığında, belge ayarlarında gömülme oluşturmak dakikalarca sürer.
Belge ayarlarını yönetmek için User Name >> Settings >> Admin Settings >> Documents bölümüne gidin.
İşte yapılandırabileceğiniz şeyler:
- Embedding Model Engine - Gömülmeleri oluşturan motor. Varsayılan olarak SentenceTransformers kullanılır, ancak bu amaçla Ollama'dan gelen gömülme modelleri yükleyebilir ve kullanabilirsiniz.
- Hybrid Search - Hibrit arama. Aktif olduğunda, bilgi tabanları ve belgeler için arama kalitesi artar ancak çalışma hızı önemli ölçüde azalabilir.
- Embeding Models - Gömülme modeli. Bu alanı iyileştirilmiş modele
sentence-transformers/all-MiniLM-L12-v2
ayarlamanız ve sağındaki yükleyi düğmesine tıklamanız önerilir. - Engine - İçerik özütüleme motoru. Varsayılan değeri kullanın.
- Query Params: Bu bölüm, yüklediğiniz dokümanlara yönelik sorulara ve chatbot'un yanıt oluşturma şekline etki eden parametreler konfigüre eder.
- Top K - Top K ayarlama, görüntülenen en iyi arama sonuçlarının sayısını belirler. Örneğin, Top K = 5 olarak ayarlanırsa, en uygun 5 belge veya metin parçası yanıtta gösterilir.
- RAG Template - RAG (Retrieval Augmented Generation), sistemin önce bir dizi belgeden ilgili metin parçalarını çıkarıp, bunları bir dil modeli yardımıyla cevap oluştururken kullandığı bir yöntemdir. RAG Şablonu, bu yöntemi kullanırken dil modeline gönderilen talep şablonunu ayarlar. Farklı kullanım senaryolarında daha yüksek kaliteli yanıtlar almak için RAG Şablonunun biçimlendirilebilmesi özelliği faydalıdır.
- Chunk Params - Bu bölüm, yüklediğiniz dokümanları parçalara ayırmak için kullanılan parametrelerin yapılandırmasına olanak sağlar. Parçalama, büyük dokümanları daha kolay işleme imkanı sağlayan küçük parçalara bölmek anlamına gelir. Burada, parçaların maksimum boyutunu sembollerde belirleyebilirsiniz: Chunk Size ve parçaların birbirine ne kadar örtüşebileceğini belirleyebilirsiniz: Chunk Overlap. Önerilen değerler sırasıyla
1500
ve100
'dür.
Bu bölümde, PDF Ekstraksiyonu Görüntüleri (OCR) seçeneğini etkinleştirmeyi de seçebilirsiniz. Bu, PDF dosyalarından görüntüleri tanımayı ve bu görüntülerdeki metni tanımayı sağlayan bir teknoloji olan OCR'yi kullanır. OCR etkinleştirildiğinde, sistem PDF dosyalarındaki görüntüyü alır ve bu görüntüdeki herhangi bir metni tanımlamak için OCR kullanır.
- Files - Bu bölümde, yüklenen dosyanın maksimum boyutunu ve toplam sayısını ayarlayabilirsiniz.
Reset Upload Directory ve Reset Vector Storage/Knowledge düğmeleri altında bulunan düğmeler, yüklü belge dosyalarının dizinini temizler ve kaydedilen vektör depolama / bilgi tabanını (hepsini) sıfırlar. Bunları yalnızca gerçekten gerekli olduğunda kullanın ve belgeleri ve bilgi tabanlarını Workspace aracılığıyla silin.
Belgeler yüklendikten sonra, sohbet modunda onlarla çalışabilirsiniz. Bunu yapmak için, sohbet satırına # sembolü ile başlayan bir mesaj gönderin ve açılan listede istediğiniz belge veya bilgi tabanı seçin. Sonrasında gelen yanıt istenen sorunun verildiği belgeye göre oluşturulur. Bu özellik, yüklenen bilgileri temel alan bağlamı içeren cevaplar almanızı sağlar ve müşteri hizmetleri, veri analizi ve belgeler temelinde karar verme gibi çeşitli görevler için faydalıdır:
Not
# sembolünü web siteleri veya YouTube videoları eklemek için kullanabilirsiniz. Bu sayede LLM, bunları da arama sonuçlarına dahil edebilir.
OpenWebUI ile RAG Çalışırken İpuçları¶
- Gömülme Modeliyle yapılan her manipülasyon, vektör veritabanına belgeleri tekrar silmeyi ve yüklemeyi gerektirir. RAG parametreleri değiştirildiğinde bu gerekmez.
- Belgeler eklerken veya kaldırırken, özel modeli (varsa) ve belge koleksiyonunu güncellediğinizden emin olun. Aksi takdirde, onlara arama yapmak düzgün çalışmayabilir.
- OpenWebUI pdf, csv, rst, xml, md, epub, doc, docx, xls, xlsx, ppt, pptx, txt formatlarını tanımlar ancak metin dosyaları yüklenmesi önerilir.
- Hibrit arama sonuçları iyileştirir ancak çok fazla kaynağa ihtiyaç duyar ve güçlü bir GPU bile yanıt süresini 20–40 saniyeye kadar çıkarabilir.
Chatbot Güncellemesi¶
Yeni modeller kullanılabilir hale geldiğinde veya AI chatbot'ının hatalarını düzeltmek ve işlevselliğini artırmak için, iki bileşenini güncellemeniz gerekir: Ollama ve Open WebUI.
Ollama'yı Güncelleme¶
- Ollama'yı güncellemek için SSH aracılığıyla root olarak sunucuya giriş yapın ve aşağıdaki komutu çalıştırın:
- Bir tarayıcı açın ve API aracılığıyla Ollama'nın kullanılabilirliğini
<sunucu IP>:11434
adresini girerek kontrol edin.
"Ollama çalışıyor"
mesajını almalısınız.
- API'ye erişiminiz yoksa,
/etc/systemd/system/ollama.service
dosyasındaki[Service]
bölümüne aşağıdaki satırları eklemeniz gerekebilir:
Open WebUI'yi Güncelleme¶
Open WebUI'yi güncellemek için SSH aracılığıyla root olarak sunucuya giriş yapın ve aşağıdaki komutu çalıştırın:
docker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui
Watchtower güncellemesi işe yaramazsa aşağıdaki komutları çalıştırın:
docker stop open-webui
docker rm open-webui
docker run -d -p 8080:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
Dikkat
Open WebUI'nin endpoint API dokümantasyonuna erişmek istiyorsanız, konteynerı ENV=dev
ortam değişkeniyle çalıştırmanız gerekir:
Pratik Makaleler ve İpuçları¶
Daha fazla faydalı bilgi blog yazılarımızda bulabilirsiniz:
- OpenWebUI kullanarak müşteri hizmetleri chatbotu oluşturma rehberi
- AI ile çalışmak için OpenWebUI'yi nasıl iyileştirebilirsiniz
Ollama sunucusu API aracılığıyla sipariş verme¶
Bu yazılımı API kullanarak kurmak için bu talimatları takip edin