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

Cấu trúc đối tượng Model Specs

Tổng quan

Đối tượng modelSpecs giúp bạn cung cấp trải nghiệm giao diện người dùng đơn giản hơn cho các mô hình AI trong ứng dụng của mình.

Có 3 trường chính trong modelSpecs:

  • enforce (tùy chọn; mặc định: false)
  • prioritize (tùy chọn; mặc định: true)
  • list (bắt buộc)
  • addedEndpoints (tùy chọn)

Ghi chú:

  • Nếu enforce được đặt thành true, các Model Specs có thể gây xung đột với các cài đặt giao diện khác như modelSelect, presetsparameters.
  • Mảng list chứa các cấu hình chi tiết cho từng model, bao gồm các cài đặt sẵn (presets) quy định các hành vi, giao diện và khả năng cụ thể.
  • Nếu các trường interface không được chỉ định trong cấu hình, việc có một danh sách Model Specs sẽ vô hiệu hóa các thành phần giao diện sau:
    • modelSelect
    • parameters
    • presets
  • Nếu bạn muốn bật các thành phần giao diện này cùng với Model Specs, bạn có thể đặt chúng thành true trong đối tượng interface.

Quản lý các khóa API do người dùng cung cấp với Model Specs

Khi Model Specs vô hiệu hóa modelSelect, menu thả xuống của endpoint — và biểu tượng bánh răng mở hộp thoại Set API Key — sẽ bị ẩn đi. Người dùng vẫn có thể thiết lập hoặc thay đổi khóa cho bất kỳ endpoint nào được cấu hình với apiKey: "user_provided" từ Settings → Data controls → API keys.

Danh sách đó được giới hạn trong các endpoint mà người dùng thực sự có thể truy cập: các endpoint được tham chiếu bởi model specs của bạn, cộng với bất kỳ addedEndpoints nào. Khi endpoint agents có thể truy cập được, nó cũng bao gồm các allowedProviders của agent (hoặc mọi nhà cung cấp đã được cấu hình khi allowedProviders không được thiết lập).

Ví dụ

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.

Các trường cấp cao nhất

enforce

KeyTypeDescriptionExample
enforceBooleanXác định xem Model Specs có nên ghi đè nghiêm ngặt lên các cài đặt cấu hình khác hay không.Setting this to `true` can lead to conflicts with interface options if not managed carefully.

Mặc định: false

Ví dụ:

modelSpecs:
  enforce: true

prioritize

KeyTypeDescriptionExample
prioritizeBooleanChỉ định liệu Model Specs có nên được ưu tiên hơn cấu hình mặc định khi cả hai đều có thể áp dụng hay không.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.

Mặc định: true

Ví dụ:

modelSpecs:
  prioritize: false

addedEndpoints

KeyTypeDescriptionExample
addedEndpointsArray of StringsCho phép các endpoint cụ thể (ví dụ: "openAI", "google") có thể được chọn trong giao diện người dùng cùng với các Model Specs đã xác định.Requires `interface.modelSelect` to be `true`. If this field is used and `interface.modelSelect` is not explicitly set, `modelSelect` will default to `true`.

Mặc định: [] (danh sách trống)

Lưu ý: Phải là một trong những giá trị sau:

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

Ví dụ:

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

list

Bắt buộc

KeyTypeDescriptionExample
listArray of ObjectsChứa danh sách các thông số kỹ thuật của từng model riêng lẻ, trình bày chi tiết các cấu hình và hành vi khác nhau.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 (Mục danh sách)

Trong mỗi Model Spec, hoặc mỗi mục trong list, bạn có thể cấu hình các trường sau:


name

KeyTypeDescriptionExample
nameStringĐịnh danh duy nhất cho model.No default. Must be specified.

Mô tả: Định danh duy nhất cho model.


label

KeyTypeDescriptionExample
labelStringMột tên hoặc nhãn thân thiện với người dùng cho model, được hiển thị trong menu thả xuống ở tiêu đề.No default. Optional.

Mô tả: Một tên hoặc nhãn thân thiện với người dùng cho model, được hiển thị trong menu thả xuống ở phần tiêu đề.


default

KeyTypeDescriptionExample
defaultBooleanChỉ định liệu Model Specs này có phải là lựa chọn mặc định hay không, để được tự động chọn trong mỗi cuộc trò chuyện mới.

Mô tả:
Chỉ định xem Model Specs này có phải là lựa chọn mặc định hay không, để được tự động chọn trong mỗi cuộc trò chuyện mới.


softDefault

