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

Struktur Objek Model Specs

Gambaran Umum

Objek modelSpecs membantu Anda memberikan pengalaman UI yang lebih sederhana untuk model AI di dalam aplikasi Anda.

Terdapat 3 kolom utama di bawah modelSpecs:

  • enforce (opsional; default: false)
  • prioritize (opsional; default: true)
  • list (wajib)
  • addedEndpoints (opsional)

Catatan:

  • Jika enforce diatur ke true, Model Specs berpotensi mengalami konflik dengan pengaturan antarmuka lainnya seperti modelSelect, presets, dan parameters.
  • Array list berisi konfigurasi mendetail untuk setiap model, termasuk preset yang menentukan perilaku, tampilan, dan kemampuan tertentu.
  • Jika kolom interface tidak ditentukan dalam konfigurasi, memiliki daftar Model Specs akan menonaktifkan elemen antarmuka berikut:
    • modelSelect
    • parameters
    • presets
  • Jika Anda ingin mengaktifkan elemen antarmuka ini bersama dengan Model Specs, Anda dapat mengaturnya ke true di dalam objek interface.

Mengelola kunci API yang disediakan pengguna dengan Model Specs

Saat Model Specs menonaktifkan modelSelect, menu tarik-turun endpoint — dan ikon roda gigi yang membuka dialog Set API Key — akan disembunyikan. Pengguna masih dapat mengatur atau merotasi kunci untuk endpoint mana pun yang dikonfigurasi dengan apiKey: "user_provided" dari Settings → Data controls → API keys.

Daftar tersebut dicakup ke endpoint yang benar-benar dapat diakses oleh pengguna: endpoint yang direferensikan oleh Model Specs Anda, ditambah addedEndpoints apa pun. Ketika endpoint agents dapat diakses, daftar tersebut juga menyertakan allowedProviders agen (atau setiap penyedia yang dikonfigurasi ketika allowedProviders dibiarkan tidak disetel).

Contoh

modelSpecs:
  enforce: true
  prioritize: true
  list:
    - name: 'meeting-notes-gpt4'
      label: 'Meeting Notes Assistant (GPT4)'
      softDefault: true
      description: 'Generate meeting notes by simply pasting in the transcript from a Teams recording.'
      iconURL: 'https://example.com/icon.png'
      showOnLanding: true
      conversation_starters:
        - 'Summarize this meeting transcript'
        - 'Extract action items and owners'
      hideBadgeRow: true
      skills:
        - 'brand-guidelines'
        - 'meeting-notes'
      subagents:
        enabled: true
        allowSelf: true
        agent_ids: []
      preset:
        endpoint: 'azureOpenAI'
        model: 'gpt-4-turbo-1106-preview'
        maxContextTokens: 128000 # Maximum context tokens
        max_tokens: 4096 # Maximum output tokens
        temperature: 0.2
        modelLabel: 'Meeting Summarizer'
        greeting: |
          This assistant creates meeting notes based on transcripts of Teams recordings.
          To start, simply paste the transcript into the chat box.
        promptPrefix: |
          Based on the transcript, create coherent meeting minutes for a business meeting. Include the following sections:
          - Date and Attendees
          - Agenda
          - Minutes
          - Action Items

          Focus on what items were discussed and/or resolved. List any open action items.
          The format should be a bulleted list of high level topics in chronological order, and then one or more concise sentences explaining the details.
          Each high level topic should have at least two sub topics listed, but add as many as necessary to support the high level topic. 

          - Do not start items with the same opening words.

          Take a deep breath and be sure to think step by step.

Top-level Fields

enforce

KeyTypeDescriptionExample
enforceBooleanMenentukan apakah Model Specs harus secara ketat menggantikan pengaturan konfigurasi lainnya.Setting this to `true` can lead to conflicts with interface options if not managed carefully.

Default: false

Contoh:

modelSpecs:
  enforce: true

prioritize

KeyTypeDescriptionExample
prioritizeBooleanMenentukan apakah Model Specs harus diprioritaskan daripada konfigurasi default ketika keduanya dapat diterapkan.When set to `true`, it ensures that a modelSpec is always selected in the UI. Doing this may prevent users from selecting different endpoints for the selected spec.

Default: true

Contoh:

modelSpecs:
  prioritize: false

addedEndpoints

KeyTypeDescriptionExample
addedEndpointsArray of StringsMengizinkan endpoint tertentu (misalnya, "openAI", "google") untuk dapat dipilih di UI bersama dengan Model Specs yang telah ditentukan.Requires `interface.modelSelect` to be `true`. If this field is used and `interface.modelSelect` is not explicitly set, `modelSelect` will default to `true`.

Default: [] (daftar kosong)

Catatan: Harus salah satu dari berikut ini:

  • openAI, azureOpenAI, google, anthropic, assistants, azureAssistants, bedrock, agents

Contoh:

modelSpecs:
  # ... other modelSpecs fields
  addedEndpoints:
    - openAI
    - google

list

Wajib

