Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Özetleme Yapılandırması

Genel Bakış

summarization yapılandırması, konuşma özetleme ve bağlam budama üzerinde merkezi kontrol sağlar. Bu, daha önce özel ve Azure OpenAI uç noktalarında bulunan uç nokta bazlı summarize ve summaryModel alanlarının yerini alır.

Bir konuşma modelin bağlam penceresini aştığında, özetleme sistemi eski mesajları otomatik olarak kısa bir kontrol noktası özetine sıkıştırır. Bu, önemli bağlamı kaybetmeden konuşmaların süresiz olarak devam etmesine olanak tanır. Sistem ayrıca, özetlemeye ihtiyaç duyulmadan önce token alanını geri kazanmak için eski mesajlardaki büyük araç sonuçlarını kademeli olarak azaltan bağlam budama (context pruning) özelliğini de içerir.

Bir özetleme turundan sonra, bağlam kullanım göstergesi, atılan özet öncesi geçmişi yeniden saymak yerine, kalıcı özet temelini ve özet sonrası turları kullanır. Kümülatif kullanım ve maliyet toplamları, dalın tüm harcamalarını içermeye devam eder.

Örnek

summarization:
  provider: 'openAI'
  model: 'gpt-4o-mini'
  maxSummaryTokens: 4096
  reserveRatio: 0.05
  trigger:
    type: 'token_ratio'
    value: 0.8
  contextPruning:
    enabled: true
    keepLastAssistants: 3
    softTrimRatio: 0.3
    hardClearRatio: 0.5
    minPrunableToolChars: 50000
    softTrim:
      maxChars: 4000
      headChars: 1500
      tailChars: 1500
    hardClear:
      enabled: true
      placeholder: '[Old tool result content cleared]'

provider

KeyTypeDescriptionExample
providerStringÖzetleme çağrıları için kullanılacak LLM sağlayıcısı. Belirtilmezse, ajanın kendi sağlayıcısını kullanır.provider: "openAI"

Varsayılan: Ajanın kendi sağlayıcısı

model

KeyTypeDescriptionExample
modelStringÖzetleme çağrıları için kullanılacak model. Belirtilmediği takdirde, ajanın kendi modeli kullanılır.model: "gpt-4o-mini"

Varsayılan: Ajanın kendi modeli

parameters

KeyTypeDescriptionExample
parametersObjectÖzetleme istekleri için ek LLM parametreleri (ör. temperature, top_p).parameters: { temperature: 0.3 }

prompt

KeyTypeDescriptionExample
promptStringİlk özetleme için özel istem. Yerleşik kontrol noktası isteminin yerini alır.

Varsayılan: Hedef, Kısıtlamalar ve Tercihler, İlerleme, Temel Kararlar, Sonraki Adımlar ve Kritik Bağlam için bölümler oluşturan yapılandırılmış bir kontrol noktası istemi.

updatePrompt

KeyTypeDescriptionExample
updatePromptStringÖnceki bir özet zaten mevcut olduğunda yeniden sıkıştırma için özel istem. Özetin yeni konuşma içeriğiyle güncellenmesi gerektiğinde kullanılır.

Varsayılan: Yeni mesajları mevcut kontrol noktasıyla birleştiren, eski detayları sıkıştıran ve yakın zamandaki eylemlere daha fazla detay veren yerleşik bir istem.

maxSummaryTokens

KeyTypeDescriptionExample
maxSummaryTokensNumberÖzetleme modeli yanıtı için maksimum çıktı token sayısı.maxSummaryTokens: 4096

reserveRatio

KeyTypeDescriptionExample
reserveRatioNumberToken bütçesinin boşluk payı olarak ayrılan kısmı (0–1). Bağlamın mutlak kapasiteye kadar dolmasını engeller.reserveRatio: 0.05

Varsayılan: 0.05 (%5 boşluk payı)

trigger

KeyTypeDescriptionExample
triggerObjectÖzetlemenin ne zaman etkinleştirileceğini tanımlar. Belirtilmezse, özetleme işlemi mesaj budama işlemi herhangi bir mesajı sildiğinde tetiklenir.

trigger Alt anahtarları

KeyTypeDescriptionExample
typeStringTetikleyici stratejisi. Seçenekler: `"token_ratio"`, `"remaining_tokens"`, `"messages_to_refine"`.type: "token_ratio"
valueNumberSeçilen tetikleyici türü için eşik değeri. `token_ratio` için: 0–1 (dahil). `remaining_tokens` ve `messages_to_refine` için: pozitif tam sayı.value: 0.8

Tetikleyici Türleri

TürDeğerTetiklenme Durumu
token_ratio0.0–1.0Kullanılan bağlam belirteçlerinin (context tokens) oranı değere ulaştığında veya aştığında
remaining_tokensPozitif tam sayıKalan bağlam belirteçleri değere düştüğünde veya altına indiğinde
messages_to_refinePozitif tam sayıÖzetleme için uygun olan mesaj sayısı değere ulaştığında veya aştığında
(ayarlanmadı)Budama işlemi herhangi bir mesajı sildiğinde (varsayılan davranış)

Örnek:

summarization:
  trigger:
    type: 'remaining_tokens'
    value: 8000

contextPruning

KeyTypeDescriptionExample
contextPruningObjectKonum tabanlı araç sonucu bozulmasını yapılandırır. Eski mesajlardaki büyük araç sonuçları, token alanını geri kazanmak için kademeli olarak kırpılır veya temizlenir.