KeyTypeDescriptionExample
softDefaultBooleanChỉ định liệu Model Specs này có nên được chọn chỉ dành cho người dùng mới, những người chưa từng chọn model, Model Specs hoặc agent nào trước đó hay không.

Mô tả:

Chỉ định giá trị mặc định cho lần chạy đầu tiên mà không ghi đè lên các lựa chọn sau này của người dùng. Sử dụng softDefault khi bạn muốn hướng người dùng mới đến một Model Specs được chọn lọc kỹ lưỡng, đồng thời vẫn bảo toàn quyền lựa chọn của người dùng sau khi họ đã chọn một model, spec hoặc agent khác.

Việc xem một cuộc trò chuyện cũ sử dụng một spec mặc định mềm (soft-default) sẽ không kích hoạt lại spec đó làm mặc định cho người dùng sau khi họ đã thực hiện một lựa chọn khác.

Ví dụ:

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

iconURL

KeyTypeDescriptionExample
iconURLStringURL hoặc tên endpoint được xác định trước cho biểu tượng của mô hình trong bộ chọn, tiêu đề và thương hiệu cuộc trò chuyện.No default. Optional.

Mô tả:
URL hoặc tên endpoint được xác định trước cho biểu tượng của model trong bộ chọn, tiêu đề và thương hiệu cuộc trò chuyện. Sử dụng showIconInMenushowIconInHeader để kiểm soát vị trí hiển thị biểu tượng.


description

KeyTypeDescriptionExample
descriptionStringMô tả ngắn gọn về model và mục đích sử dụng hoặc vai trò dự kiến của nó, được hiển thị trong bộ chọn model và tùy chọn trên trang đích của cuộc trò chuyện.No default. Optional.

Description: Một mô tả ngắn gọn về model và mục đích sử dụng hoặc vai trò của nó, được hiển thị trong bộ chọn model. Nếu showOnLanding được đặt là true, mô tả tương tự cũng sẽ được hiển thị trên trang đích của cuộc trò chuyện bên dưới nhãn spec.

Các mô tả văn bản thuần túy sẽ hiển thị dưới dạng văn bản. Các mô tả bắt đầu bằng < sẽ được hiển thị thông qua bộ lọc HTML của cấu hình, cho phép sử dụng các thẻ đánh dấu nội tuyến an toàn và phương tiện như các biểu tượng nhỏ.


conversation_starters

KeyTypeDescriptionExample
conversation_startersArray of StringsCác gợi ý bắt đầu được hiển thị dưới dạng thẻ có thể nhấp trên trang đích trò chuyện khi Model Specs này được chọn.No default. Optional.

Mô tả: Conversation starters cung cấp cho người dùng các gợi ý đầu tiên được tuyển chọn cho một Model Specs. Chúng được hiển thị trên trang đích của cuộc trò chuyện trống đối với spec đã chọn và đặc biệt hữu ích với tính năng branding showOnLanding. Việc nhấp vào một gợi ý sẽ gửi nó dưới dạng tin nhắn đầu tiên của một cuộc trò chuyện mới.

  • Tối đa 4 gợi ý bắt đầu (starters) được hiển thị, khớp với giới hạn của agent/assistant.
  • Nếu preset của spec trỏ đến một agent hoặc assistant có định nghĩa các câu gợi ý bắt đầu cuộc trò chuyện riêng, thì các câu đó sẽ được ưu tiên.

Ví dụ:

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
showOnLandingBooleanHiển thị nhãn và mô tả của Model Specs này trên trang đích trò chuyện thay cho lời chào mặc định.showOnLanding: true

Mặc định: false

Sử dụng tùy chọn này khi một Model Specs được chọn lọc cần hiển thị thương hiệu trên màn hình trò chuyện trống đầu tiên. Các Model Specs hiện có sẽ không thay đổi trừ khi showOnLanding được đặt thành true.

Ví dụ:

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
groupStringTên nhóm tùy chọn để sắp xếp Model Specs trong bộ chọn giao diện người dùng. Kiểm soát vị trí hiển thị của spec trong phân cấp menu.No default. Optional.
groupIconStringBiểu tượng tùy chọn cho các nhóm tùy chỉnh. Có thể là một URL hoặc khóa endpoint tích hợp (ví dụ: "openAI", "groq"). Chỉ spec đầu tiên có groupIcon trong mỗi nhóm được sử dụng.No default. Optional.