KeyTypeDescriptionExample
listArray of ObjectsBerisi daftar spesifikasi model individual yang merinci berbagai konfigurasi dan perilaku.Each object in the list details the configuration for a specific model, including its behaviors, appearance, and capabilities related to the application's functionality.

Model Spec (Butir Daftar)

Di dalam setiap Model Spec, atau setiap item list, Anda dapat mengonfigurasi kolom-kolom berikut:


name

KeyTypeDescriptionExample
nameStringPengidentifikasi unik untuk model.No default. Must be specified.

Deskripsi: Pengidentifikasi unik untuk model tersebut.


label

KeyTypeDescriptionExample
labelStringNama atau label yang ramah pengguna untuk model tersebut, ditampilkan di menu tarik-turun header.No default. Optional.

Deskripsi: Nama atau label yang ramah pengguna untuk model tersebut, ditampilkan di menu tarik-turun header.


default

KeyTypeDescriptionExample
defaultBooleanMenentukan apakah Model Specs ini adalah pilihan default, yang akan dipilih secara otomatis pada setiap obrolan baru.

Deskripsi:
Menentukan apakah Model Specs ini merupakan pilihan default, yang akan dipilih secara otomatis pada setiap obrolan baru.


softDefault

KeyTypeDescriptionExample
softDefaultBooleanMenentukan apakah Model Specs ini hanya boleh dipilih untuk pengguna baru yang belum pernah memilih model, Model Specs, atau agen.

Deskripsi:

Menentukan default saat pertama kali dijalankan tanpa menimpa pilihan pengguna di kemudian hari. Gunakan softDefault saat Anda ingin memandu pengguna baru ke Model Specs yang telah dikurasi sambil tetap menjaga pilihan pengguna setelah mereka memilih model, spec, atau agen lain.

Melihat percakapan lama yang menggunakan spec soft-default tidak akan mengaktifkan kembali spec tersebut sebagai default pengguna setelah mereka membuat pilihan lain.

Contoh:

modelSpecs:
  list:
    - name: 'general-assistant'
      label: 'General Assistant'
      softDefault: true
      preset:
        endpoint: 'openAI'
        model: 'gpt-4o-mini'

iconURL

KeyTypeDescriptionExample
iconURLStringURL atau nama endpoint yang telah ditentukan untuk ikon model di pemilih, header, dan branding percakapan.No default. Optional.

Deskripsi:
URL atau nama endpoint yang telah ditentukan sebelumnya untuk ikon model di pemilih, header, dan branding percakapan. Gunakan showIconInMenu dan showIconInHeader untuk mengontrol di mana ikon tersebut muncul.


description

KeyTypeDescriptionExample
descriptionStringDeskripsi singkat mengenai model serta tujuan penggunaan atau perannya, yang ditampilkan pada pemilih model dan secara opsional di halaman awal obrolan.No default. Optional.

Description: Deskripsi singkat mengenai model dan penggunaan atau peran yang dituju, ditampilkan pada pemilih model. Jika showOnLanding bernilai true, deskripsi yang sama juga akan ditampilkan pada halaman awal obrolan di bawah label spec.

Deskripsi teks biasa akan dirender sebagai teks. Deskripsi yang dimulai dengan < akan dirender melalui pembersih HTML konfigurasi, yang memungkinkan markup inline yang aman dan media seperti ikon kecil.


conversation_starters

KeyTypeDescriptionExample
conversation_startersArray of StringsPrompt awal yang disarankan ditampilkan sebagai kartu yang dapat diklik pada halaman awal obrolan saat Model Specs ini dipilih.No default. Optional.

Deskripsi: Conversation starters memberikan pengguna prompt awal yang telah dikurasi untuk sebuah Model Specs. Fitur ini ditampilkan pada halaman awal obrolan kosong untuk spec yang dipilih dan sangat berguna dengan branding showOnLanding. Mengeklik sebuah starter akan mengirimkannya sebagai pesan pertama dari percakapan baru.

  • Maksimal 4 starter akan ditampilkan, menyesuaikan dengan batas agen/asisten.
  • Jika preset pada spec mengarah ke agen atau asisten yang menentukan pemulai percakapan (conversation starters) miliknya sendiri, maka hal tersebut yang akan diutamakan.

Contoh:

modelSpecs:
  list:
    - name: 'meeting-notes'
      label: 'Meeting Notes'
      showOnLanding: true
      conversation_starters:
        - 'Summarize this meeting transcript'
        - 'Create action items with owners and due dates'
      preset:
        endpoint: 'agents'
        model: 'gpt-4o'

showOnLanding

KeyTypeDescriptionExample
showOnLandingBooleanMenampilkan label dan deskripsi Model Specs ini pada halaman awal obrolan sebagai pengganti salam default.showOnLanding: true

Default: false

Gunakan ini ketika spesifikasi model yang telah dikurasi harus memberikan branding pada layar obrolan kosong pertama. Spesifikasi model yang sudah ada tidak akan berubah kecuali showOnLanding diatur ke true.

