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

Pengaturan Endpoint Bersama

Halaman ini menjelaskan pengaturan konfigurasi bersama untuk semua endpoint. Pengaturan yang disorot di sini tersedia untuk semua konfigurasi di bawah kolom "Endpoints" kecuali dinyatakan sebaliknya.

Contoh Konfigurasi

endpoints:
  # Individual endpoint configurations
  openAI:
    streamRate: 25
    titleModel: 'gpt-4o-mini'
    titleMethod: 'completion'
    titleTiming: 'immediate'
    titlePrompt: "Create a concise title for this conversation:\n\n{convo}"
    headers:
      X-Gateway-Metadata: '{"user_email":"{{LIBRECHAT_USER_EMAIL}}"}'

  azureOpenAI:
    streamRate: 35
    titleModel: 'grok-3'
    titleMethod: 'structured'
    titlePrompt: |
      Analyze this conversation and provide:
      1. A concise title in the detected language (5 words or less, no punctuation or quotation)
      2. Always provide a relevant emoji at the start of the title

      {convo}
    titleConvo: true

  anthropic:
    streamRate: 25
    titleModel: 'claude-3-5-haiku-20241022'
    titleMethod: 'completion'
    headers:
      X-Conversation-Id: '{{LIBRECHAT_BODY_CONVERSATIONID}}'

  bedrock:
    streamRate: 25
    titleModel: 'us.amazon.nova-lite-v1:0'
    titleEndpoint: 'anthropic'

  google:
    streamRate: 1
    titleModel: 'gemini-2.0-flash-lite'
    titlePromptTemplate: "Human: {input}\nAssistant: {output}"
    headers:
      X-Gateway-Metadata: '{"user_id":"{{LIBRECHAT_USER_ID}}"}'

  assistants:
    streamRate: 30

  azureAssistants:
    streamRate: 30

  # Global configuration using 'all' - this applies shared settings across endpoints.
  # Most defined values override endpoint defaults; headers are merged and endpoint values win on collisions.
  all:
    headers:
      X-App: 'librechat'
    titleConvo: true
    titleModel: 'gpt-4.1-nano'
    titleTiming: 'immediate'
    titlePrompt: |
      Analyze this conversation and provide:
      1. The detected language of the conversation
      2. A concise title in the detected language (5 words or less, no punctuation or quotation)
      3. Always provide a relevant emoji at the start of the title
      {convo}

Penting: Saat menggunakan konfigurasi all, sebagian besar properti bersama yang Anda tentukan akan berlaku di seluruh endpoint. Pada contoh di atas, konfigurasi all akan menerapkan titleConvo, titleModel, dan titlePrompt ke semua endpoint, sementara pengaturan streamRate individu akan tetap dipertahankan karena tidak didefinisikan dalam all. headers digabungkan secara terpisah: nilai dari endpoints.all.headers berlaku secara global, dan header tingkat endpoint akan diutamakan jika terjadi tabrakan kunci (key collisions).

streamRate

Kunci:

KeyTypeDescriptionExample
streamRateNumberKecepatan data dialirkan dari endpoint. Berguna untuk mengontrol laju streaming data.streamRate: 25

Default: 1

Memungkinkan streaming data pada kecepatan tercepat yang dimungkinkan sambil membiarkan sistem menunggu tick berikutnya

titleConvo

Kunci:

KeyTypeDescriptionExample
titleConvoBooleanMengaktifkan pembuatan judul percakapan otomatis untuk endpoint ini.titleConvo: true

Default: false

Catatan:

  • Saat diaktifkan, judul akan dibuat secara otomatis menggunakan pengaturan judul yang telah dikonfigurasi
  • Harus digunakan bersama dengan titleModel atau endpoint tersebut harus memiliki model default yang tersedia

Contoh:

titleConvo: true

titleTiming

Kunci:

KeyTypeDescriptionExample
titleTimingStringMengontrol kapan judul percakapan dibuat. Nilai yang valid: "immediate" atau "final".titleTiming: "immediate"

Default: "immediate"

Nilai yang Tersedia:

  • "immediate" - Menghasilkan judul segera setelah permintaan dimulai, secara paralel dengan respons model, menggunakan pesan pertama pengguna. Judul biasanya muncul dalam satu atau dua detik.
  • "final" - Menunda pembuatan judul hingga respons penuh selesai. Ini mempertahankan perilaku lama.

Contoh:

endpoints:
  all:
    titleTiming: 'immediate'

titleModel

Kunci:

KeyTypeDescriptionExample
titleModelStringMenentukan model yang digunakan untuk judul.Defaults to system default for the current endpoint if omitted. May cause issues if the system default model is not available. You can also dynamically use the current conversation model by setting it to "current_model".

Default: Default sistem untuk endpoint saat ini

titleMethod

Kunci:

KeyTypeDescriptionExample
titleMethodStringMengontrol metode yang digunakan untuk membuat judul percakapan.Valid values: "completion" (default), "structured", "functions" (legacy alias for "structured")

Default: "completion"

Metode yang Tersedia:

  • "completion" - Menggunakan API penyelesaian standar tanpa alat/fungsi. Kompatibel dengan sebagian besar LLM.
  • "structured" - Menggunakan output terstruktur untuk pembuatan judul. Memerlukan dukungan penyedia/model.
  • "functions" - Alias lama untuk "structured". Secara fungsional identik.