Mô tả: Tên nhóm tùy chọn để sắp xếp các Model Specs trong bộ chọn giao diện người dùng. Trường group cung cấp khả năng kiểm soát linh hoạt cách sắp xếp các Model Specs:

  • Nếu group khớp với tên một endpoint (ví dụ: "openAI", "groq"): Model spec sẽ xuất hiện dưới dạng lồng trong endpoint đó tại menu chọn.
  • Nếu group là một tên tùy chỉnh (không khớp với bất kỳ endpoint nào): Tạo một phần có thể thu gọn riêng biệt với tên đó. Bạn có thể tùy chọn sử dụng groupIcon để đặt biểu tượng tùy chỉnh cho phần này (URL hoặc khóa tích hợp sẵn như "openAI")
  • Nếu group bị bỏ qua: Model Specs sẽ xuất hiện dưới dạng một mục độc lập ở cấp cao nhất

Tính năng này đặc biệt hữu ích khi bạn muốn thêm mô tả vào các model mà không làm mất đi cấu trúc tổ chức của menu lựa chọn.


hideBadgeRow

KeyTypeDescriptionExample
hideBadgeRowBooleanẨn hàng huy hiệu công cụ cho Model Specs này trong trình soạn thảo trò chuyện.hideBadgeRow: true

Mặc định: false

Sử dụng tùy chọn này khi một Model Specs được chọn lọc không nên hiển thị hàng các huy hiệu công cụ/tính năng bên dưới trình soạn thảo.

Ví dụ:

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

Ví dụ:

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
showIconInMenuBooleanKiểm soát việc biểu tượng của model có xuất hiện trong menu thả xuống trên tiêu đề hay không.

Mô tả:
Kiểm soát việc biểu tượng của model có xuất hiện trong menu thả xuống ở phần tiêu đề hay không. Mặc định là true.


showIconInHeader

KeyTypeDescriptionExample
showIconInHeaderBooleanKiểm soát việc biểu tượng của model có xuất hiện trong nút thả xuống ở tiêu đề, bên trái tên của nó hay không.

Mô tả:
Kiểm soát việc biểu tượng của model có xuất hiện trong nút thả xuống ở tiêu đề, bên trái tên của nó hay không. Mặc định là true.


authType

KeyTypeDescriptionExample
authTypeStringLoại xác thực bắt buộc cho Model Specs.Optional. Possible values: "override_auth", "user_provided", "system_defined"

Mô tả:
Loại xác thực bắt buộc cho Model Specs. Xác định xem xác thực có bị ghi đè, do người dùng cung cấp hay do hệ thống xác định hay không.


webSearch

KeyTypeDescriptionExample
webSearchBooleanBật khả năng tìm kiếm web cho Model Specs này.When true, the model can perform web searches.

Mô tả:
Cho phép khả năng tìm kiếm web cho Model Specs này. Khi được đặt thành true, mô hình có thể thực hiện tìm kiếm trên web để truy xuất thông tin hiện tại.

Ví dụ:

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

fileSearch

KeyTypeDescriptionExample
fileSearchBooleanBật tính năng tìm kiếm tệp cho Model Specs này.When true, the model can search through uploaded files.

Mô tả:
Cho phép khả năng tìm kiếm tệp cho Model Specs này. Khi được đặt thành true, mô hình có thể tìm kiếm và tham chiếu các tệp đã tải lên.

Ví dụ:

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

executeCode

KeyTypeDescriptionExample
executeCodeBooleanCho phép khả năng thực thi mã cho Model Specs này.When true, the model can execute code.

Mô tả:
Cho phép khả năng thực thi mã cho Model Specs này. Khi được đặt thành true, mô hình có thể thực thi mã trong một môi trường sandbox.

Ví dụ:

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

mcpServers

KeyTypeDescriptionExample
mcpServersArray of StringsDanh sách các tên máy chủ Model Context Protocol (MCP) cần kích hoạt cho đặc tả mô hình này.Each string should match a configured MCP server name.

Mô tả:
Danh sách các tên máy chủ Model Context Protocol (MCP) cần kích hoạt cho Model Specs này. Các máy chủ MCP mở rộng khả năng của mô hình bằng các công cụ và tài nguyên tùy chỉnh.

Ví dụ:

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 StringsKiểm soát các Skill cho Model Specs này. Sử dụng true cho danh mục có thể truy cập đang hoạt động của người dùng, false để buộc tắt các Skill, hoặc một mảng tên Skill làm danh sách cho phép nghiêm ngặt.skills: ["brand-guidelines", "code-review"]

Mô tả:

Kiểm soát các Kỹ năng (Skills) cho model spec này khi tính năng Kỹ năng của endpoint Agents khả dụng.

  • true: kích hoạt danh mục Kỹ năng (Skill) khả dụng đang hoạt động của người dùng.
  • false: vô hiệu hóa Skills cho spec này.
  • Mảng các tên Skill: thu hẹp danh mục, gọi thủ công và độ phân giải luôn áp dụng cho các Skill được đặt tên.

Ví dụ:

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

subagents

KeyTypeDescriptionExample
subagents.enabledBooleanKích hoạt tính năng Subagents cho các tác nhân tạm thời được tạo từ Model Specs này.enabled: true
subagents.allowSelfBooleanCho phép tác nhân tạm thời tạo ra một bản sao cô lập của chính nó để thực hiện công việc chuyên biệt.allowSelf: true
subagents.agent_idsArray of StringsDanh sách cho phép phía máy chủ riêng cho các ID tác nhân bổ sung mà Model Specs này có thể tạo ra.agent_ids: []

Mô tả:

Kiểm soát các Subagents cho các tác nhân tạm thời được tạo từ Model Specs này. Hãy sử dụng tính năng này khi bạn muốn một Model Specs được tinh chỉnh để hiển thị hành vi ủy quyền mà không yêu cầu người dùng phải tạo hoặc chọn một tác nhân cha cố định.

  • enabled: thêm công cụ tạo subagent cho Model Specs này.
  • allowSelf: cho phép tác nhân tạm thời tạo ra một bản sao cô lập mới của chính nó.
  • agent_ids: cho phép các agent đã lưu cụ thể đóng vai trò là các subagent bổ sung. Danh sách này bị giới hạn bởi MAX_SUBAGENTS và vẫn nằm ở phía máy chủ; cấu hình khởi động được gửi đến máy khách chỉ bao gồm các cờ enabledallowSelf công khai.

Khi Model Specs được thực thi, các cài đặt subagents của Model Specs sẽ có quyền ưu tiên cao hơn so với các giá trị trong payload của yêu cầu.

Ví dụ:

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

artifacts

KeyTypeDescriptionExample
artifactsString | BooleanBật tính năng Artifacts cho model spec này và tùy chọn thiết lập chế độ 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.

Mô tả:
Bật tính năng Artifacts cho Model Specs này, cho phép mô hình tạo và hiển thị các artifact tương tác như thành phần React, HTML và sơ đồ Mermaid. Khi được đặt thành true, chế độ artifact mặc định sẽ được sử dụng. Bạn cũng có thể chỉ định trực tiếp một chuỗi chế độ.

Ví dụ:

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

preset

KeyTypeDescriptionExample
presetObjectCác cấu hình cài đặt sẵn chi tiết giúp xác định hành vi và khả năng của model.See "Preset Object Structure" below.

Mô tả:
Các cấu hình cài đặt sẵn chi tiết xác định hành vi và khả năng của model (xem Cấu trúc Đối tượng Preset bên dưới).


Các trường Preset

Trường preset cho một mục trong modelSpecs.list được tạo thành từ một bản thiết kế cấu hình toàn diện cho các mô hình AI trong hệ thống. Nó được thiết kế để chỉ định các cài đặt vận hành của các mô hình AI, tùy chỉnh hành vi, đầu ra và sự tương tác của chúng với các thành phần hệ thống và endpoint khác.

Các tùy chọn hệ thống

endpoint

Bắt buộc

Các giá trị được chấp nhận:

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

Lưu ý: Nếu bạn đang sử dụng một endpoint tùy chỉnh, giá trị endpoint phải khớp chính xác với tên endpoint tùy chỉnh đã được định nghĩa.

KeyTypeDescriptionExample
endpointEnum (EModelEndpoint) or String (nullable)Chỉ định endpoint mà model giao tiếp để thực thi các thao tác. Cài đặt này xác định dịch vụ bên ngoài hoặc bên trong mà model tương tác.

Ví dụ:

preset:
  endpoint: 'openAI'

modelLabel

KeyTypeDescriptionExample
modelLabelString (nullable)Nhãn được sử dụng để xác định model trong giao diện người dùng hoặc nhật ký. Nó cung cấp một tên dễ đọc cho model, được hiển thị trong UI, cũng như giúp AI nhận biết được tên này.None

Mặc định: None

Ví dụ:

preset:
  modelLabel: 'Customer Support Bot'

greeting

