TR ▾
API anahtarı al

LLM API nedir? Nasıl çalışır ve ne zaman kullanılmalıdır

Bir LLM API, sizin için büyük bir dil modelini çalıştıran bir web hizmetidir. Kodunuz metni HTTP üzerinden gönderir, model metni geri gönderir ve kullandığınız şey için ödeme yaparsınız.

güncellendi

Veri paketlerini, bir LLM API'sini temsil eden ışıldayan bir küpe gönderen dizüstü bilgisayarın izometrik illüstrasyonu

Temel noktalar

  • Bir LLM API bir HTTP uç noktasıdır: mesajları POST edersiniz, bir tamamlama alırsınız.
  • Faturalandırma token başına yapılır; girdi ve çıktı ayrı sayılır.
  • OpenAI-uyumlu API'ler tek bir istek formatı paylaşır, bu nedenle sağlayıcı değiştirmek çoğunlukla bir base URL değişikliğidir.
  • Akış, fonksiyon çağırma ve JSON modu, basit bir sohbet uç noktasını gerçek yazılım için bir yapı taşı haline getirir.

Kısa özet

Peki, LLM API nedir? Bir dil modelini bir web adresi üzerinden sunan bir hizmettir. Modeli indirmezsiniz, GPU'ya sahip olmazsınız ve çıkarım yazılımını yönetmezsiniz. Bir konuşma içeren bir istek gönderirsiniz ve hizmet, o konuşmadaki bir sonraki mesajı döndürür.

Bunu bir ödeme API'si veya haritalar API'si gibi düşünün. Başkaları karmaşık altyapıyı yönetir, siz kendi programınızdan sizi tanımlayan bir anahtarla buna bağlanırsınız. Model ürünün ta kendisidir, API ise ona erişim kapısıdır.

Bu kapı, JSON gövdeleri olan düz HTTP'dir; bu da Python, Node, Go, bir kabuk betiği, bir elektronik tablo makrosu veya bir VS Code uzantısından çalıştığı anlamına gelir. Hiçbir şey tek bir dile veya çerçeveye bağlı değildir.

Bir istek ve yanıtın nasıl göründüğü

Günümüzde çoğu LLM API'si OpenAI'nin sohbet için getirdiği yapıyı kopyalar. POST /v1/chat/completions uç noktasına bağlanırsınız ve bir mesaj listesi gönderirsiniz. Her mesajın bir role ve bazı content değerleri bulunur.

  • system tüm konuşma için kuralları ve kişiliği belirler.
  • user kişinin (veya programınızın) söylediği şeydir.
  • assistant modelin daha önce söylediği şeydir; bunu geri gönderirseniz bağlamı hatırlar.
  • tool, modelin çalıştırmanızı istediği bir işlevin sonucunu taşır.

Ana detay, modelin çağrılar arasında hafızasının olmamasıdır. Her istek, dikkate almasını istediğiniz tüm konuşmayı içermelidir. Son on dönüşü hatırlayan bir sohbet botu istiyorsanız, kodunuz bu on dönüşü saklar ve her seferinde gönderir.

İşte curl ile en küçük işlevsel çağrı. Bu sitenin uç noktasını, uncensored model kimliğini ve bir bearer token'ı kullanır.

curl https://api.codingllmapi.com/v1/chat/completions \
  -H "Authorization: Bearer $LLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [
      {"role": "system", "content": "You are a concise assistant."},
      {"role": "user", "content": "Explain what a mutex is in two sentences."}
    ]
  }'

Yanıt JSON formatındadır. İstediğiniz metin choices[0].message.content konumundadır. Yanında, ne kadar token girdiğini ve ne kadar çıktı verildiğini bildiren bir usage nesnesi alırsınız; fatura buna göre kesilir.

Tokenlar: her şeyin ölçüldüğü birim

Bir model karakterleri veya kelimeleri okumaz. Tokenları okur; bunlar genellikle kısa bir kelime veya daha uzun bir kelimenin parçası olan metin parçalarıdır. İngilizce metinler kelime başına biraz altında bir token ortalamasına sahiptir ve kod, noktalama işaretleri ve girintiler nedeniyle satır başına daha fazla token kullanma eğilimindedir. Herhangi bir kesin dönüşümü bir tahmin olarak kabul edin ve gerçek sayım için usage alanını okuyun.

Tokenlar üç nedenle önemlidir.

  1. Fiyat. Girdi (istem) için bir oran ve çıktı (modelin cevabı) için daha yüksek bir oran olmak üzere her milyon token için ödeme yaparsınız.
  2. Bağlam penceresi. İstem ve yanıt tek bir sınırlamayı paylaşır. Bu API'de pencere toplamda 100.000 token'dır.
  3. Hız. Çıktı token token üretilir, bu nedenle uzun bir cevap kısa olandan daha uzun sürer.

