TR ▾
API anahtarı al

Ollama'yı bir GUI ile Kullanma (ve Barındırılan Yedek Bağlantı)

Ollama kendisi bir terminalde çalışır, ancak OpenAI formatını konuşan herhangi bir sohbet ön ucu bunun üzerine kurulabilir. İşte birini nasıl kuracağınız ve aynı pencereyi barındırılan bir uç noktaya nasıl yönlendireceğiniz.

Güncellendi

Yerel bilgisayar ve bulut sunucusuna ışık kablolarıyla bağlı sohbet penceresi

Kart gerekmez. Kayıt olduktan sonra, tek tıkla (kişi başı bir kez) $0.50 ücretsiz deneme kredisi elde edebilirsiniz.

API anahtarı al

Temel noktalar

  • Ollama'nın yerleşik bir sohbet penceresi yoktur; Open WebUI gibi bir ön yüz eklersiniz.
  • Ön uçlar Ollama'ya veya herhangi bir OpenAI uyumlu URL'ye bağlanır, bu nedenle bir GUI her iki bağlantıyı da koruyabilir.
  • Barındırılan bağlantı için base URL https://api.ollamansfw.com/v1 ve model ID uncensored kullanın.
  • Akış, fonksiyon çağırma ve JSON modu, standart istemci ayarlarıyla barındırılan uç nokta üzerinden çalışır.

Neden Ollama'nın ayrı bir GUI'ye ihtiyacı var

ollama'nın bir GUI ile nasıl kullanılacağını öğrenmek istiyorsanız, kabul etmeniz gereken temel gerçek, Ollama projesinin bir sunucu ve komut satırı aracı olmasıdır. Modelleri çeker ve yerel bir bağlantı noktasında istekleri yanıtlar. Sohbet penceresi başka birinin işidir ve birkaç iyi seçenek mevcuttur.

Bu ayrım faydalıdır. Ollama, kendi makinenizde OpenAI tarzı bir API açığa çıkardığından (varsayılan olarak /v1 altında 11434 bağlantı noktasında), özel bir OpenAI temel URL'si ayarlamanıza olanak tanıyan herhangi bir ön uç bunu kullanabilir. Aynı özellik, o ön ucu daha sonra başka bir yere yönlendirmenize de olanak tanır. Bu makale önce yerel kurulumu adım adım anlatır, ardından barındırılan bir uç nokta ikinci bir bağlantı olarak eklenir.

Bir ön uç seçin

Çoğu kişiyi kapsayan üç araç ailesi vardır. Güncel kurulum adımları sık değiştiği için her projenin kendi belgelerine bakın.

  • Open WebUI. Kendi kendine barındırılan bir tarayıcı arayüzü. Ollama'yı doğrudan destekler ve herhangi bir OpenAI uyumlu bağlantıyı da kabul eder. Genellikle Docker veya pip ile kurulur.
  • Masaüstü istemciler. Chatbox veya Msty gibi yerel uygulamalar, ayarlar ekranı aracılığıyla bir Ollama sunucusu veya OpenAI-uyumlu bir sağlayıcı eklemenizi sağlar. Çalıştırılacak bir sunucu gerekmez.
  • Rol yapma ve yazma ön uçları. SillyTavern, size bir OpenAI uyumlu uç nokta eklemenizi sağlar; benzer araçlar uzun formatlı kurgu ve yetişkinler için ortak karakterler için de mevcuttur.

Bir Docker konteyneri kullanmak istemiyorsanız, bir masaüstü istemcisi en kısa yoldur. Bir ağdaki birden fazla kullanıcı için paylaşılan bir arayüz istiyorsanız, Open WebUI genellikle tercih edilir.

Open WebUI ile adım adım

  1. Ollama'yı kurun ve başlatın, ardından ollama pull komutuyla bir model indirin. Daha fazlasına geçmeden önce terminalden yanıt verdiğinden emin olun.
  2. Open WebUI'yi başlatın. Docker ile yaygın kalıp, bir port yayınlamak ve veriler için bir volume bağlamaktır.
  3. Web sayfasını açın, ilk yerel hesabı oluşturun (yönetici olur) ve yönetici ayarlarında bağlantılar bölümünü arayın.
  4. Ollama URL'sinin Ollama'nın çalıştığı makineyi işaret ettiğinden emin olun. Her ikisi de aynı ana makinede olduğunda bu genellikle 11434 portundaki yerel adrestir. Open WebUI bir kapsayıcı içinde çalıştığında, localhost kapsayıcının kendisini ifade eder; bu, model listesinin boş kalmasının en yaygın nedenidir.
  5. Yenileyin, açılır menüden bir model seçin ve bir mesaj gönderin.