Bağlam budama (context pruning), özetlemeden bağımsız olarak çalışan isteğe bağlı bir özelliktir. Eski mesajlardaki büyük araç çağrısı sonuçlarını hedefler ve iki aşamalı ilerleyen bir süreç uygular:

  1. Soft trim — Araç sonuçlarını, aralarında üç nokta olacak şekilde yalnızca baş ve son kısımlarını tutacak şekilde kısaltır
  2. Hard clear — Tüm araç sonucunu kısa bir yer tutucu ile değiştirir

Her iki aşama da konum tabanlıdır: konuşmanın başlangıcına daha yakın olan (daha eski) mesajlar önce budanır.

contextPruning Alt-anahtarları

KeyTypeDescriptionExample
enabledBooleanKonum tabanlı araç sonucu bozulmasını etkinleştirir.enabled: true
keepLastAssistantsNumberBudamadan korunacak son asistan yanıtlarının sayısı.keepLastAssistants: 3
softTrimRatioNumberSoft-trim işleminin etkinleşeceği yaş oranı (0–1). Bu orandan daha eski olan konuşma mesajları, soft-trim için adaydır.softTrimRatio: 0.3
hardClearRatioNumberHard-clear işleminin etkinleşeceği yaş oranı (0–1). Bu orandan daha eski mesajlar, tamamen değiştirilmek üzere adaydır.hardClearRatio: 0.5
minPrunableToolCharsNumberBudama uygulanmadan önce bir araç sonucunun sahip olması gereken minimum karakter sayısı. Daha küçük sonuçlara dokunulmaz.minPrunableToolChars: 50000
softTrimObjectSoft-trim aşaması için yapılandırma.
hardClearObjectHard-clear aşaması için yapılandırma.

Varsayılanlar:

AlanVarsayılan
enabledfalse
keepLastAssistants3
softTrimRatio0.3
hardClearRatio0.5
minPrunableToolChars50000

softTrim Alt anahtarları

KeyTypeDescriptionExample
maxCharsNumberBir araç sonucunu yumuşak kırpmadan (soft-trimming) sonraki maksimum toplam karakter sayısı.maxChars: 4000
headCharsNumberAraç sonucunun başından korunacak karakter sayısı.headChars: 1500
tailCharsNumberAraç sonucunun sonundan korunacak karakter sayısı.tailChars: 1500

Varsayılanlar: maxChars: 4000, headChars: 1500, tailChars: 1500

hardClear Alt anahtarları

KeyTypeDescriptionExample
enabledBooleanHard-clear aşamasının aktif olup olmadığı. Devre dışı bırakıldığında, yalnızca soft-trim uygulanır.enabled: true
placeholderStringTam olarak temizlendiğinde tüm araç sonucu içeriğinin yerini alan yer tutucu metin.placeholder: "[Old tool result content cleared]"

Varsayılanlar: enabled: true, placeholder: "[Old tool result content cleared]"

Örnek:

summarization:
  contextPruning:
    enabled: true
    keepLastAssistants: 5
    softTrimRatio: 0.25
    hardClearRatio: 0.6
    minPrunableToolChars: 30000
    softTrim:
      maxChars: 6000
      headChars: 2500
      tailChars: 2500
    hardClear:
      enabled: true
      placeholder: '[Content removed for context management]'

Tam Yapılandırma Örneği

version: 1.3.10
cache: true

summarization:
  provider: 'openAI'
  model: 'gpt-4o-mini'
  maxSummaryTokens: 4096
  reserveRatio: 0.05
  trigger:
    type: 'token_ratio'
    value: 0.8
  contextPruning:
    enabled: true
    keepLastAssistants: 3
    softTrimRatio: 0.3
    hardClearRatio: 0.5
    minPrunableToolChars: 50000
    softTrim:
      maxChars: 4000
      headChars: 1500
      tailChars: 1500
    hardClear:
      enabled: true
      placeholder: '[Old tool result content cleared]'

Uç Nokta Başına Ayarlardan Geçiş (Migration from Per-Endpoint Settings)

Daha önce özel veya Azure OpenAI endpoint'lerinde summarize ve summaryModel kullandıysanız:

endpoints:
  custom:
    - name: 'My Endpoint'
      summarize: true
      summaryModel: 'gpt-3.5-turbo'

Bu alanlar kaldırılmıştır. Bunun yerine en üst düzey summarization yapılandırmasını kullanın:

summarization:
  model: 'gpt-4o-mini'

Notlar

  • Özetleme, uç nokta bazında değil, küresel olarak yapılandırılır.
  • Özel endpoint'ler ve Azure OpenAI endpoint'leri üzerindeki summarize ve summaryModel alanları artık desteklenmemektedir.
  • provider ve model belirtilmediğinde, özetleme için ajanın kendi provider ve model bilgisi kullanılır.
  • Context pruning varsayılan olarak devre dışıdır ve contextPruning.enabled: true ile açıkça etkinleştirilmelidir.
  • Bağlam budama (context pruning), yalnızca minPrunableToolChars değerini aşan araç çağrısı sonuçlarını etkiler; daha küçük sonuçlar asla budanmaz.
  • keepLastAssistants ayarı, trim/clear oranlarına bakılmaksızın son konuşma sıralarını budanmaktan korur.
  • Özel prompt ve updatePrompt değerleri, yerleşik istemlerin yerini tamamen alır — dikkatli kullanın
  • .env dosyanızda AGENT_DEBUG_LOGGING=true ayarını yaparak token sayıları ve bağlam budama tanılamaları için ayrıntılı günlük kaydını etkinleştirin.

Bu rehber nasıl?