Bu sitedeki oranlarla, 1M girdi token başına $0,15 ve 1M çıktı token başına $0,50 ile, 2.000 girdi token ve 500 çıktı token içeren bir istek, girdi için 2.000 x $0,15 / 1.000.000 = $0,0003 ve çıktı için 500 x $0,50 / 1.000.000 = $0,00025 maliyetine sahiptir. Toplam bu $0,00055 eder, bu yüzden böyle bin istek $0,55'e mal olur. Güncel oranlar her zaman fiyatlandırma sayfasında bulunur.

Koddan bir LLM API'sine çağrı yapma

HTTP çağrısını elle yazabilirsiniz ancak bir SDK işinizi kolaylaştırır. Bu API OpenAI-uyumlu olduğu için, iki değeri değiştirdikten sonra resmi OpenAI kütüphaneleri çalışır: base URL ve anahtar.

Python

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.codingllmapi.com/v1",
    api_key=os.environ["LLM_API_KEY"],
)

resp = client.chat.completions.create(
    model="uncensored",
    messages=[
        {"role": "system", "content": "You are a careful code reviewer."},
        {"role": "user", "content": "What is wrong with: for i in range(len(x)): print(x[i])"},
    ],
    temperature=0.3,
)

print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, resp.usage.completion_tokens)

Node

import OpenAI from "openai";

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

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Give me three names for a CLI that renames files." }],
});

console.log(resp.choices[0].message.content);

Anahtarı bir ortam değişkeninde veya bir gizli depolamada tutun. Ön uç koduna veya herkese açık bir depoya yapıştırılan bir anahtar, onu bulan herkes tarafından kullanılabilir ve ücretler size yansır.

Bir sohbet kutusunu bir yapı taşı haline getiren özellikler

Sade bir tamamlama faydalıdır, ancak çoğu gerçek program aşağıdakilerden en az birini kullanır.

Akış

stream: true ayarını verdiğinizde sunucu yanıtı sunucu tarafından gönderilen olaylar (SSE) olarak, token token gönderir. Kullanıcılar tam yanıtı beklemek yerine metnin anında belirdiğini görür. Kullanım istatistikleri akışın sonunda ulaşır.

JSON modu

response_format: {"type": "json_object"} parametresini geçerek modelin geçerli JSON döndürmesi sağlanır. Bu, dağınık metinlerden alanları çıkarmak, biletleri sınıflandırmak veya bir pipeline'daki sonraki adım için yapılandırılmış veri üretmek için kullanılır. Yine de sonucu kodunuzda doğrulayın ve istemde hangi anahtarları beklediğinizi modele bildirin.

Araç çağırma

İşlevleri tools dizisi içinde tanımlarsınız. Model, argümanları doldurulmuş bir çağrı isteği ile yanıt verebilir. Kodunuz işlevi çalıştırır ve sonucu role: "tool" rolü ile bir mesaj olarak geri gönderir. Model hiçbir şeyi kendi başına çalıştırmaz. Sadece ister, siz neyin gerçekten çalıştırılacağına karar verirsiniz. Bu, dosya okuyan ve testler çalıştıran kodlama ajanlarının arkasındaki mekanizmadır.

Örnekleme (sampling) parametreleri

temperature, top_p, stop, seed ve tekrar cezasları geçirilir. Düşük sıcaklık, kod ve çıkarma için daha istikrarlı cevaplar verir. Daha yüksek değerler daha çeşitli metinler verir.

Barındırılan API veya modeli kendi başınıza çalıştırma

Bir API'ye alternatif, açık ağırlıklı bir modeli kendi donanımınızda çalıştırmaktır. Bu adil bir seçenektir ve ne zaman kazandığını dürüstçe bilmek değerlidir.

SoruBarındırılan APIKendi kendine barındırılan
Ön maliyetYok, token başına ödeme yaparsınızGPU satın alma veya kiralama
Kurulum süresiDakikalarSaatler veya günler
ÖlçeklemeAnahtarınızın hız limitleri ile sınırlıdırDonanımınızla sınırlıdır
Veri makinenizden ayrılırEvet, sağlayıcıyaHayır
Boşta kalma maliyetiSıfırHiçbir şey çalışmasa bile ödeme yaparsınız

Günde birkaç bin istek gönderiyorsanız veya kullanımınız dalgalı ise, token başına fiyatlandırma genellikle daha kolay bir yoldur. İstikrarlı yüksek yükünüz varsa ve metni üçüncü taraflara göndermeyi yasaklayan sıkı kurallarınız varsa, yerel barındırma daha mantıklı olabilir. Birçok ekip fikri doğrulamak için bir API ile başlar ve sorunu daha sonra tekrar değerlendirir.

Limitler, hatalar ve iyi alışkanlıklar