Bu tam bir yerel GUI'dir. Bilgisayarınızdan hiçbir şey çıkmaz ve hız donanımınıza bağlıdır.

Barındırılan OpenAI uyumlu bağlantı ekleme

Şimdi yedek seçenek devrede. Yerelde çalıştırdığınız model uzun bir sahne için küçük kalırsa veya GPU'nuz başka işle meşgulse, aynı GUI'ye ikinci bir bağlantı ekleyebilirsiniz. Bunun için bir API anahtarına ihtiyacınız vardır; Google veya e-posta ve şifre ile kayıt olduktan sonra API anahtarı sayfasından bu anahtarı elde edebilirsiniz. Tek tıklamayla elde edilebilen tek seferlik $0.50 deneme kredisi mevcuttur; ödeme gerekmez ve 7 gün geçerlidir.

Open WebUI'de, aşağıdaki değerlerle bir OpenAI bağlantısı ekleyin:

  • Temel URL: https://api.ollamansfw.com/v1
  • API anahtarı: anahtarınız, Authorization: Bearer olarak gönderilir
  • Model: uncensored

Kapsayıcıyı başlatırken ortam değişkenlerini tercih ediyorsanız, Open WebUI bu amaçla OPENAI_API_BASE_URL ve OPENAI_API_KEY'i belgeler:

docker run -d -p 3000:8080 \
  -e OPENAI_API_BASE_URL=https://api.ollamansfw.com/v1 \
  -e OPENAI_API_KEY=YOUR_KEY \
  -v open-webui:/app/backend/data \
  --name open-webui ghcr.io/open-webui/open-webui:main
# model to pick in the UI: uncensored

Bir yeniden yüklemeden sonra, yerel modellerinizin yanında uncensored model açılır listesinde görünmelidir. Ön uç onu GET /v1/models aracılığıyla bulur. Artık aynı konuşma listesi içinde yerel model ile barındırılan model arasında geçiş yapabilirsiniz.

Uç noktayı GUI dışında test etme

Bir GUI belirsiz bir hata gösterdiğinde, sorunun anahtar mı yoksa arayüz mü olduğunu anlamak için en hızlı yol doğrudan bir çağrı yapmaktır. İşte curl ile bir akış isteği:

curl -N https://api.ollamansfw.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "stream": true,
    "messages": [{"role": "user", "content": "Write two sentences about a lighthouse keeper."}]
  }'

Kullanım bilgisiyle sonlanan data: satırlarının bir dizisini görmelisiniz. Bu çalışıyorsa, anahtar ve URL doğrudur ve sorun ön uçta yer alır. Sorun giderme sayfası, eksik /v1 veya anahtarın sonundaki boşluk gibi yaygın hataları kapsar.

Yerel modeller için kullandığınız istemci ayarlarının çoğu aktarılır. Sıcaklık, top_p, durma dizileri, seed ve cezalar modele iletilir.

Kendi kodunuzdan barındırılan uç nokta kullanma

Bir GUI bir istemcidir. Betikler ve küçük uygulamalar başka bir istemcidir ve barındırılan uç nokta standart OpenAI SDK'ları ile çalışır. Fonksiyon çağırma ve JSON modu desteklenir; bu, GUI'nizin veya ajanınızın bunları kullanması durumunda önemlidir.

from openai import OpenAI

client = OpenAI(base_url="https://api.ollamansfw.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    response_format={"type": "json_object"},
    messages=[
        {"role": "system", "content": "Reply with a JSON object with keys title and summary."},
        {"role": "user", "content": "A short story about a lighthouse keeper."},
    ],
)
print(resp.choices[0].message.content)

Node'daki desen aynıdır:

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.ollamansfw.com/v1",
  apiKey: process.env.API_KEY,
});

const stream = await client.chat.completions.create({
  model: "uncensored",
  stream: true,
  messages: [{ role: "user", content: "Name three sailing knots." }],
});
for await (const part of stream) {
  process.stdout.write(part.choices[0]?.delta?.content ?? "");
}

hızlı başlangıç daha fazla örnek içerir, tool_choice ile fonksiyon çağırma örnekleri de dahil.

Yaygın sorunlar ve çözümler