Contoh:

modelSpecs:
  list:
    - name: 'branded-assistant'
      label: 'Acme Research'
      description: '<span><img src="/assets/acme.svg" alt="Acme" /> Research with approved sources</span>'
      showOnLanding: true
      iconURL: '/assets/acme.svg'
      preset:
        endpoint: 'openAI'
        model: 'gpt-4o'

group

KeyTypeDescriptionExample
groupStringNama grup opsional untuk mengatur Model Specs di pemilih UI. Mengontrol di mana spesifikasi muncul dalam hierarki menu.No default. Optional.
groupIconStringIkon opsional untuk grup kustom. Bisa berupa URL atau kunci endpoint bawaan (contoh: "openAI", "groq"). Hanya spec pertama dengan groupIcon di setiap grup yang akan digunakan.No default. Optional.

Deskripsi: Nama grup opsional untuk mengatur Model Specs di pemilih UI. Bidang group memberikan kontrol fleksibel atas bagaimana Model Specs diatur:

  • Jika group cocok dengan nama endpoint (contoh: "openAI", "groq"): Model spec akan muncul bersarang di bawah endpoint tersebut dalam menu pemilih.
  • Jika group adalah nama kustom (tidak cocok dengan endpoint mana pun): Membuat bagian yang dapat diciutkan terpisah dengan nama tersebut. Anda dapat secara opsional menggunakan groupIcon untuk mengatur ikon kustom bagi bagian ini (URL atau kunci bawaan seperti "openAI")
  • Jika group dihilangkan: Model spec akan muncul sebagai item mandiri di tingkat teratas

Fitur ini sangat berguna ketika Anda ingin menambahkan deskripsi ke model tanpa menghilangkan struktur organisasi menu pemilih.


hideBadgeRow

KeyTypeDescriptionExample
hideBadgeRowBooleanMenyembunyikan baris lencana alat untuk Model Specs ini di penyusun obrolan.hideBadgeRow: true

Default: false

Gunakan ini jika spesifikasi model yang telah dikurasi tidak perlu menampilkan baris lencana alat/kapabilitas di bawah komposer.

Contoh:

modelSpecs:
  list:
    - name: 'general-assistant'
      label: 'General Assistant'
      hideBadgeRow: true
      preset:
        endpoint: 'openAI'
        model: 'gpt-4o-mini'

Contoh:

modelSpecs:
  list:
    # Example 1: Nested under an endpoint
    # When group matches an endpoint name, the spec appears under that endpoint
    - name: 'gpt-4o-optimized'
      label: 'GPT-4 Optimized'
      description: 'Most capable GPT-4 model with multimodal support'
      group: 'openAI' # Appears nested under the OpenAI endpoint
      preset:
        endpoint: 'openAI'
        model: 'gpt-4o'

    # Example 2: Custom group section with icon
    # When group is a custom name, it creates a separate collapsible section
    - name: 'coding-assistant'
      label: 'Coding Assistant'
      description: 'Specialized for coding tasks'
      group: 'My Assistants'
      groupIcon: 'https://example.com/icons/assistants.png' # Custom icon for the group
      preset:
        endpoint: 'openAI'
        model: 'gpt-4o'

    # Multiple specs with the same group name are grouped together
    - name: 'writing-assistant'
      label: 'Writing Assistant'
      description: 'Specialized for creative writing'
      group: 'My Assistants' # Grouped with coding-assistant, uses its icon
      preset:
        endpoint: 'anthropic'
        model: 'claude-sonnet-4'

    # Example 3: Custom group using built-in icon
    - name: 'fast-model'
      label: 'Fast Model'
      group: 'Fast Models'
      groupIcon: 'groq' # Uses built-in Groq icon
      preset:
        endpoint: 'groq'
        model: 'llama3-8b-8192'

    # Example 4: Standalone (no group)
    # When group is omitted, the spec appears at the top level
    - name: 'general-assistant'
      label: 'General Assistant'
      description: 'General purpose assistant'
      # No group field - appears as standalone item at top level
      preset:
        endpoint: 'openAI'
        model: 'gpt-4o-mini'

showIconInMenu

KeyTypeDescriptionExample
showIconInMenuBooleanMengontrol apakah ikon model muncul di menu tarik-turun header.

Deskripsi:
Mengontrol apakah ikon model muncul di menu tarik-turun header. Default-nya adalah true.


showIconInHeader

KeyTypeDescriptionExample
showIconInHeaderBooleanMengontrol apakah ikon model muncul di tombol dropdown header, di sebelah kiri namanya.

Deskripsi:
Mengontrol apakah ikon model muncul di tombol dropdown header, di sebelah kiri namanya. Default-nya adalah true.


authType

KeyTypeDescriptionExample
authTypeStringTipe autentikasi yang diperlukan untuk Model Specs.Optional. Possible values: "override_auth", "user_provided", "system_defined"

Deskripsi:
Tipe autentikasi yang diperlukan untuk Model Specs. Menentukan apakah autentikasi diganti (overridden), disediakan oleh pengguna, atau ditentukan oleh sistem.