Her API'nin limitleri vardır ve bunları erken bilmek hata ayıklama süresinden tasarruf sağlar. Bu serviste tam bir anahtar 8 eşzamanlı istek ve dakikada 300 istek izni verir. Deneme anahtarı 2 ve 60 izin verir. Maksimum istek gövdesi 8 MB'tır. Akışlı bir istek, akış bitene kadar eşzamanlılık slotunu korur; bu, çok sayıda akış açan ve bunları kapatmayı unutan kişileri yakalar.

Bir limite takılmanız HTTP 429 döndürür. rate_limited hata kodu dakikada çok fazla istek gönderildiğini, concurrency ise aynı anda çok fazla istek gönderildiğini gösterir. Retry-After: 5 başlığı içeren bir 429 yanıtı geçici aşırı yüklenmeyi işaret eder. Bu üç durumda da doğru yanıt, uç noktayı zorlamak yerine bekleme ve geri çekilme (backoff) ile yeniden denemektir.

  • Tavanlarınızı görmek için yanıt başlıklarından X-RateLimit-Limit-Requests ve X-RateLimit-Limit-Concurrency değerlerini okuyun ve bakiyenizi izlemek için X-Balance-USD değerini kontrol edin.
  • Her çağrı ile X-Request-Id değerini loglayın. Bu, destek sorularının çok daha hızlı yanıtlanmasını sağlar.
  • Kontrolsüz bir döngünün bakiyenizi harcamasını önlemek için makul bir zaman aşımı ve konuşma uzunluğu sınırı ayarlayın.
  • Sohbetin eski geçmişi bağlam penceresini doldurmadan önce kısaltın.

Bu API'de başarısız veya reddedilen istekler için ücret alınmaz ve kredi süresi dolmaz, bu nedenle testlerde yapılan bir hata çok az maliyete mal olur.

Bu API ile başlangıç

Bu servis, bağımsız bir sağlayıcı tarafından işletilen ve yasal yetişkin kullanımı için içerik reddi olmadan yanıt verecek şekilde ayarlanmış tek bir açık ağırlıklı model için barındırılan, OpenAI-uyumlu bir metin API'sidir. Sadece metin içerir: resim, ses, gömme (embedding) veya ince ayar (fine-tuning) yoktur. Herhangi bir model satıcısının resmi API'si değildir. İstemler eğitim için kullanılmaz.

Yeni kullanıcılar, Google veya e-posta ve şifre ile kayıt olduktan sonra API anahtarı sayfasında tek tıkla $0,50 deneme kredisi alabilir. Kart gerekmez ve 7 gün geçerlidir. Sonrasında $20 ile $500 arasında herhangi bir tam tutardan bakiye yükleyebilirsiniz; $50'den itibaren %5, $100'den itibaren %10 ve $200'den itibaren %15 bonus uygulanır. Kart (Visa, Mastercard, Apple Pay, Google Pay) veya kripto (TRC20 üzerinde USDT, Base üzerinde USDC) ile ödeme yapabilirsiniz.

Adımlar kısadır: API anahtarınızı oluşturun, dokümanlardaki hızlı başlangıç kılavuzunu izleyin ve yukarıdaki Python kodunu çalıştırın. Ana kullanımınız programlama yardımı ise, kodlama ajanları için sansürsüz model sayfası bu durumu daha ayrıntılı ele alır.

Sorular ve cevaplar

Bir LLM API bir sohbet botu ile aynı mıdır?

Hayır. Bir sohbet botu bir arayüzü olan bir uygulamadır. Bir LLM API ise bu tür bir uygulamanın arkasındaki servistir ve arayüzü veya istediğiniz iş akışını oluşturmak için kendi kodunuzdan buna çağrı yaparsınız.

Bunu kullanmak için makine öğrenmesi bilmem mi gerekir?

Hayır. Bir HTTP isteği gönderebiliyor veya bir SDK kullanabiliyorsanız bir LLM API kullanabilirsiniz. İstemleri ve tokenları anlamanız gerekir, ancak modelin nasıl eğitildiğini bilmenize gerek yoktur.

OpenAI-uyumlu ne anlama gelir?

Bu, API'nin OpenAI'nin sohbet uç noktasıyla aynı istek formatını kabul ettiği anlamına gelir. Mevcut OpenAI SDK'ları ve araçları, base URL ve anahtar değiştirildikten sonra çalışır.

Bir LLM API'nin maliyeti nedir?

Genellikle sağlayıcılar her milyon token için ücretlendirme yapar ve girdi ile çıktı için ayrı oranlar uygulanır. Burada 1M girdi token'ı için $0,15, 1M çıktı token'ı için $0,50 uygulanır. Bu ücretler ön ödemeli krediden düşülür, abonelik yoktur.

Verilerim modeli eğitmek için kullanılır mı?

Bu serviste istemler eğitim için kullanılmaz. Başka herhangi bir sağlayıcı için hassas metinler göndermeden önce veri politikalarını okuyun.

Anahtarınız tek bir formun uzağında

Bir hesap oluşturun, anahtarı kopyalayın ve base URL'yi değiştirin. Kurulum bu kadar basit.

API anahtarı al