KeyTypeDescriptionExample
greetingStringMột tin nhắn được xác định trước hiển thị trong giao diện người dùng trước khi bắt đầu cuộc trò chuyện mới. Đây là cách hiệu quả để cung cấp hướng dẫn cho người dùng hoặc giúp giao diện trở nên thân thiện và dễ tiếp cận hơn.

Mặc định: None

Ví dụ:

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)Một văn bản tĩnh được thêm vào trước mọi câu lệnh gửi đến mô hình, giúp thiết lập ngữ cảnh nhất quán cho các phản hồi.When using "assistants" as the endpoint, this becomes the OpenAI field `additional_instructions`.

Mặc định: None

Ví dụ 1:

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

Ví dụ 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
resendFilesBooleanCho biết liệu các tệp có nên được gửi lại trong các trường hợp không duy trì phiên làm việc liên tục hay không.

Mặc định: true

Ví dụ:

preset:
  resendFiles: true

imageDetail

Các giá trị được chấp nhận:

  • thấp
  • tự động
  • cao
KeyTypeDescriptionExample
imageDetailEnum (eImageDetailSchema)Chỉ định mức độ chi tiết cần thiết trong các tác vụ phân tích hình ảnh, áp dụng cho các mô hình có khả năng thị giác (theo đặc tả của OpenAI).

Mặc định: "auto"

Ví dụ:

preset:
  imageDetail: 'high'

maxContextTokens

KeyTypeDescriptionExample
maxContextTokensNumberSố lượng token ngữ cảnh tối đa để cung cấp cho model.Useful if you want to limit the maximum context for this preset.

Ví dụ:

preset:
  maxContextTokens: 4096

Tùy chọn Agent

Lưu ý rằng các tùy chọn này chỉ áp dụng khi sử dụng endpoint agents.

Bạn nên loại trừ mọi tùy chọn mô hình và ưu tiên cấu hình của tác nhân (agent) như đã được xác định trong giao diện người dùng (UI).

Lọc quyền truy cập Agent (v0.8.0+)

Kể từ phiên bản v0.8.0, LibreChat sử dụng hệ thống phân quyền dựa trên ACL (Access Control List) cho các agent. Khi Model Specs được cấu hình để sử dụng agent, bất kỳ agent nào mà người dùng không có quyền truy cập sẽ tự động bị lọc bỏ, ngay cả khi chúng đã được cấu hình trong Model Specs. Điều này đảm bảo người dùng chỉ nhìn thấy và có thể sử dụng các agent mà họ có quyền truy cập phù hợp.

Để biết thêm thông tin về hệ thống quyền ACL, hãy xem tài liệu về Agents.


agent_id

KeyTypeDescriptionExample
agent_idStringNhận dạng một trợ lý.

Ví dụ:

preset:
  agent_id: 'agent_someUniqueId'

Tùy chọn Trợ lý

Lưu ý rằng các tùy chọn này chỉ áp dụng khi sử dụng endpoint assistants hoặc azureAssistants.

Tương tự như Agents, bạn nên loại trừ mọi tùy chọn model và ưu tiên cấu hình của trợ lý.


assistant_id

KeyTypeDescriptionExample
assistant_idStringNhận dạng một trợ lý.

Ví dụ:

preset:
  assistant_id: 'asst_someUniqueId'

instructions

Lưu ý: điều này khác với promptPrefix, vì nó ghi đè các hướng dẫn trợ lý hiện có cho các lần chạy hiện tại.

Chỉ sử dụng tùy chọn này nếu bạn muốn ghi đè các hướng dẫn cốt lõi của trợ lý.

Sử dụng promptPrefix cho additional_instructions.

Thông tin thêm:

KeyTypeDescriptionExample
instructionsStringGhi đè các hướng dẫn mặc định của trợ lý.

Ví dụ:

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

append_current_datetime

Thêm ngày và giờ hiện tại vào additional_instructions cho mỗi lần chạy. Không ghi đè lên promptPrefix, mà thêm vào đó.

KeyTypeDescriptionExample
append_current_datetimeBooleanThêm ngày và giờ hiện tại vào `additional_instructions` như được định nghĩa bởi `promptPrefix`

Ví dụ:

preset:
  append_current_datetime: true

Các tùy chọn Model

Lưu ý: Mỗi tham số dưới đây bao gồm ghi chú về các endpoint hỗ trợ nó.
OpenAI / AzureOpenAI / Custom thường hỗ trợ temperature, presence_penalty, frequency_penalty, stop, top_p, max_tokens.
Google / Anthropic thường hỗ trợ topP, topK, maxOutputTokens; Google cũng hỗ trợ url_context trên các mô hình văn bản Gemini được hỗ trợ. Anthropic / OpenRouter / Bedrock (các mô hình Anthropic và Nova) hỗ trợ promptCachepromptCacheTtl. Bedrock hỗ trợ region, maxTokens và một vài tham số khác.