webSearch

KeyTypeDescriptionExample
webSearchBooleanMengaktifkan kemampuan pencarian web untuk Model Specs ini.When true, the model can perform web searches.

Deskripsi:
Mengaktifkan kemampuan pencarian web untuk spesifikasi model ini. Jika diatur ke true, model dapat melakukan pencarian web untuk mengambil informasi terkini.

Contoh:

modelSpecs:
  list:
    - name: 'research-assistant'
      label: 'Research Assistant'
      webSearch: true
      preset:
        endpoint: 'openAI'
        model: 'gpt-4o'

fileSearch

KeyTypeDescriptionExample
fileSearchBooleanMengaktifkan kemampuan pencarian file untuk Model Specs ini.When true, the model can search through uploaded files.

Deskripsi:
Mengaktifkan kemampuan pencarian file untuk Model Specs ini. Jika diatur ke true, model dapat mencari dan merujuk pada file yang diunggah.

Contoh:

modelSpecs:
  list:
    - name: 'document-analyst'
      label: 'Document Analyst'
      fileSearch: true
      preset:
        endpoint: 'openAI'
        model: 'gpt-4o'

executeCode

KeyTypeDescriptionExample
executeCodeBooleanMengaktifkan kemampuan eksekusi kode untuk Model Specs ini.When true, the model can execute code.

Deskripsi:
Mengaktifkan kemampuan eksekusi kode untuk Model Specs ini. Jika diatur ke true, model dapat mengeksekusi kode di lingkungan yang terisolasi (sandboxed).

Contoh:

modelSpecs:
  list:
    - name: 'code-assistant'
      label: 'Code Assistant'
      executeCode: true
      preset:
        endpoint: 'openAI'
        model: 'gpt-4o'

mcpServers

KeyTypeDescriptionExample
mcpServersArray of StringsDaftar nama server Model Context Protocol (MCP) yang akan diaktifkan untuk spesifikasi model ini.Each string should match a configured MCP server name.

Deskripsi:
Daftar nama server Model Context Protocol (MCP) yang akan diaktifkan untuk spesifikasi model ini. Server MCP memperluas kemampuan model dengan alat dan sumber daya kustom.

Contoh:

modelSpecs:
  list:
    - name: 'enhanced-assistant'
      label: 'Enhanced Assistant'
      mcpServers:
        - 'filesystem'
        - 'sequential-thinking'
        - 'fetch'
      preset:
        endpoint: 'openAI'
        model: 'gpt-4o'

skills

KeyTypeDescriptionExample
skillsBoolean or Array of StringsMengontrol Skill untuk spesifikasi model ini. Gunakan true untuk katalog yang dapat diakses dan aktif bagi pengguna, false untuk menonaktifkan Skill secara paksa, atau array nama Skill sebagai daftar izin yang ketat.skills: ["brand-guidelines", "code-review"]

Deskripsi:

Mengontrol Skills untuk spesifikasi model ini saat kapabilitas Skills endpoint Agents tersedia.

  • true: mengaktifkan katalog Skill yang dapat diakses oleh pengguna yang aktif.
  • false: menonaktifkan Skills untuk spec ini.
  • Array nama Skill: mempersempit katalog, pemanggilan manual, dan resolusi always-apply ke Skill yang disebutkan.

Contoh:

modelSpecs:
  list:
    - name: 'brand-assistant'
      label: 'Brand Assistant'
      skills:
        - 'brand-guidelines'
        - 'approved-claims'
      preset:
        endpoint: 'agents'
        model: 'gpt-4o'

subagents

KeyTypeDescriptionExample
subagents.enabledBooleanMengaktifkan kemampuan Subagents untuk agen efemeral yang dibuat dari Model Specs ini.enabled: true
subagents.allowSelfBooleanMemungkinkan agen ephemeral untuk membuat salinan terisolasi dari dirinya sendiri untuk pekerjaan yang terfokus.allowSelf: true
subagents.agent_idsArray of StringsDaftar izinkan sisi server privat untuk ID agen tambahan yang dapat dibuat oleh spesifikasi model ini.agent_ids: []

Deskripsi:

Mengontrol Subagent untuk agen efemeral yang dibuat dari Model Specs ini. Gunakan ini saat Anda ingin Model Specs yang dikurasi untuk mengekspos perilaku delegasi tanpa mengharuskan pengguna membuat atau memilih agen induk yang persisten.

  • enabled: menambahkan alat spawn subagent untuk Model Specs ini.
  • allowSelf: memungkinkan agen efemeral untuk membuat salinan terisolasi yang baru dari dirinya sendiri.
  • agent_ids: memungkinkan agen persisten tertentu sebagai subagen tambahan. Daftar ini dibatasi oleh MAX_SUBAGENTS dan tetap berada di sisi server; konfigurasi startup yang dikirim ke klien hanya menyertakan flag enabled dan allowSelf publik.

