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

Parameter Kustom

Memilih Kumpulan Parameter Default

Secara default, saat Anda menentukan endpoint kustom di file konfigurasi librechat.yaml, sistem akan menggunakan parameter default dari OpenAI API. Namun, Anda dapat mengganti default ini dengan menentukan field customParams.defaultParamsEndpoint di dalam definisi endpoint kustom Anda. Sebagai contoh, untuk menggunakan parameter Google bagi endpoint kustom Anda:

endpoints:
  custom:
    - name: 'Google Gemini'
      apiKey: ...
      baseURL: ...
      customParams:
        defaultParamsEndpoint: 'google'

Endpoint "Google Gemini" Anda sekarang akan menampilkan parameter untuk Google API saat Anda membuat agen atau preset baru.

Mengganti Definisi Parameter

Selain itu, Anda juga dapat menyempurnakan parameter yang disediakan untuk endpoint kustom Anda. Sebagai contoh, parameter temperature untuk endpoint google adalah slider dengan rentang dari 0.0 hingga 1.0, dan nilai default 1.0, Anda dapat memperbarui file librechat.yaml untuk mengganti nilai-nilai ini:

endpoints:
  custom:
    - name: 'Google Gemini'
      apiKey: ...
      baseURL: ...
      customParams:
        defaultParamsEndpoint: 'google'
        paramDefinitions:
          - key: temperature
            range:
              min: 0
              max: 0.7
              step: 0.1
            default: 0.5

Hasilnya, penggeser Temperature akan dibatasi pada rentang 0.0 hingga 0.7 dengan langkah 0.1, dan nilai default 0.5. Parameter lainnya akan diatur ke nilai default masing-masing.

Mengatur Nilai Parameter Default

Anda dapat menentukan nilai default untuk parameter yang akan diterapkan secara otomatis saat melakukan permintaan API. Hal ini berguna untuk menetapkan nilai parameter dasar bagi endpoint kustom Anda tanpa mengharuskan pengguna untuk mengonfigurasinya secara manual setiap saat.

Bidang default dalam paramDefinitions memungkinkan Anda untuk menetapkan nilai default yang diterapkan saat parameter tidak ditentukan. Default ini mengikuti urutan prioritas untuk memastikan perilaku penggantian (override) yang tepat:

Urutan Prioritas (terendah ke tertinggi):

  1. Nilai default dari paramDefinitions - Diterapkan pertama kali saat parameter tidak terdefinisi
  2. addParams - Dapat menimpa nilai default
  3. modelOptions yang dikonfigurasi pengguna - Prioritas tertinggi, menimpa segalanya
endpoints:
  custom:
    - name: 'My Custom LLM'
      apiKey: ...
      baseURL: ...
      customParams:
        defaultParamsEndpoint: 'openAI'
        paramDefinitions:
          - key: temperature
            default: 0.7
          - key: topP
            default: 0.9
          - key: maxTokens
            default: 2000

Dalam contoh ini:

  • Jika pengguna tidak menentukan temperature, nilainya akan secara default menjadi 0.7
  • Jika pengguna secara eksplisit menetapkan temperature ke 0.5, nilai mereka (0.5) akan diutamakan
  • Kolom addParams (jika dikonfigurasi) dapat menimpa nilai default ini
  • Pilihan pengguna di UI selalu memiliki prioritas tertinggi

Anthropic

Terdapat dua mode endpoint kustom yang terkait dengan Anthropic:

  • provider: 'anthropic' pada endpoint kustom menggunakan klien /v1/messages asli Anthropic. Gunakan ini untuk Anthropic itu sendiri atau gateway yang mendukung Anthropic Messages API.
  • customParams.defaultParamsEndpoint: 'anthropic' menjaga endpoint kustom tetap pada jalur yang kompatibel dengan OpenAI sembari menerapkan metadata parameter dan adaptasi permintaan bergaya Anthropic.

Saat menggunakan defaultParamsEndpoint: 'anthropic', sistem menyediakan penanganan khusus yang melampaui sekadar menampilkan dan menggunakan set parameter Anthropic:

Kompatibilitas API Anthropic

Mengatur defaultParamsEndpoint: 'anthropic' akan menyesuaikan parameter, header, dan pemformatan payload untuk permintaan berbentuk Anthropic pada jalur endpoint kustom:

  • Parameter dikirim ke endpoint kustom Anda persis seperti yang diharapkan oleh API Anthropic
  • Ini sangat penting untuk layanan proksi seperti LiteLLM yang meneruskan parameter non-OpenAI-spec secara langsung ke penyedia yang mendasarinya
  • Parameter khusus Anthropic seperti thinking diformat dengan benar
  • Payload messages diformat sesuai dengan persyaratan Anthropic (blok pemikiran dan caching prompt)
  • Header beta yang sesuai akan ditambahkan secara otomatis berdasarkan model seperti saat menggunakan Anthropic secara langsung

Ini terutama diperlukan untuk memformat parameter thinking dengan benar, yang tidak kompatibel dengan OpenAI:

{
  "thinking": {
    "type": "enabled",
    "budget_tokens": 10000
  }
}

Selain itu, sistem secara otomatis menambahkan header beta Anthropic khusus model seperti:

  • anthropic-beta: prompt-caching-2024-07-31 untuk dukungan prompt caching
  • anthropic-beta: context-1m-2025-08-07 untuk model konteks yang diperluas
  • Bendera fitur khusus model berdasarkan model Claude yang digunakan

Untuk endpoint yang kompatibel dengan Anthropic secara native, gunakan provider: 'anthropic' pada endpoint kustom. Pengaturan ini akan mengarahkan agen, peringkasan, penganggaran token/konteks, dan parameter default melalui jalur provider Anthropic.

Pemutaran ulang penalaran

Beberapa gateway penalaran yang kompatibel dengan OpenAI mengharuskan reasoning_content penyedia untuk diputar ulang pada giliran pemanggilan alat asisten. Gunakan flag endpoint kustom untuk memilih ikut serta hanya bagi penyedia yang memerlukan perilaku ini:

customParams:
  reasoningFormat: reasoning_object
  reasoningKey: reasoning_content
  includeReasoningContent: true

Atur includeReasoningHistory: true hanya jika penyedia juga mengharuskan LibreChat untuk merekonstruksi reasoning_content dari riwayat percakapan yang disimpan di giliran berikutnya. Ini menyiratkan includeReasoningContent.

Status Implementasi

Saat ini, penanganan parameter dan header otomatis ini telah diimplementasikan sepenuhnya untuk endpoint kustom bergaya Anthropic. Perilaku serupa untuk nilai defaultParamsEndpoint lainnya (misalnya, google, bedrock) direncanakan untuk pembaruan di masa mendatang.

Bagaimana panduan ini?