Bir GUI kurulumundaki çoğu hata kısa bir nedenler listesinden kaynaklanır.

  • Yerel bağlantı için boş model listesi. Ön uç Ollama'ya erişemiyor. Adresi kontrol edin ve kapsayıcılı bir GUI'nin ana makinenizi localhost olarak görmediğini unutmayın.
  • Barındırılan uç noktadan 401. Anahtar eksik veya yanlış. Boşluk olmadan tekrar yapıştırın ve GUI'nin onu bir bearer token olarak gönderdiğinden emin olun.
  • Her istekte 404. Base URL muhtemelen /v1 içermiyor veya iki kez içeriyor.
  • Yanıtlar duruyor veya arayüz donuyor. Bazı ön uçlar akışlı çıktıyı bir proxy üzerinden arabelleğe alır. Yukarıdaki doğrudan curl testini deneyin ve akış yapılıyorsa, GUI'nizin önündeki proxy ayarlarını kontrol edin.
  • Yavaş yerel yanıtlar. Model VRAM'iniz için çok büyük ve sistem belleğine taşma yapıyor. Daha küçük bir quantization seçin veya bu sohbeti barındırılan bağlantıya geçirin.

Kurgu ve yetişkinler için eşlik eden uygulamalar için bir kuralı aklınızda tutun: barındırılan model yasal yetişkin kullanımı için içerik reddi olmadan yanıt verir, ancak reşit olmayanlar içeren cinsel içerik asla izin verilmez ve hizmet bunu bir hard limit olarak uygular.

Bir GUI'de bilmeniz gereken limitler ve maliyetler

Ön uçlar aynı anda birden fazla istek gönderebilir; örneğin ana yanıt akışırken arka planda bir sohbet başlığı oluştururken. Tam bir anahtar 8 eşzamanlı istek ve dakika başına 300 istek izni verir. Bir deneme anahtarı 2 eşzamanlı ve dakika başına 60 istek izni verir. Bir akış isteği, akış bitene kadar slotunu tutar. Bir limiti aşarsanız, rate_limited veya concurrency koduyla HTTP 429 alırsınız ve geçici aşırı yüklenmede Retry-After: 5 ile 429 alırsınız. Ön uçta arka plan başlık oluşturmayı kapatmak, bir deneme anahtarı için basit bir çözümdür.

Maliyet token başına: 1M girdi başına $0.15 ve 1M çıktı başına $0.50. 2.000 token geçmiş ve 500 token yanıt içeren bir sohbet dönüşü $0.0003 artı $0.00025'e mal olur, bu da $0.00055 eder. Yanıt başlıkları X-Balance-USD içerir, böylece kredinizin azalmasını izleyebilirsiniz. Bakiye yükleme detayları fiyatlandırma sayfası üzerindedir. Bu site yalnızca kripto kabul eder: TRC20 üzerinde USDT veya Base üzerinde USDC, $20 ile $500 arasında herhangi bir tam miktar.

Bağlam penceresi 100,000 token'dır, bu nedenle çok uzun sohbetler, geçmiş büyüdükçe her seferinde tüm geçmiş gönderildiği için dönüş başına daha fazla maliyet gerektirir. Çoğu GUI'de eski mesajları kısaltmak veya özetlemek için bir ayar bulunur.

Sorular ve cevaplar

Ollama'nın kendi grafik arayüzü var mı?

Ollama öncelikle bir sunucu ve komut satırı aracıdır. Sohbet pencereleri, ona bağlanan Open WebUI gibi ayrı projelerden veya masaüstü istemcilerinden gelir.

Bir GUI hem yerel hem de barındırılan bir modeli kullanabilir mi?

Evet, ön uç birden fazla bağlantıyı destekliyorsa. Ollama'yı bir bağlantı olarak ve OpenAI uyumlu bir URL'yi diğer bağlantı olarak ekleyin, ardından sohbet başına modeli seçin.

Neden GUI'm barındırılan uç nokta için model göstermiyor?

Temel URL'nin /v1 ile bittiğinden emin olun, anahtarın gereksiz boşluk içermediğinden emin olun ve GUI'nin GET /v1/models çağrısına izin verildiğinden emin olun. Hâlâ başarısız olursa, model kimliğini uncensored olarak elle yazın.

HTTP 429 hatası alırsam ne yapmalıyım?

Hız veya eşzamanlılık sınırına ulaştınız. Eşzamanlı istekleri azaltın, Retry-After'ta belirtilen saniyeler kadar bekleyin ve yeniden deneyin.