Saat Model Specs diberlakukan, pengaturan subagents pada Model Specs bersifat otoritatif terhadap nilai payload permintaan.

Contoh:

modelSpecs:
  list:
    - name: 'research-assistant'
      label: 'Research Assistant'
      subagents:
        enabled: true
        allowSelf: true
        agent_ids: []
      preset:
        endpoint: 'agents'
        model: 'gpt-4o'

artifacts

KeyTypeDescriptionExample
artifactsString | BooleanMengaktifkan kapabilitas Artifacts untuk model spec ini dan secara opsional mengatur mode artifact.Set to `true` to enable with the default mode, `false` or omit to disable, or a specific mode string (e.g., `"default"`) to enable with that mode.

Deskripsi:
Mengaktifkan kapabilitas Artifacts untuk Model Specs ini, yang memungkinkan model untuk membuat dan menampilkan artefak interaktif seperti komponen React, HTML, dan diagram Mermaid. Jika diatur ke true, mode artefak default akan digunakan. Anda juga dapat menentukan string mode secara langsung.

Contoh:

modelSpecs:
  list:
    - name: 'artifact-assistant'
      label: 'Artifact Assistant'
      artifacts: true
      preset:
        endpoint: 'openAI'
        model: 'gpt-4o'

preset

KeyTypeDescriptionExample
presetObjectKonfigurasi preset mendetail yang menentukan perilaku dan kapabilitas model.See "Preset Object Structure" below.

Deskripsi:
Konfigurasi preset mendetail yang menentukan perilaku dan kapabilitas model (lihat Struktur Objek Preset di bawah).


Bidang Preset

Bidang preset untuk item modelSpecs.list terdiri dari cetak biru konfigurasi komprehensif untuk model AI di dalam sistem. Bidang ini dirancang untuk menentukan pengaturan operasional model AI, menyesuaikan perilaku, output, serta interaksinya dengan komponen sistem dan endpoint lainnya.

Opsi Sistem

endpoint

Wajib

Nilai yang Diterima:

  • openAI
  • azureOpenAI
  • google
  • anthropic
  • assistants
  • azureAssistants
  • bedrock
  • agents

Catatan: Jika Anda menggunakan endpoint kustom, nilai endpoint harus sama persis dengan nama endpoint kustom yang telah ditentukan.

KeyTypeDescriptionExample
endpointEnum (EModelEndpoint) or String (nullable)Menentukan endpoint yang digunakan model untuk berkomunikasi guna menjalankan operasi. Pengaturan ini menentukan layanan eksternal atau internal yang dihubungkan oleh model.

Contoh:

preset:
  endpoint: 'openAI'

modelLabel

KeyTypeDescriptionExample
modelLabelString (nullable)Label yang digunakan untuk mengidentifikasi model di antarmuka pengguna atau log. Label ini menyediakan nama yang mudah dibaca manusia untuk model tersebut, yang ditampilkan di UI, serta diketahui oleh AI.None

Default: None

Contoh:

preset:
  modelLabel: 'Customer Support Bot'

greeting

KeyTypeDescriptionExample
greetingStringPesan yang telah ditentukan sebelumnya yang terlihat di UI sebelum obrolan baru dimulai. Ini adalah cara yang baik untuk memberikan instruksi kepada pengguna, atau untuk membuat antarmuka tampak lebih ramah dan mudah diakses.

Default: None

Contoh:

preset:
  greeting: 'This assistant creates meeting notes based on transcripts of Teams recordings. To start, simply paste the transcript into the chat box.'

promptPrefix

KeyTypeDescriptionExample
promptPrefixString (nullable)Teks statis yang ditambahkan di awal setiap prompt yang dikirim ke model, untuk menetapkan konteks yang konsisten bagi respons.When using "assistants" as the endpoint, this becomes the OpenAI field `additional_instructions`.

Default: None

Contoh 1:

preset:
  promptPrefix: 'As a financial advisor, ...'

Contoh 2:

preset:
  promptPrefix: |
    Based on the transcript, create coherent meeting minutes for a business meeting. Include the following sections:
    - Date and Attendees
    - Agenda
    - Minutes
    - Action Items

    Focus on what items were discussed and/or resolved. List any open action items.
    The format should be a bulleted list of high level topics in chronological order, and then one or more concise sentences explaining the details.
    Each high level topic should have at least two sub topics listed, but add as many as necessary to support the high level topic. 

    - Do not start items with the same opening words.

    Take a deep breath and be sure to think step by step.

resendFiles

KeyTypeDescriptionExample
resendFilesBooleanMenunjukkan apakah file harus dikirim ulang dalam skenario di mana sesi persisten tidak dipertahankan.

Default: true

Contoh:

preset:
  resendFiles: true

imageDetail

Nilai yang Diterima:

  • rendah
  • otomatis
  • tinggi
KeyTypeDescriptionExample
imageDetailEnum (eImageDetailSchema)Menentukan tingkat detail yang diperlukan dalam tugas analisis gambar, berlaku untuk model dengan kemampuan visi (spesifikasi OpenAI).