Contoh:

titleMethod: 'completion'

titlePrompt

Kunci:

KeyTypeDescriptionExample
titlePromptStringPrompt kustom untuk pembuatan judul. Harus menyertakan placeholder {convo}.Allows full control over how titles are generated.

Default:

Analyze this conversation and provide:
1. The detected language of the conversation
2. A concise title in the detected language (5 words or less, no punctuation or quotation)

{convo}

Catatan:

  • Harus selalu menyertakan placeholder {convo}
  • Placeholder {convo} akan digantikan dengan percakapan yang telah diformat
  • Dapat ditempatkan di mana saja dalam prompt

Contoh:

titlePrompt: "Create a brief, descriptive title for the following conversation:\n\n{convo}\n\nTitle:"

titlePromptTemplate

Kunci:

KeyTypeDescriptionExample
titlePromptTemplateStringTemplat untuk memformat konten percakapan yang menggantikan {convo} di titlePrompt.Must include {input} and {output} placeholders.

Default: "User: {input}\nAI: {output}"

Catatan:

  • Harus menyertakan placeholder {input} dan {output}
  • {input} digantikan dengan pesan awal pengguna
  • {output} diganti dengan respons AI
  • Hasil yang diformat menggantikan {convo} di dalam titlePrompt

Contoh:

titlePromptTemplate: "Human: {input}\n\nAssistant: {output}"

titleEndpoint

Kunci:

KeyTypeDescriptionExample
titleEndpointStringMenentukan endpoint alternatif yang digunakan untuk pembuatan judul.Allows using a different, potentially cheaper model/endpoint for titles.

Default: Menggunakan endpoint percakapan saat ini

Nilai yang Diterima:

  • openAI
  • azureOpenAI
  • google
  • anthropic
  • bedrock
  • Untuk endpoint kustom: gunakan nama endpoint kustom yang tepat

Contoh:

# Use Anthropic for titles even when chatting with OpenAI
endpoints:
  openAI:
    titleEndpoint: 'anthropic'
    # Will use anthropic's configuration for title generation

maxToolResultChars

Kunci:

KeyTypeDescriptionExample
maxToolResultCharsNumberMembatasi jumlah maksimum karakter dalam hasil pemanggilan tool yang dikirim ke model. Harus berupa angka positif.maxToolResultChars: 50000

Default: Tanpa batas

Catatan:

  • Membantu mencegah output alat yang terlalu besar agar tidak menghabiskan terlalu banyak token
  • Berlaku untuk semua hasil panggilan alat untuk endpoint tersebut

Contoh:

endpoints:
  all:
    maxToolResultChars: 50000

headers

Kunci:

KeyTypeDescriptionExample
headersObject/DictionaryHeader permintaan kustom diteruskan ke endpoint penyedia bawaan yang didukung.Useful for AI gateways and reverse proxies that consume metadata headers while LibreChat keeps provider-native request formatting.

Endpoint yang didukung: openAI, anthropic, google, dan all.

Contoh:

endpoints:
  all:
    headers:
      X-App: 'librechat'
  anthropic:
    headers:
      X-Conversation-Id: '{{LIBRECHAT_BODY_CONVERSATIONID}}'

Catatan:

  • Nilai mendukung ${ENV_VAR}, {{LIBRECHAT_USER_*}}, dan placeholder request-body seperti {{LIBRECHAT_BODY_CONVERSATIONID}}.
  • Header tingkat endpoint akan menimpa endpoints.all.headers jika terjadi tabrakan kunci.
  • Otentikasi yang dikelola penyedia dan header beta/protokol yang diperlukan tetap menjadi otoritas. Nilai beta Anthropic digabungkan sehingga flag beta kustom tidak menimpa flag penyedia yang diperlukan.
  • Header juga diteruskan untuk permintaan model-list penyedia yang didukung.
  • Gunakan header metadata di balik gateway atau reverse proxy yang mengonsumsinya. API penyedia asli biasanya mengabaikan header yang tidak dikenal.

Catatan:

  • Semua pengaturan yang ditampilkan di halaman ini dapat dikonfigurasi secara individual per endpoint atau secara global menggunakan kunci all
  • Saat menggunakan konfigurasi all, pengaturan tersebut akan menimpa pengaturan yang sesuai di SEMUA endpoint individual.
  • Kunci all tidak menerima baseURL
  • Pengaturan yang tidak didefinisikan dalam all akan mempertahankan nilai endpoint individunya masing-masing
  • Untuk streamRate: Nilai yang disarankan adalah antara 25-40 untuk pengalaman streaming yang lancar
  • Menggunakan tingkat stream yang lebih tinggi adalah suatu keharusan saat melayani aplikasi untuk banyak pengguna dalam skala besar

Contoh Perilaku Override:

endpoints:
  openAI:
    streamRate: 25 # This will be preserved
    titleModel: 'gpt-4' # This will be overridden
    titleConvo: false # This will be overridden

  all:
    titleConvo: true
    titleModel: 'gpt-3.5-turbo'
    # streamRate not defined here, so individual values are kept

Pengaturan endpoint

Bagaimana panduan ini?