Entegrasyon rehberleri · 2026-10-30
SEA-LION'da 8.192 token: uzun metin, max_tokens ve maliyet
Qwen-SEA-LION-v4.5-27B-IT'nin 8.192 token'lık penceresinde uzun metni bölün, max_tokens'ı istemle birlikte ayarlayın ve istek başına maliyeti hesaplayın.
Kısa yanıt: istem ve max_tokens toplamı 8.192'yi geçmesin, uzun metni bölün
LLMTR, farklı sağlayıcıların dil modellerine tek bir OpenAI uyumlu API ile erişim veren bir gateway'dir. Qwen-SEA-LION-v4.5-27B-IT, LLMTR'de marscompute/qwen-sea-lion-v4.5-27b kimliğiyle https://llmtr.com/v1 adresindeki /v1/chat/completions uç noktasından, llmtr.com hesabınızın API anahtarıyla çağrılır. Bu satırda istem ve cevap aynı 8.192 token'ı paylaşır. Uzun metinle çalışırken metni parçalara bölün, her parçayı ayrı bir istekle gönderin ve max_tokens'ı istemle toplamı 8.192'yi aşmayacak şekilde verin.
Model kartı daha uzun bir bağlam tanımlar; LLMTR'deki satırda pencere 8.192 token'dır. İstem metni ayrıca yaklaşık 32.000 karakteri geçemez; daha uzun bir istem 400 invalid_request ile reddedilir ve faturalanmaz. Model, AI Singapore'un Güneydoğu Asya dilleri için eğittiği bir talimat modelidir ve LLMTR'de MarsCompute tarafından sunulur. İngilizcenin yanında yedi Güneydoğu Asya dilini destekler; Türkçe desteklenen diller arasında değildir.
8.192 token'lık bir pencereye uzun metin nasıl sığdırılır?
Önce bütçeyi hesaplayın. Pencere 8.192 token'dır; istem ne kadar yer kaplarsa cevaba o kadar az yer kalır. Tablo istemin üç boyu için max_tokens'a kalan yeri ve cevap 1.000 token olduğunda isteğin tutarını gösterir. Değerler 30 Ekim 2026 itibarıyla kataloğun fiyatıyla, 1 milyon token başına 0,60 $ girdi ve 3,60 $ çıktıyla hesaplanmıştır.
İstemin token sayısını göndermeden önce kesin olarak bilemezsiniz; aynı karakter sayısı dile göre farklı sayıda token tutar. Pratik yol şudur: ilk istekte usage alanındaki prompt_tokens değerini okuyun, metninizde bir token'a kaç karakter düştüğünü buradan çıkarın ve sonraki parçaların boyunu buna göre ayarlayın. Sistem mesajı ve konuşma geçmişi de istemin parçasıdır ve aynı bütçeden düşer.
| İstem (token) | max_tokens için kalan (token) | 1.000 token cevapla tutar |
|---|---|---|
| 1.000 | 7.192 | 0,0042 $ |
| 3.000 | 5.192 | 0,0054 $ |
| 5.000 | 3.192 | 0,0066 $ |
İki sınır: 8.192 token ve yaklaşık 32.000 karakter
Bu satırda iki ayrı sınır vardır. Birincisi token sınırıdır: istem ile max_tokens toplamı 8.192'yi aşarsa istek 400 ile reddedilir. İkincisi karakter sınırıdır: istem metni yaklaşık 32.000 karakteri geçerse istek 400 invalid_request ile reddedilir ve faturalanmaz. Hangisinin önce devreye gireceği metnin diline ve yazımına bağlıdır; bir token'a çok karakter düşen bir metinde karakter sınırı token sınırından önce gelebilir.
max_tokens göndermezseniz cevap en fazla 4.096 token olur. Uzun istemlerde max_tokens'ı her zaman açıkça verin; böylece cevaba ayırdığınız yer ve isteğin çıktı payı istekte yazılı olur. Cevap max_tokens sınırında kesilirse finish_reason length döner. Bu durumda daha kısa bir cevap isteyin ya da istemi küçültüp max_tokens'ı büyütün.
Uzun metni parçalara bölmek
Python örneği bir metni paragraf sınırlarından 16.000 karakterlik parçalara böler, her parçayı max_tokens 1.024 ile özetletir ve sonunda özetleri tek bir özette birleştirir. Bir parça pencereye sığmazsa istek 400 döner; örnek o parçayı ikiye bölüp yeniden dener. 16.000 karakter, 32.000 karakterlik sınırın yarısıdır ve sistem mesajına yer bırakır; bu değeri metninizin diline göre, usage alanında gördüğünüz prompt_tokens değerlerine bakarak ayarlayın.
Parçalar arasında bağlam kaybolabilir: bir parçada başlayan bir konu ötekinde devam edebilir. Paragraf sınırından bölmek bunu azaltır. Gerekiyorsa her parçanın başına bir önceki parçanın son paragrafını ekleyin; ama eklediğiniz her token istemi ve tutarı büyütür, max_tokens için kalan yeri de azaltır.
Uzun bir metni parçalara bölüp her parçayı Qwen-SEA-LION-v4.5-27B-IT'ye https://llmtr.com/v1/chat/completions üzerinden özetleten ve özetleri birleştiren OpenAI Python SDK örneği.
import os
from openai import BadRequestError, OpenAI
client = OpenAI(base_url="https://llmtr.com/v1", api_key=os.environ["LLMTR_API_KEY"])
MODEL = "marscompute/qwen-sea-lion-v4.5-27b"
WINDOW = 8192 # prompt and max_tokens together, on this row
MAX_TOKENS = 1024 # the room each summary may use
CHUNK_CHARS = 16000 # half of the prompt text limit of about 32,000 characters
SYSTEM = "Summarise the text in five sentences, in the language of the text."
def pieces(text, size=CHUNK_CHARS):
"""Cut on paragraph breaks; a paragraph longer than size is cut by characters."""
part = ""
for paragraph in text.split("\n\n"):
if part and len(part) + len(paragraph) > size:
yield part
part = ""
while len(paragraph) > size:
yield paragraph[:size]
paragraph = paragraph[size:]
part += paragraph + "\n\n"
if part.strip():
yield part
def summarise(text):
try:
response = client.chat.completions.create(
model=MODEL,
messages=[{"role": "system", "content": SYSTEM}, {"role": "user", "content": text}],
max_tokens=MAX_TOKENS,
)
except BadRequestError:
# A 400 here means the piece did not fit the window: halve it and summarise both halves.
if len(text) < 2000:
raise
half = len(text) // 2
return summarise(text[:half]) + "\n" + summarise(text[half:])
usage = response.usage
print(usage.prompt_tokens, "+", MAX_TOKENS, "<=", WINDOW, response.choices[0].finish_reason)
return response.choices[0].message.content
with open("report.txt", encoding="utf-8") as f:
document = f.read()
summaries = [summarise(part) for part in pieces(document)]
print(summarise("\n\n".join(summaries)))
Uzun bir raporun maliyeti
20.000 token'lık bir raporu 5.000 token'lık dört parçaya bölüp her parçadan 500 token'lık bir özet istediğinizi düşünün. Her parça 0,003 $ girdi ve 0,0018 $ çıktı eder, yani 0,0048 $; dört parça 0,0192 $ tutar. Dört özeti birleştiren son istek 2.000 token girdi ve 500 token çıktıyla 0,003 $ eder. Raporun tamamı 0,0222 $ tutar.
Satırda önbellek indirimi yoktur: her istekte yeniden gönderilen sistem mesajı her seferinde girdi fiyatıyla faturalanır. 1.500 token'lık bir sistem mesajını 1.000 istekte göndermek, yalnızca o mesaj için 0,90 $ eder. Sistem mesajını kısa tutun ve her parçaya yalnızca o parçanın işini anlatan talimatı ekleyin. Bu tutarlar kataloğun 30 Ekim 2026 fiyatıyla hesaplanmıştır; gerçek token sayıları dile ve metne göre değişir.
Sık yapılan hatalar
8.192 token'lık pencerede en sık görülen durumlar ve çözümleri:
- Konuşma geçmişini her istekte olduğu gibi göndermek: geçmiş büyüdükçe max_tokens için yer kalmaz. Eski mesajları kırpın ya da birkaç cümlelik bir özetle değiştirin.
- Uzun bir istemle yüksek bir max_tokens göndermek: toplamı 8.192'yi aşan istek 400 döner. max_tokens'ı istemin boyuna göre düşürün.
- Metni göndermeden önce token'a göre bölmeye çalışmak: istemin token sayısını önceden kesin bilemezsiniz. Karakterle bölün ve ilk yanıtlardaki prompt_tokens değerine bakarak parça boyunu ayarlayın.
- Özeti JSON olarak almak için response_format göndermek: bu satırda JSON response_format 400 döner. Özetin biçimini istemde tarif edin.
- Sonucu tek bir örnekle değerlendirmek: parçalı özetin sonucu bölme biçimine bağlıdır. Birkaç parça boyunu deneyin; kalite hakkında karar vermeden önce sonuçları kendi örneklerinizle karşılaştırın.
8.192 token'lık pencerede uzun metni özetleme
Metni karakterle parçalara bölün, her parçayı istemle toplamı 8.192'yi aşmayan bir max_tokens ile özetletin ve özetleri son bir istekte birleştirin.
- Böl. Metni paragraf sınırlarından, yaklaşık 32.000 karakterlik sınırın altında kalan parçalara bölün.
- Bütçe. Her parçayı marscompute/qwen-sea-lion-v4.5-27b'ye istemle toplamı 8.192'yi aşmayan bir max_tokens ile gönderin ve usage alanındaki prompt_tokens değerini okuyun.
- Birleştir. Parça özetlerini son bir istekte birleştirin; 400 dönen parçayı ikiye bölüp yeniden gönderin.
Sık sorulan sorular
Qwen-SEA-LION-v4.5-27B-IT'de max_tokens en fazla kaç olabilir?
İstemle toplamı 8.192'yi geçmeyecek kadar. 3.000 token'lık bir istemde max_tokens en fazla 5.192 olabilir.
32.000 karakterden uzun bir istem faturalanır mı?
Hayır. İstem metni yaklaşık 32.000 karakteri geçerse istek 400 invalid_request ile reddedilir ve faturalanmaz.
20.000 token'lık bir raporun özeti ne tutar?
Dört parça ve bir birleştirme isteğiyle 0,0222 $. Fiyat 1 milyon token başına 0,60 $ girdi ve 3,60 $ çıktıdır.