Default: "auto"

Contoh:

preset:
  imageDetail: 'high'

maxContextTokens

KeyTypeDescriptionExample
maxContextTokensNumberJumlah maksimum token konteks yang akan diberikan kepada model.Useful if you want to limit the maximum context for this preset.

Contoh:

preset:
  maxContextTokens: 4096

Opsi Agen

Perhatikan bahwa opsi-opsi ini hanya berlaku saat menggunakan endpoint agents.

Anda harus mengecualikan opsi model apa pun dan mengikuti konfigurasi agen sebagaimana ditentukan dalam UI.

Pemfilteran Akses Agen (v0.8.0+)

Mulai dari v0.8.0, LibreChat menggunakan sistem izin berbasis ACL (Access Control List) untuk agen. Ketika Model Specs dikonfigurasi untuk menggunakan agen, setiap agen yang tidak memiliki akses bagi pengguna akan disaring secara otomatis, meskipun agen tersebut dikonfigurasi dalam Model Specs. Hal ini memastikan pengguna hanya melihat dan dapat menggunakan agen yang memiliki izin yang sesuai untuk mereka.

Untuk informasi lebih lanjut mengenai sistem izin ACL, lihat dokumentasi Agents.


agent_id

KeyTypeDescriptionExample
agent_idStringIdentifikasi asisten.

Contoh:

preset:
  agent_id: 'agent_someUniqueId'

Opsi Asisten

Perhatikan bahwa opsi-opsi ini hanya berlaku saat menggunakan endpoint assistants atau azureAssistants.

Mirip dengan Agents, Anda harus mengecualikan opsi model apa pun dan mengikuti konfigurasi asisten.


assistant_id

KeyTypeDescriptionExample
assistant_idStringIdentifikasi asisten.

Contoh:

preset:
  assistant_id: 'asst_someUniqueId'

instructions

Catatan: ini berbeda dari promptPrefix, karena ini menimpa instruksi asisten yang sudah ada untuk proses yang sedang berjalan.

Gunakan ini hanya jika Anda ingin menimpa instruksi inti asisten.

Gunakan promptPrefix untuk additional_instructions.

Informasi lebih lanjut:

KeyTypeDescriptionExample
instructionsStringMenimpa instruksi default asisten.

Contoh:

preset:
  instructions: 'Please handle customer queries regarding order status.'

append_current_datetime

Menambahkan tanggal dan waktu saat ini ke additional_instructions untuk setiap proses (run). Tidak menimpa promptPrefix, melainkan menambahkannya.

KeyTypeDescriptionExample
append_current_datetimeBooleanMenambahkan tanggal dan waktu saat ini ke `additional_instructions` sebagaimana ditentukan oleh `promptPrefix`

Contoh:

preset:
  append_current_datetime: true

Opsi Model

Catatan: Setiap parameter di bawah ini menyertakan catatan mengenai endpoint mana yang mendukungnya.
OpenAI / AzureOpenAI / Custom biasanya mendukung temperature, presence_penalty, frequency_penalty, stop, top_p, max_tokens.
Google / Anthropic biasanya mendukung topP, topK, maxOutputTokens; Google juga mendukung url_context pada model teks Gemini yang didukung. Anthropic / OpenRouter / Bedrock (model Anthropic dan Nova) mendukung promptCache dan promptCacheTtl. Bedrock mendukung region, maxTokens, dan beberapa lainnya.

model

Didukung oleh: Semua endpoint (kecuali agents)

KeyTypeDescriptionExample
modelString (nullable)Nama model yang akan digunakan untuk preset, yang harus sesuai dengan model yang dikonfigurasi di bawah endpoint yang dipilih.None

Default: None

Contoh:

preset:
  model: 'gpt-4-turbo'

temperature

Didukung oleh: openAI, azureOpenAI, google (sebagai temperature), anthropic (sebagai temperature), dan kustom (seperti OpenAI)

KeyTypeDescriptionExample
temperatureNumberMengontrol seberapa deterministik atau “kreatif” respons model tersebut.

Contoh:

preset:
  temperature: 0.7

presence_penalty

Didukung oleh: openAI, azureOpenAI, custom (mirip OpenAI)
Biasanya tidak digunakan oleh Google/Anthropic/Bedrock

KeyTypeDescriptionExample
presence_penaltyNumberPenalti untuk token berulang, mendorong eksplorasi topik baru.

Contoh:

preset:
  presence_penalty: 0.3

frequency_penalty

Didukung oleh: openAI, azureOpenAI, custom (mirip OpenAI)
Biasanya tidak digunakan oleh Google/Anthropic/Bedrock

KeyTypeDescriptionExample
frequency_penaltyNumberPenalti untuk token berulang, mengurangi redundansi dalam respons.

Contoh:

preset:
  frequency_penalty: 0.5

stop

Didukung oleh: openAI, azureOpenAI, custom (mirip OpenAI)
Biasanya tidak digunakan oleh Google/Anthropic/Bedrock