model

Được hỗ trợ bởi: Tất cả các endpoint (ngoại trừ agents)

KeyTypeDescriptionExample
modelString (nullable)Tên model được sử dụng cho preset, khớp với một model đã cấu hình trong endpoint đã chọn.None

Mặc định: None

Ví dụ:

preset:
  model: 'gpt-4-turbo'

temperature

Được hỗ trợ bởi: openAI, azureOpenAI, google (dưới dạng temperature), anthropic (dưới dạng temperature) và tùy chỉnh (giống OpenAI)

KeyTypeDescriptionExample
temperatureNumberKiểm soát mức độ xác định hoặc tính "sáng tạo" trong phản hồi của mô hình.

Ví dụ:

preset:
  temperature: 0.7

presence_penalty

Được hỗ trợ bởi: openAI, azureOpenAI, tùy chỉnh (giống OpenAI)
Thường không được sử dụng bởi Google/Anthropic/Bedrock

KeyTypeDescriptionExample
presence_penaltyNumberHình phạt cho các token lặp lại, khuyến khích khám phá các chủ đề mới.

Ví dụ:

preset:
  presence_penalty: 0.3

frequency_penalty

Được hỗ trợ bởi: openAI, azureOpenAI, tùy chỉnh (giống OpenAI)
Thường không được sử dụng bởi Google/Anthropic/Bedrock

KeyTypeDescriptionExample
frequency_penaltyNumberHình phạt cho các token lặp lại, giúp giảm sự dư thừa trong phản hồi.

Ví dụ:

preset:
  frequency_penalty: 0.5

stop

Được hỗ trợ bởi: openAI, azureOpenAI, tùy chỉnh (giống OpenAI)
Thường không được sử dụng bởi Google/Anthropic/Bedrock

KeyTypeDescriptionExample
stopArray of StringsCác token dừng cho model, hướng dẫn nó kết thúc phản hồi nếu gặp phải.

Ví dụ:

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

top_p

Được hỗ trợ bởi: openAI, azureOpenAI, tùy chỉnh (giống OpenAI)
Google/Anthropic thường sử dụng topP (chữ “P” viết hoa) thay vì top_p.

KeyTypeDescriptionExample
top_pNumberTham số lấy mẫu Nucleus (0-1), kiểm soát tính ngẫu nhiên của các token.

Ví dụ:

preset:
  top_p: 0.9

topP

Được hỗ trợ bởi: google & anthropic
(có mục đích tương tự như top_p, nhưng được đặt tên khác trong các API đó)

KeyTypeDescriptionExample
topPNumberTham số lấy mẫu Nucleus cho các endpoint Google/Anthropic.

Ví dụ:

preset:
  topP: 0.8

topK

Được hỗ trợ bởi: google & anthropic
(giới hạn k-sampling trên phân phối token tiếp theo)

KeyTypeDescriptionExample
topKNumberGiới hạn lựa chọn token tiếp theo trong top K token.

Ví dụ:

preset:
  topK: 40

max_tokens

Được hỗ trợ bởi: openAI, azureOpenAI, tùy chỉnh (giống OpenAI)
Đối với Google/Anthropic, hãy sử dụng maxOutputTokens hoặc maxTokens (tùy thuộc vào endpoint).

KeyTypeDescriptionExample
max_tokensNumberSố lượng token tối đa trong phản hồi của mô hình.

Ví dụ:

preset:
  max_tokens: 4096

maxOutputTokens

Được hỗ trợ bởi: google, anthropic
Tương đương với max_tokens cho các nhà cung cấp này.

KeyTypeDescriptionExample
maxOutputTokensNumberSố lượng token tối đa trong phản hồi (Google/Anthropic).

Ví dụ:

preset:
  maxOutputTokens: 2048

promptCache

Được hỗ trợ bởi: anthropic, các endpoint tùy chỉnh của OpenRouter, bedrock (các mô hình Anthropic và Nova) (Bật/tắt bộ nhớ đệm prompt của nhà cung cấp)

KeyTypeDescriptionExample
promptCacheBooleanBật hoặc tắt tính năng lưu trữ bộ nhớ đệm prompt của nhà cung cấp.

Mặc định: true

Ví dụ:

preset:
  promptCache: true

Lưu ý: Đối với các endpoint Bedrock, tính năng prompt caching được tự động bật cho các model Claude và Nova. Hãy đặt promptCache: false để tắt tính năng này một cách tường minh.


promptCacheTtl

Được hỗ trợ bởi: anthropic, các endpoint tùy chỉnh của OpenRouter, bedrock (các mô hình Anthropic và Nova) (Thiết lập thời gian tồn tại của bộ nhớ đệm prompt khi tính năng prompt caching được bật)

KeyTypeDescriptionExample
promptCacheTtlEnumThiết lập thời gian tồn tại của prompt-cache. Các giá trị được hỗ trợ là `5m` và `1h`.Provider or SDK default

Các giá trị được chấp nhận:

  • 5m
  • 1h

Ví dụ:

preset:
  promptCache: true
  promptCacheTtl: '1h'

Lưu ý: promptCacheTtl sẽ bị bỏ qua khi tính năng prompt caching bị vô hiệu hóa. Khi không được chỉ định, tích hợp nhà cung cấp sẽ sử dụng thời gian tồn tại prompt-cache mặc định của nó.


reasoning_effort

Các giá trị được chấp nhận:

  • "" (chuỗi trống — chưa thiết lập, sử dụng mặc định của API)
  • "none"
  • "minimal"
  • "low"
  • "medium"
  • "high"
  • "xhigh" (cực cao)

Được hỗ trợ bởi: openAI, azureOpenAI, tùy chỉnh (giống OpenAI), bedrock (các mô hình ZAI, MoonshotAI)

KeyTypeDescriptionExample
reasoning_effortStringKiểm soát mức độ nỗ lực suy luận cho mô hình. Giảm nỗ lực suy luận có thể giúp phản hồi nhanh hơn và sử dụng ít token hơn cho việc suy luận. Tùy chọn `xhigh` cung cấp khả năng suy luận tối đa cho các vấn đề phức tạp. Đối với Bedrock, các giá trị được chấp nhận là `low`, `medium`, `high`.

Mặc định: "" (chưa thiết lập)

Ví dụ:

preset:
  reasoning_effort: 'low'

reasoning_summary

Các giá trị được chấp nhận:

  • "" (chuỗi trống — vô hiệu hóa tóm tắt suy luận)
  • "auto"
  • "concise"
  • "detailed"

Được hỗ trợ bởi: openAI, azureOpenAI, tùy chỉnh (giống OpenAI)

KeyTypeDescriptionExample
reasoning_summaryStringThiết lập tùy chọn tóm tắt suy luận cho model.

Mặc định: "" (đã tắt)

Ví dụ:

preset:
  reasoning_summary: 'detailed'

useResponsesApi

Được hỗ trợ bởi: openAI, azureOpenAI, tùy chỉnh (giống OpenAI)

KeyTypeDescriptionExample
useResponsesApiBooleanBật hoặc tắt API phản hồi cho model.

Mặc định: false

Ví dụ:

preset:
  useResponsesApi: true

verbosity

Các giá trị được chấp nhận:

  • "" (chuỗi trống — chưa thiết lập, sử dụng mặc định của API)
  • "low"
  • "medium"
  • "high"

Được hỗ trợ bởi: openAI, azureOpenAI, tùy chỉnh (giống OpenAI)

KeyTypeDescriptionExample
verbosityStringKiểm soát mức độ chi tiết của phản hồi từ model.

Mặc định: "" (chưa thiết lập)

Ví dụ:

preset:
  verbosity: 'low'

Được hỗ trợ bởi: openAI, azureOpenAI, tùy chỉnh (giống OpenAI), google, anthropic

KeyTypeDescriptionExample
web_searchBooleanBật hoặc tắt chức năng tìm kiếm web cho model.

Mặc định: false

Lưu ý: Đối với các endpoint của Google, tham số này xuất hiện dưới dạng Grounding with Google Search trong bảng điều khiển thực tế nhưng kiểm soát web_search trong quá trình triển khai.

Ví dụ:

preset:
  web_search: true

url_context

Được hỗ trợ bởi: google trên các mô hình văn bản Gemini được hỗ trợ, bao gồm Gemini 2.5+ và Gemini 3.x

KeyTypeDescriptionExample
url_contextBooleanCho phép Google URL Context để mô hình có thể đọc các URL có trong tin nhắn của người dùng. Các liên kết YouTube sẽ được chuyển đổi thành đầu vào hiểu video gốc khi có thể.

Mặc định: false