KeyTypeDescriptionExample
stopArray of StringsToken henti untuk model, yang menginstruksikannya untuk mengakhiri respons jika ditemukan.

Contoh:

preset:
  stop:
    - 'END'
    - 'STOP'

top_p

Didukung oleh: openAI, azureOpenAI, custom (mirip OpenAI)
Google/Anthropic sering menggunakan topP (huruf “P” kapital) alih-alih top_p.

KeyTypeDescriptionExample
top_pNumberParameter nucleus sampling (0-1), yang mengontrol keacakan token.

Contoh:

preset:
  top_p: 0.9

topP

Didukung oleh: google & anthropic
(tujuan serupa dengan top_p, namun dinamai berbeda di API tersebut)

KeyTypeDescriptionExample
topPNumberParameter nucleus sampling untuk endpoint Google/Anthropic.

Contoh:

preset:
  topP: 0.8

topK

Didukung oleh: google & anthropic
(batas k-sampling pada distribusi token berikutnya)

KeyTypeDescriptionExample
topKNumberMembatasi pemilihan token berikutnya ke K token teratas.

Contoh:

preset:
  topK: 40

max_tokens

Didukung oleh: openAI, azureOpenAI, custom (mirip OpenAI)
Untuk Google/Anthropic, gunakan maxOutputTokens atau maxTokens (tergantung pada endpoint).

KeyTypeDescriptionExample
max_tokensNumberJumlah maksimum token dalam respons model.

Contoh:

preset:
  max_tokens: 4096

maxOutputTokens

Didukung oleh: google, anthropic
Setara dengan max_tokens untuk penyedia ini.

KeyTypeDescriptionExample
maxOutputTokensNumberJumlah maksimum token dalam respons (Google/Anthropic).

Contoh:

preset:
  maxOutputTokens: 2048

promptCache

Didukung oleh: anthropic, endpoint kustom OpenRouter, bedrock (model Anthropic dan Nova) (Alihkan penembolokan prompt penyedia)

KeyTypeDescriptionExample
promptCacheBooleanMengaktifkan atau menonaktifkan caching prompt penyedia.

Default: true

Contoh:

preset:
  promptCache: true

Catatan: Untuk endpoint Bedrock, prompt caching diaktifkan secara otomatis untuk model Claude dan Nova. Atur promptCache: false untuk menonaktifkannya secara eksplisit.


promptCacheTtl

Didukung oleh: anthropic, endpoint kustom OpenRouter, bedrock (model Anthropic dan Nova) (Mengatur masa pakai cache prompt saat caching prompt diaktifkan)

KeyTypeDescriptionExample
promptCacheTtlEnumMengatur masa berlaku prompt-cache. Nilai yang didukung adalah `5m` dan `1h`.Provider or SDK default

Nilai yang Diterima:

  • 5m
  • 1h

Contoh:

preset:
  promptCache: true
  promptCacheTtl: '1h'

Catatan: promptCacheTtl diabaikan saat prompt caching dinonaktifkan. Jika tidak disertakan, integrasi penyedia akan menggunakan masa berlaku prompt-cache default-nya.


reasoning_effort

Nilai yang Diterima:

  • "" (string kosong — tidak diatur, menggunakan default API)
  • "none"
  • "minimal"
  • "low"
  • "medium"
  • "high"
  • "xhigh" (sangat tinggi)

Didukung oleh: openAI, azureOpenAI, custom (mirip OpenAI), bedrock (model ZAI, MoonshotAI)

KeyTypeDescriptionExample
reasoning_effortStringMengontrol tingkat upaya penalaran untuk model. Mengurangi upaya penalaran dapat menghasilkan respons yang lebih cepat dan penggunaan token yang lebih sedikit untuk penalaran. Opsi `xhigh` memberikan kemampuan penalaran maksimum untuk masalah yang kompleks. Untuk Bedrock, nilai yang diterima adalah `low`, `medium`, `high`.

Default: "" (tidak diatur)

Contoh:

preset:
  reasoning_effort: 'low'

reasoning_summary

Nilai yang Diterima:

  • "" (string kosong — menonaktifkan ringkasan penalaran)
  • "auto"
  • "concise"
  • "detailed"

Didukung oleh: openAI, azureOpenAI, custom (OpenAI-like)

KeyTypeDescriptionExample
reasoning_summaryStringMengatur preferensi ringkasan penalaran untuk model.

Default: "" (dinonaktifkan)

Contoh:

preset:
  reasoning_summary: 'detailed'

useResponsesApi

Didukung oleh: openAI, azureOpenAI, custom (OpenAI-like)

KeyTypeDescriptionExample
useResponsesApiBooleanMengaktifkan atau menonaktifkan API respons untuk model tersebut.

Default: false

Contoh:

preset:
  useResponsesApi: true

verbosity

Nilai yang Diterima:

  • "" (string kosong — tidak diatur, menggunakan default API)
  • "low"
  • "medium"
  • "high"

Didukung oleh: openAI, azureOpenAI, custom (OpenAI-like)