Ví dụ:

preset:
  url_context: true

disableStreaming

Được hỗ trợ bởi: openAI, azureOpenAI, tùy chỉnh (giống OpenAI)

KeyTypeDescriptionExample
disableStreamingBooleanVô hiệu hóa phản hồi truyền phát (streaming) từ model.

Mặc định: false

Ví dụ:

preset:
  disableStreaming: true

thinkingBudget

Được hỗ trợ bởi: google, anthropic, bedrock (các mô hình Anthropic)

KeyTypeDescriptionExample
thinkingBudgetNumber or StringKiểm soát số lượng thinking tokens mà mô hình có thể sử dụng cho việc suy luận nội bộ. Ngân sách lớn hơn có thể cải thiện chất lượng phản hồi cho các vấn đề phức tạp.

Mặc định: "Auto (-1)" (Google), 2000 (Anthropic, Bedrock (các mô hình Anthropic))

Ví dụ:

preset:
  thinkingBudget: '2000'

thinkingLevel

Được hỗ trợ bởi: google (các mô hình Gemini 3+ trở lên)

KeyTypeDescriptionExample
thinkingLevelStringKiểm soát mức độ nỗ lực tư duy cho các mô hình Gemini 3+. Các mô hình Gemini 2.5 sử dụng `thinkingBudget` thay thế.

Các giá trị được chấp nhận:

  • "" (chưa thiết lập/tự động)
  • "minimal"
  • "low"
  • "medium"
  • "high"

Mặc định: "" (chưa thiết lập — mô hình sẽ tự quyết định)

Ví dụ:

preset:
  thinkingLevel: 'medium'

effort

Được hỗ trợ bởi: anthropic, bedrock (các mô hình Anthropic)

KeyTypeDescriptionExample
effortStringKiểm soát mức độ nỗ lực của Adaptive Thinking cho các model Anthropic được hỗ trợ (ví dụ: Claude Opus 4.6+ và các model thuộc lớp Claude Fable/Mythos). Mức độ nỗ lực cao hơn sẽ phân bổ nhiều token tư duy hơn cho các vấn đề phức tạp.

Các tùy chọn: "" (chưa thiết lập/tự động), "low", "medium", "high", "xhigh", "max"

Mặc định: "" (chưa thiết lập — mô hình sẽ tự quyết định)

Ví dụ:

preset:
  effort: 'high'

thinkingDisplay

Được hỗ trợ bởi: anthropic, bedrock (các mô hình Anthropic)

KeyTypeDescriptionExample
thinkingDisplayStringKiểm soát việc nội dung suy luận có được trả về trong phản hồi của model hay không. Các model Claude Opus 4.7+ và dòng Claude Fable/Mythos mặc định sẽ lược bỏ nội dung suy nghĩ; cài đặt này cho phép bạn chọn hiển thị tóm tắt suy luận hoặc ẩn chúng một cách rõ ràng.

Các tùy chọn: "auto" (mặc định), "summarized", "omitted"

  • "auto" — LibreChat tự quyết định: chọn "summarized" cho các model mặc định không có tư duy (Opus 4.7+ và các model thuộc lớp Fable/Mythos), và bỏ trống trường này đối với các model cũ hơn
  • "summarized" — luôn yêu cầu một bản tóm tắt hậu kiểm (post-hoc) về quá trình suy luận
  • "omitted" — luôn ẩn nội dung suy luận (độ trễ thấp hơn một chút)

Mặc định: "auto"

Ví dụ:

preset:
  thinkingDisplay: 'summarized'

thinking

Được hỗ trợ bởi: google, anthropic, bedrock (các mô hình Anthropic)

KeyTypeDescriptionExample
thinkingBooleanCho biết liệu mô hình có nên dành thời gian suy nghĩ trước khi tạo phản hồi hay không.

Mặc định: true

Ví dụ:

preset:
  thinking: true

region

Được hỗ trợ bởi: bedrock
(Được sử dụng để chỉ định một khu vực AWS cho Amazon Bedrock)

KeyTypeDescriptionExample
regionStringVùng AWS cho các endpoint Amazon Bedrock.

Ví dụ:

preset:
  region: 'us-east-1'

maxTokens

Được hỗ trợ bởi: bedrock
(Được sử dụng thay cho max_tokens)

KeyTypeDescriptionExample
maxTokensNumberSố lượng token đầu ra tối đa cho các endpoint Amazon Bedrock.

Ví dụ:

preset:
  maxTokens: 1024

Hướng dẫn này thế nào?