KeyTypeDescriptionExample
verbosityStringMengontrol tingkat verbositas respons model.

Default: "" (tidak diatur)

Contoh:

preset:
  verbosity: 'low'

Didukung oleh: openAI, azureOpenAI, custom (OpenAI-like), google, anthropic

KeyTypeDescriptionExample
web_searchBooleanMengaktifkan atau menonaktifkan fungsionalitas pencarian web untuk model.

Default: false

Catatan: Untuk endpoint Google, parameter ini muncul sebagai Grounding with Google Search di panel sebenarnya, namun mengontrol web_search dalam implementasinya.

Contoh:

preset:
  web_search: true

url_context

Didukung oleh: google pada model teks Gemini yang didukung, termasuk Gemini 2.5+ dan Gemini 3.x

KeyTypeDescriptionExample
url_contextBooleanMengaktifkan Konteks URL Google agar model dapat membaca URL yang disertakan dalam pesan pengguna. Tautan YouTube akan dikonversi menjadi input pemahaman video asli jika memungkinkan.

Default: false

Contoh:

preset:
  url_context: true

disableStreaming

Didukung oleh: openAI, azureOpenAI, custom (OpenAI-like)

KeyTypeDescriptionExample
disableStreamingBooleanMenonaktifkan respons streaming dari model.

Default: false

Contoh:

preset:
  disableStreaming: true

thinkingBudget

Didukung oleh: google, anthropic, bedrock (model Anthropic)

KeyTypeDescriptionExample
thinkingBudgetNumber or StringMengontrol jumlah token berpikir yang dapat digunakan model untuk penalaran internal. Anggaran yang lebih besar dapat meningkatkan kualitas respons untuk masalah yang kompleks.

Default: "Auto (-1)" (Google), 2000 (Anthropic, Bedrock (Anthropic models))

Contoh:

preset:
  thinkingBudget: '2000'

thinkingLevel

Didukung oleh: google (model Gemini 3+)

KeyTypeDescriptionExample
thinkingLevelStringMengontrol tingkat upaya berpikir untuk model Gemini 3+. Model Gemini 2.5 menggunakan `thinkingBudget` sebagai gantinya.

Nilai yang Diterima:

  • "" (tidak diatur/otomatis)
  • "minimal"
  • "low"
  • "medium"
  • "high"

Default: "" (tidak diatur — model yang memutuskan)

Contoh:

preset:
  thinkingLevel: 'medium'

effort

Didukung oleh: anthropic, bedrock (model Anthropic)

KeyTypeDescriptionExample
effortStringMengontrol tingkat upaya Adaptive Thinking untuk model Anthropic yang didukung (misalnya, Claude Opus 4.6+ dan model kelas Claude Fable/Mythos). Tingkat upaya yang lebih tinggi mengalokasikan lebih banyak token pemikiran untuk masalah yang kompleks.

Opsi: "" (tidak diatur/otomatis), "low", "medium", "high", "xhigh", "max"

Default: "" (tidak diatur — model yang memutuskan)

Contoh:

preset:
  effort: 'high'

thinkingDisplay

Didukung oleh: anthropic, bedrock (model Anthropic)

KeyTypeDescriptionExample
thinkingDisplayStringMengontrol apakah konten penalaran dikembalikan dalam respons model. Model Claude Opus 4.7+ dan kelas Claude Fable/Mythos menghilangkan konten pemikiran secara default; pengaturan ini memungkinkan Anda untuk memilih ringkasan penalaran atau menekan konten tersebut secara eksplisit.

Opsi: "auto" (default), "summarized", "omitted"

  • "auto" — LibreChat memutuskan: memilih "summarized" untuk model yang secara default menghilangkan proses berpikir (Opus 4.7+ dan kelas Fable/Mythos), dan membiarkan kolom tersebut kosong untuk model yang lebih lama
  • "summarized" — selalu minta ringkasan post-hoc dari penalaran tersebut
  • "omitted" — selalu menekan konten penalaran (latensi sedikit lebih rendah)

Default: "auto"

Contoh:

preset:
  thinkingDisplay: 'summarized'

thinking

Didukung oleh: google, anthropic, bedrock (model Anthropic)

KeyTypeDescriptionExample
thinkingBooleanMenunjukkan apakah model harus meluangkan waktu untuk berpikir sebelum menghasilkan respons.

Default: true

Contoh:

preset:
  thinking: true

region

Didukung oleh: bedrock
(Digunakan untuk menentukan wilayah AWS untuk Amazon Bedrock)

KeyTypeDescriptionExample
regionStringWilayah AWS untuk endpoint Amazon Bedrock.

Contoh:

preset:
  region: 'us-east-1'

maxTokens

Didukung oleh: bedrock
(Digunakan sebagai pengganti max_tokens)

KeyTypeDescriptionExample
maxTokensNumberToken output maksimum untuk endpoint Amazon Bedrock.

Contoh:

preset:
  maxTokens: 1024

Bagaimana panduan ini?