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

Struktura obiektu Model Specs

Przegląd

Obiekt modelSpecs pomaga zapewnić prostszy interfejs użytkownika dla modeli AI w Twojej aplikacji.

Istnieją 3 główne pola w modelSpecs:

  • enforce (opcjonalne; domyślnie: false)
  • prioritize (opcjonalne; domyślnie: true)
  • list (wymagane)
  • addedEndpoints (opcjonalne)

Uwagi:

  • Jeśli enforce jest ustawione na true, Model Specs mogą potencjalnie powodować konflikty z innymi ustawieniami interfejsu, takimi jak modelSelect, presets i parameters.
  • Tablica list zawiera szczegółowe konfiguracje dla każdego modelu, w tym presety, które określają konkretne zachowania, wygląd i możliwości.
  • Jeśli pola interface nie są określone w konfiguracji, posiadanie listy Model Specs spowoduje wyłączenie następujących elementów interfejsu:
    • modelSelect
    • parameters
    • presets
  • Jeśli chcesz włączyć te elementy interfejsu wraz z Model Specs, możesz ustawić je na true w obiekcie interface.

Zarządzanie dostarczonymi przez użytkownika kluczami API za pomocą Model Specs

Gdy Model Specs wyłączają modelSelect, lista rozwijana endpointów — oraz ikona koła zębatego, która otwiera okno dialogowe Set API Key — są ukryte. Użytkownicy nadal mogą ustawiać lub zmieniać klucze dla każdego endpointu skonfigurowanego z apiKey: "user_provided" w sekcji Settings → Data controls → API keys.

Ta lista jest ograniczona do endpointów, do których użytkownik faktycznie ma dostęp: endpointów wskazanych w twoich Model Specs oraz wszelkich addedEndpoints. Gdy endpoint agents jest osiągalny, zawiera on również agenta allowedProviders (lub każdego skonfigurowanego dostawcę, gdy allowedProviders pozostaje nieustawione).

Przykład

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.

Pola najwyższego poziomu

enforce

KeyTypeDescriptionExample
enforceBooleanOkreśla, czy Model Specs powinny ściśle nadpisywać inne ustawienia konfiguracji.Setting this to `true` can lead to conflicts with interface options if not managed carefully.

Domyślnie: false

Przykład:

modelSpecs:
  enforce: true

prioritize

KeyTypeDescriptionExample
prioritizeBooleanOkreśla, czy Model Specs powinny mieć pierwszeństwo przed domyślną konfiguracją, gdy obie mają zastosowanie.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.

Domyślnie: true

Przykład:

modelSpecs:
  prioritize: false

addedEndpoints

KeyTypeDescriptionExample
addedEndpointsArray of StringsUmożliwia wybór określonych endpoint (np. "openAI", "google") w interfejsie użytkownika obok zdefiniowanych Model Specs.Requires `interface.modelSelect` to be `true`. If this field is used and `interface.modelSelect` is not explicitly set, `modelSelect` will default to `true`.

Domyślnie: [] (pusta lista)

Uwaga: Musi być jedną z następujących wartości:

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

Przykład:

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

list

Wymagane

KeyTypeDescriptionExample
listArray of ObjectsZawiera listę poszczególnych specyfikacji modeli, szczegółowo opisujących różne konfiguracje i zachowania.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 (Element listy)

W obrębie każdego Model Spec, lub każdego elementu listy, możesz skonfigurować następujące pola:


name

KeyTypeDescriptionExample
nameStringUnikalny identyfikator modelu.No default. Must be specified.

Opis: Unikalny identyfikator modelu.


label

KeyTypeDescriptionExample
labelStringPrzyjazna dla użytkownika nazwa lub etykieta modelu, wyświetlana w rozwijanym menu nagłówka.No default. Optional.

Opis: Przyjazna dla użytkownika nazwa lub etykieta modelu, wyświetlana na liście rozwijanej w nagłówku.


default

KeyTypeDescriptionExample
defaultBooleanOkreśla, czy ta specyfikacja modelu jest wyborem domyślnym, który ma być automatycznie wybierany przy każdym nowym czacie.

Opis:
Określa, czy ta specyfikacja modelu jest wyborem domyślnym, który ma być automatycznie wybierany przy każdym nowym czacie.


softDefault

KeyTypeDescriptionExample
softDefaultBooleanOkreśla, czy ta specyfikacja modelu powinna być wybrana tylko dla nowych użytkowników, którzy nie wybrali jeszcze modelu, specyfikacji modelu ani agenta.

Opis:

Określa domyślny wybór przy pierwszym uruchomieniu bez nadpisywania późniejszych wyborów użytkownika. Użyj softDefault, gdy chcesz skierować nowych użytkowników do wybranej specyfikacji, zachowując jednocześnie możliwość wyboru przez użytkownika po tym, jak wybierze on inny model, specyfikację lub agenta.

Wyświetlenie starszej konwersacji, w której użyto specyfikacji typu soft-default, nie powoduje ponownego ustawienia tej specyfikacji jako domyślnej dla użytkownika po dokonaniu przez niego innego wyboru.

Przykład:

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

iconURL

KeyTypeDescriptionExample
iconURLStringURL lub nazwa predefiniowanego endpoint dla ikony modelu w selektorze, nagłówku i brandingu konwersacji.No default. Optional.

Opis:
URL lub zdefiniowana nazwa endpoint dla ikony modelu w selektorze, nagłówku oraz brandingu konwersacji. Użyj showIconInMenu oraz showIconInHeader, aby kontrolować, gdzie ikona ma się pojawiać.


description

KeyTypeDescriptionExample
descriptionStringKrótki opis modelu oraz jego przeznaczenia lub roli, wyświetlany w selektorze modeli i opcjonalnie na stronie powitalnej czatu.No default. Optional.

Description: Krótki opis modelu oraz jego przeznaczenia lub roli, wyświetlany w selektorze modeli. Jeśli showOnLanding ma wartość true, ten sam opis jest również wyświetlany na stronie powitalnej czatu pod etykietą specyfikacji.

Zwykłe opisy tekstowe są renderowane jako tekst. Opisy zaczynające się od < są renderowane przez sanitizer HTML konfiguracji, co pozwala na bezpieczne użycie znaczników inline oraz mediów, takich jak małe ikony.


conversation_starters

KeyTypeDescriptionExample
conversation_startersArray of StringsSugerowane początkowe prompty wyświetlane jako klikalne karty na stronie głównej czatu po wybraniu tej specyfikacji modelu.No default. Optional.

Opis: Conversation starters (rozpoczęcia rozmowy) zapewniają użytkownikom gotowe pierwsze prompty dla Model Specs. Są one wyświetlane na pustym ekranie czatu dla wybranej specyfikacji i są szczególnie przydatne przy użyciu brandingu showOnLanding. Kliknięcie w element startowy wysyła go jako pierwszą wiadomość nowej konwersacji.

  • Wyświetlane są maksymalnie 4 elementy startowe, zgodnie z limitem agenta/asystenta.
  • Jeśli preset specyfikacji wskazuje na agenta lub asystenta, który definiuje własne początki konwersacji, mają one pierwszeństwo.

Przykład:

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
showOnLandingBooleanWyświetla etykietę i opis tej specyfikacji modelu na stronie powitalnej czatu zamiast domyślnego powitania.showOnLanding: true

Domyślnie: false

Użyj tego, gdy wybrana specyfikacja modelu (model spec) ma być widoczna na ekranie pierwszego pustego czatu. Istniejące specyfikacje modeli pozostają niezmienione, chyba że showOnLanding zostanie ustawione na true.

Przykład:

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
groupStringOpcjonalna nazwa grupy do organizowania Model Specs w selektorze interfejsu użytkownika. Określa, gdzie specyfikacja pojawia się w hierarchii menu.No default. Optional.
groupIconStringOpcjonalna ikona dla grup niestandardowych. Może to być URL lub wbudowany klucz endpoint (np. "openAI", "groq"). Używana jest tylko pierwsza specyfikacja z groupIcon w każdej grupie.No default. Optional.

Opis: Opcjonalna nazwa grupy służąca do organizowania Model Specs w selektorze w interfejsie użytkownika. Pole group zapewnia elastyczną kontrolę nad sposobem organizowania Model Specs:

  • Jeśli group pasuje do nazwy endpoint (np. "openAI", "groq"): Model spec pojawia się zagnieżdżony pod tym endpoint w menu wyboru
  • Jeśli group jest nazwą niestandardową (niepasującą do żadnego endpoint): Tworzy oddzielną, zwijaną sekcję o tej nazwie. Opcjonalnie możesz użyć groupIcon, aby ustawić niestandardową ikonę dla tej sekcji (URL lub wbudowany klucz, taki jak "openAI").
  • Jeśli group zostanie pominięte: Model spec pojawi się jako samodzielny element na najwyższym poziomie

Ta funkcja jest szczególnie przydatna, gdy chcesz dodać opisy do modeli bez utraty struktury organizacyjnej menu wyboru.


hideBadgeRow

KeyTypeDescriptionExample
hideBadgeRowBooleanUkrywa wiersz plakietki narzędzia dla tej specyfikacji Model Specs w komponencie czatu.hideBadgeRow: true

Domyślnie: false

Użyj tego, gdy wyselekcjonowana specyfikacja modelu nie powinna wyświetlać wiersza odznak narzędzi/możliwości pod polem wprowadzania tekstu.

Przykład:

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

Przykład:

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
showIconInMenuBooleanOkreśla, czy ikona modelu pojawia się w menu rozwijanym nagłówka.

Opis:
Określa, czy ikona modelu pojawia się w menu rozwijanym nagłówka. Domyślnie ustawione na true.


showIconInHeader

KeyTypeDescriptionExample
showIconInHeaderBooleanOkreśla, czy ikona modelu pojawia się w przycisku rozwijanym nagłówka, po lewej stronie jego nazwy.

Opis:
Określa, czy ikona modelu pojawia się w przycisku rozwijanym nagłówka, po lewej stronie jego nazwy. Domyślnie ustawione na true.


authType

KeyTypeDescriptionExample
authTypeStringTyp uwierzytelniania wymagany dla Model Specs.Optional. Possible values: "override_auth", "user_provided", "system_defined"

Opis:
Typ uwierzytelniania wymagany dla Model Specs. Określa, czy uwierzytelnianie jest nadpisywane, dostarczane przez użytkownika, czy definiowane przez system.


webSearch

KeyTypeDescriptionExample
webSearchBooleanWłącza funkcję wyszukiwania w internecie dla tej specyfikacji modelu.When true, the model can perform web searches.

Opis:
Włącza funkcję wyszukiwania w internecie dla tej specyfikacji modelu (Model Specs). Gdy ustawiono na true, model może przeprowadzać wyszukiwanie w internecie w celu pobrania aktualnych informacji.

Przykład:

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

fileSearch

KeyTypeDescriptionExample
fileSearchBooleanWłącza funkcję wyszukiwania plików dla tej specyfikacji modelu.When true, the model can search through uploaded files.

Opis:
Włącza funkcję wyszukiwania plików dla tej specyfikacji modelu (Model Specs). Gdy ustawiono na true, model może przeszukiwać i odwoływać się do przesłanych plików.

Przykład:

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

executeCode

KeyTypeDescriptionExample
executeCodeBooleanWłącza możliwość wykonywania kodu dla tej specyfikacji modelu.When true, the model can execute code.

Opis:
Włącza możliwość wykonywania kodu dla tej specyfikacji modelu (Model Specs). Gdy ustawiono na true, model może wykonywać kod w izolowanym środowisku (sandbox).

Przykład:

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

mcpServers

KeyTypeDescriptionExample
mcpServersArray of StringsLista nazw serwerów Model Context Protocol (MCP) do włączenia dla tej specyfikacji modelu.Each string should match a configured MCP server name.

Opis:
Lista nazw serwerów Model Context Protocol (MCP), które mają zostać włączone dla tej specyfikacji modelu. Serwery MCP rozszerzają możliwości modelu o niestandardowe narzędzia i zasoby.

Przykład:

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 StringsKontroluje umiejętności (Skills) dla tej specyfikacji modelu. Użyj true dla aktywnego katalogu dostępnego dla użytkownika, false aby wymusić wyłączenie umiejętności lub tablicy nazw umiejętności jako ścisłej białej listy.skills: ["brand-guidelines", "code-review"]

Opis:

Steruje umiejętnościami (Skills) dla tej specyfikacji modelu (model spec), gdy dostępna jest funkcja umiejętności punktu końcowego (endpoint) Agents.

  • true: włącza aktywny dostępny katalog umiejętności użytkownika.
  • false: wyłącza Skills dla tej specyfikacji.
  • Tablica nazw Skill: zawęża katalog, ręczne wywołanie oraz rozdzielczość always-apply do nazwanych Skill.

Przykład:

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

subagents

KeyTypeDescriptionExample
subagents.enabledBooleanWłącza funkcję Subagents dla efemerycznych agentów utworzonych na podstawie tej Model Specs.enabled: true
subagents.allowSelfBooleanPozwala efemerycznemu agentowi na utworzenie izolowanej kopii samego siebie w celu wykonania skoncentrowanej pracy.allowSelf: true
subagents.agent_idsArray of StringsPrywatna lista dozwolonych po stronie serwera dodatkowych identyfikatorów agentów, które ta specyfikacja modelu może tworzyć.agent_ids: []

Opis:

Steruje subagentami dla efemerycznych agentów utworzonych na podstawie tej specyfikacji modelu. Użyj tego, gdy chcesz, aby przygotowana specyfikacja modelu udostępniała zachowanie delegowania bez konieczności tworzenia lub wybierania przez użytkowników utrwalonego agenta nadrzędnego.

  • enabled: dodaje narzędzie tworzenia podagentów (subagent spawn tool) dla tej specyfikacji modelu (Model Specs).
  • allowSelf: pozwala efemerycznemu agentowi na utworzenie nowej, odizolowanej kopii samego siebie.
  • agent_ids: umożliwia korzystanie z określonych utrwalonych agentów jako dodatkowych subagentów. Lista ta jest ograniczona przez MAX_SUBAGENTS i pozostaje po stronie serwera; konfiguracja startowa wysyłana do klientów zawiera jedynie publiczne flagi enabled oraz allowSelf.

Gdy Model Specs są wymuszane, ustawienia subagents w Model Specs są nadrzędne wobec wartości w ładunku żądania (request payload).

Przykład:

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

artifacts

KeyTypeDescriptionExample
artifactsString | BooleanWłącza funkcję Artifacts dla tej specyfikacji modelu i opcjonalnie ustawia tryb artefaktów.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.

Opis:
Włącza funkcję Artifacts dla tej specyfikacji modelu, umożliwiając modelowi generowanie i wyświetlanie interaktywnych artefaktów, takich jak komponenty React, HTML oraz diagramy Mermaid. Po ustawieniu na true używany jest domyślny tryb artefaktów. Możesz również bezpośrednio określić ciąg znaków trybu.

Przykład:

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

preset

KeyTypeDescriptionExample
presetObjectSzczegółowe konfiguracje presetów, które definiują zachowanie i możliwości modelu.See "Preset Object Structure" below.

Opis:
Szczegółowe konfiguracje ustawień wstępnych, które definiują zachowanie i możliwości modelu (zobacz Strukturę obiektu ustawień wstępnych poniżej).


Pola presetów

Pole preset dla elementu modelSpecs.list składa się z kompleksowego schematu konfiguracji modeli AI w systemie. Zostało ono zaprojektowane w celu określenia ustawień operacyjnych modeli AI, dostosowując ich zachowanie, dane wyjściowe oraz interakcje z innymi komponentami systemu i endpoint.

Opcje systemowe

endpoint

Wymagane

Akceptowane wartości:

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

Uwaga: Jeśli używasz niestandardowego endpoint, wartość endpoint musi dokładnie odpowiadać zdefiniowanej nazwie niestandardowego endpoint.

KeyTypeDescriptionExample
endpointEnum (EModelEndpoint) or String (nullable)Określa endpoint, z którym model komunikuje się w celu wykonywania operacji. To ustawienie określa zewnętrzną lub wewnętrzną usługę, z którą model współpracuje.

Przykład:

preset:
  endpoint: 'openAI'

modelLabel

KeyTypeDescriptionExample
modelLabelString (nullable)Etykieta używana do identyfikacji modelu w interfejsach użytkownika lub logach. Zapewnia czytelną dla człowieka nazwę modelu, która jest wyświetlana w interfejsie użytkownika, a także udostępniana sztucznej inteligencji.None

Domyślnie: None

Przykład:

preset:
  modelLabel: 'Customer Support Bot'

greeting

KeyTypeDescriptionExample
greetingStringWstępnie zdefiniowana wiadomość widoczna w interfejsie użytkownika przed rozpoczęciem nowego czatu. Jest to dobry sposób na przekazanie użytkownikowi instrukcji lub sprawienie, by interfejs wydawał się bardziej przyjazny i przystępny.

Domyślnie: None

Przykład:

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)Statyczny tekst dodawany przed każdym promptem wysyłanym do modelu, ustalający spójny kontekst dla odpowiedzi.When using "assistants" as the endpoint, this becomes the OpenAI field `additional_instructions`.

Domyślnie: None

Przykład 1:

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

Przykład 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
resendFilesBooleanWskazuje, czy pliki powinny być przesyłane ponownie w scenariuszach, w których sesje trwałe nie są utrzymywane.

Domyślnie: true

Przykład:

preset:
  resendFiles: true

imageDetail

Akceptowane wartości:

  • niski
  • auto
  • wysoki
KeyTypeDescriptionExample
imageDetailEnum (eImageDetailSchema)Określa poziom szczegółowości wymagany w zadaniach analizy obrazu, mający zastosowanie do modeli z funkcjami wizyjnymi (specyfikacja OpenAI).

Domyślnie: "auto"

Przykład:

preset:
  imageDetail: 'high'

maxContextTokens

KeyTypeDescriptionExample
maxContextTokensNumberMaksymalna liczba tokenów kontekstu do przekazania modelowi.Useful if you want to limit the maximum context for this preset.

Przykład:

preset:
  maxContextTokens: 4096

Opcje agenta

Pamiętaj, że te opcje mają zastosowanie tylko w przypadku korzystania z endpoint agents.

Powinieneś wykluczyć wszelkie opcje modelu i polegać na konfiguracji agenta zdefiniowanej w UI.

Filtrowanie dostępu do agentów (v0.8.0+)

Od wersji v0.8.0, LibreChat wykorzystuje system uprawnień oparty na ACL (Access Control List) dla agentów. Gdy Model Specs są skonfigurowane do korzystania z agentów, wszyscy agenci, do których użytkownik nie ma dostępu, zostaną automatycznie odfiltrowani, nawet jeśli są skonfigurowani w Model Specs. Zapewnia to, że użytkownicy widzą i mogą korzystać tylko z tych agentów, do których mają odpowiednie uprawnienia.

Aby uzyskać więcej informacji na temat systemu uprawnień ACL, zobacz dokumentację Agents.


agent_id

KeyTypeDescriptionExample
agent_idStringIdentyfikacja asystenta.

Przykład:

preset:
  agent_id: 'agent_someUniqueId'

Opcje asystenta

Pamiętaj, że te opcje mają zastosowanie tylko w przypadku korzystania z endpointu assistants lub azureAssistants.

Podobnie jak w przypadku Agents, należy pominąć wszelkie opcje modelu i polegać na konfiguracji asystenta.


assistant_id

KeyTypeDescriptionExample
assistant_idStringIdentyfikacja asystenta.

Przykład:

preset:
  assistant_id: 'asst_someUniqueId'

instructions

Uwaga: różni się to od promptPrefix, ponieważ nadpisuje istniejące instrukcje asystenta dla bieżących uruchomień.

Używaj tego tylko wtedy, gdy chcesz zastąpić główne instrukcje asystenta.

Użyj promptPrefix dla additional_instructions.

Więcej informacji:

KeyTypeDescriptionExample
instructionsStringZastępuje domyślne instrukcje asystenta.

Przykład:

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

append_current_datetime

Dodaje bieżącą datę i godzinę do additional_instructions dla każdego uruchomienia. Nie nadpisuje promptPrefix, lecz dodaje do niego treść.

KeyTypeDescriptionExample
append_current_datetimeBooleanDodaje bieżącą datę i godzinę do `additional_instructions` zgodnie z definicją `promptPrefix`

Przykład:

preset:
  append_current_datetime: true

Opcje modelu

Uwaga: Każdy z poniższych parametrów zawiera informację o tym, które endpoint obsługują go.
OpenAI / AzureOpenAI / Custom zazwyczaj obsługują temperature, presence_penalty, frequency_penalty, stop, top_p, max_tokens.
Google / Anthropic zazwyczaj obsługują topP, topK, maxOutputTokens; Google obsługuje również url_context w obsługiwanych modelach tekstowych Gemini. Anthropic / OpenRouter / Bedrock (modele Anthropic i Nova) obsługują promptCache oraz promptCacheTtl. Bedrock obsługuje region, maxTokens oraz kilka innych.

model

Obsługiwane przez: Wszystkie endpoint (z wyjątkiem agents)

KeyTypeDescriptionExample
modelString (nullable)Nazwa modelu do użycia w presecie, pasująca do skonfigurowanego modelu w ramach wybranego endpoint.None

Domyślnie: None

Przykład:

preset:
  model: 'gpt-4-turbo'

temperature

Obsługiwane przez: openAI, azureOpenAI, google (jako temperature), anthropic (jako temperature) oraz niestandardowe (typu OpenAI)

KeyTypeDescriptionExample
temperatureNumberOkreśla, jak deterministyczne lub „kreatywne” są odpowiedzi modelu.

Przykład:

preset:
  temperature: 0.7

presence_penalty

Obsługiwane przez: openAI, azureOpenAI, custom (zgodne z OpenAI)
Zazwyczaj nieużywane przez Google/Anthropic/Bedrock

KeyTypeDescriptionExample
presence_penaltyNumberKara za powtarzające się tokeny, zachęcająca do odkrywania nowych tematów.

Przykład:

preset:
  presence_penalty: 0.3

frequency_penalty

Obsługiwane przez: openAI, azureOpenAI, custom (zgodne z OpenAI)
Zazwyczaj nieużywane przez Google/Anthropic/Bedrock

KeyTypeDescriptionExample
frequency_penaltyNumberKara za powtarzające się tokeny, redukująca redundancję w odpowiedziach.

Przykład:

preset:
  frequency_penalty: 0.5

stop

Obsługiwane przez: openAI, azureOpenAI, custom (zgodne z OpenAI)
Zazwyczaj nieużywane przez Google/Anthropic/Bedrock

KeyTypeDescriptionExample
stopArray of StringsTokeny zatrzymania dla modelu, instruujące go, aby zakończył odpowiedź w przypadku ich napotkania.

Przykład:

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

top_p

Obsługiwane przez: openAI, azureOpenAI, custom (zgodne z OpenAI)
Google/Anthropic często używają topP (wielka litera „P”) zamiast top_p.

KeyTypeDescriptionExample
top_pNumberParametr próbkowania jądrowego (0-1), kontrolujący losowość tokenów.

Przykład:

preset:
  top_p: 0.9

topP

Obsługiwane przez: google i anthropic
(podobny cel do top_p, ale nazwany inaczej w tych API)

KeyTypeDescriptionExample
topPNumberParametr próbkowania jądrowego (nucleus sampling) dla endpointów Google/Anthropic.

Przykład:

preset:
  topP: 0.8

topK

Obsługiwane przez: google i anthropic
(limit k-sampling dla rozkładu następnego tokena)

KeyTypeDescriptionExample
topKNumberOgranicza wybór następnego tokena do K najlepszych tokenów.

Przykład:

preset:
  topK: 40

max_tokens

Obsługiwane przez: openAI, azureOpenAI, custom (OpenAI-like)
W przypadku Google/Anthropic użyj maxOutputTokens lub maxTokens (w zależności od endpoint).

KeyTypeDescriptionExample
max_tokensNumberMaksymalna liczba tokenów w odpowiedzi modelu.

Przykład:

preset:
  max_tokens: 4096

maxOutputTokens

Obsługiwane przez: google, anthropic
Odpowiednik max_tokens dla tych dostawców.

KeyTypeDescriptionExample
maxOutputTokensNumberMaksymalna liczba tokenów w odpowiedzi (Google/Anthropic).

Przykład:

preset:
  maxOutputTokens: 2048

promptCache

Obsługiwane przez: anthropic, niestandardowe punkty końcowe OpenRouter, bedrock (modele Anthropic i Nova) (Przełącz buforowanie promptów dostawcy)

KeyTypeDescriptionExample
promptCacheBooleanWłącza lub wyłącza buforowanie promptów dostawcy.

Domyślnie: true

Przykład:

preset:
  promptCache: true

Uwaga: W przypadku endpointów Bedrock, buforowanie promptów (prompt caching) jest automatycznie włączone dla modeli Claude i Nova. Ustaw promptCache: false, aby jawnie je wyłączyć.


promptCacheTtl

Obsługiwane przez: anthropic, niestandardowe endpointy OpenRouter, bedrock (modele Anthropic i Nova) (Ustawia czas życia pamięci podręcznej promptu, gdy buforowanie promptów jest włączone)

KeyTypeDescriptionExample
promptCacheTtlEnumUstawia czas życia pamięci podręcznej promptów (prompt-cache). Obsługiwane wartości to `5m` oraz `1h`.Provider or SDK default

Akceptowane wartości:

  • 5m
  • 1h

Przykład:

preset:
  promptCache: true
  promptCacheTtl: '1h'

Uwaga: promptCacheTtl jest ignorowane, gdy prompt caching jest wyłączony. W przypadku pominięcia, integracja z dostawcą używa domyślnego czasu życia prompt-cache.


reasoning_effort

Akceptowane wartości:

  • "" (pusty ciąg znaków — nieustawione, używa wartości domyślnej API)
  • "none"
  • "minimal"
  • "low"
  • "medium"
  • "high"
  • "xhigh" (ekstremalnie wysoki)

Obsługiwane przez: openAI, azureOpenAI, custom (zgodne z OpenAI), bedrock (modele ZAI, MoonshotAI)

KeyTypeDescriptionExample
reasoning_effortStringKontroluje poziom wysiłku wnioskowania modelu. Zmniejszenie wysiłku wnioskowania może skutkować szybszymi odpowiedziami i mniejszą liczbą tokenów zużytych na wnioskowanie. Opcja `xhigh` zapewnia maksymalne możliwości wnioskowania w przypadku złożonych problemów. W przypadku Bedrock akceptowane wartości to `low`, `medium`, `high`.

Domyślnie: "" (nieustawione)

Przykład:

preset:
  reasoning_effort: 'low'

reasoning_summary

Akceptowane wartości:

  • "" (pusty ciąg znaków — wyłącza podsumowania rozumowania)
  • "auto"
  • "concise"
  • "detailed"

Obsługiwane przez: openAI, azureOpenAI, custom (OpenAI-like)

KeyTypeDescriptionExample
reasoning_summaryStringUstawia preferencje podsumowania rozumowania dla modelu.

Domyślnie: "" (wyłączone)

Przykład:

preset:
  reasoning_summary: 'detailed'

useResponsesApi

Obsługiwane przez: openAI, azureOpenAI, custom (OpenAI-like)

KeyTypeDescriptionExample
useResponsesApiBooleanWłącza lub wyłącza API odpowiedzi dla modelu.

Domyślnie: false

Przykład:

preset:
  useResponsesApi: true

verbosity

Akceptowane wartości:

  • "" (pusty ciąg znaków — nieustawione, używa wartości domyślnej API)
  • "low"
  • "medium"
  • "high"

Obsługiwane przez: openAI, azureOpenAI, custom (OpenAI-like)

KeyTypeDescriptionExample
verbosityStringKontroluje poziom szczegółowości odpowiedzi modelu.

Domyślnie: "" (nieustawione)

Przykład:

preset:
  verbosity: 'low'

Obsługiwane przez: openAI, azureOpenAI, custom (OpenAI-like), google, anthropic

KeyTypeDescriptionExample
web_searchBooleanWłącza lub wyłącza funkcjonalność wyszukiwania w sieci dla modelu.

Domyślnie: false

Uwaga: W przypadku endpointów Google, parametr ten widnieje w panelu jako Grounding with Google Search, ale w implementacji steruje on funkcją web_search.

Przykład:

preset:
  web_search: true

url_context

Obsługiwane przez: google w obsługiwanych modelach tekstowych Gemini, w tym Gemini 2.5+ i Gemini 3.x

KeyTypeDescriptionExample
url_contextBooleanWłącza Google URL Context, dzięki czemu model może odczytywać adresy URL zawarte w wiadomości użytkownika. Linki do YouTube są w miarę możliwości konwertowane na natywne dane wejściowe do analizy wideo.

Domyślnie: false

Przykład:

preset:
  url_context: true

disableStreaming

Obsługiwane przez: openAI, azureOpenAI, custom (OpenAI-like)

KeyTypeDescriptionExample
disableStreamingBooleanWyłącza strumieniowanie odpowiedzi z modelu.

Domyślnie: false

Przykład:

preset:
  disableStreaming: true

thinkingBudget

Obsługiwane przez: google, anthropic, bedrock (modele Anthropic)

KeyTypeDescriptionExample
thinkingBudgetNumber or StringOkreśla liczbę tokenów myślowych, których model może użyć do wewnętrznego rozumowania. Większe limity mogą poprawić jakość odpowiedzi w przypadku złożonych problemów.

Domyślnie: "Auto (-1)" (Google), 2000 (Anthropic, Bedrock (modele Anthropic))

Przykład:

preset:
  thinkingBudget: '2000'

thinkingLevel

Obsługiwane przez: google (modele Gemini 3+)

KeyTypeDescriptionExample
thinkingLevelStringKontroluje poziom wysiłku myślowego dla modeli Gemini 3+. Modele Gemini 2.5 używają zamiast tego `thinkingBudget`.

Akceptowane wartości:

  • "" (nieustawione/auto)
  • "minimal"
  • "low"
  • "medium"
  • "high"

Domyślnie: "" (nieustawione — model decyduje)

Przykład:

preset:
  thinkingLevel: 'medium'

effort

Obsługiwane przez: anthropic, bedrock (modele Anthropic)

KeyTypeDescriptionExample
effortStringSteruje poziomem wysiłku Adaptive Thinking dla wspieranych modeli Anthropic (np. Claude Opus 4.6+ oraz modeli klasy Claude Fable/Mythos). Wyższe poziomy wysiłku przydzielają więcej tokenów myślowych dla złożonych problemów.

Opcje: "" (nieustawione/auto), "low", "medium", "high", "xhigh", "max"

Domyślnie: "" (nieustawione — model decyduje)

Przykład:

preset:
  effort: 'high'

thinkingDisplay

Obsługiwane przez: anthropic, bedrock (modele Anthropic)

KeyTypeDescriptionExample
thinkingDisplayStringOkreśla, czy treść rozumowania jest zwracana w odpowiedziach modelu. Modele Claude Opus 4.7+ oraz klasy Claude Fable/Mythos domyślnie pomijają treść myślenia; to ustawienie pozwala na włączenie podsumowań rozumowania lub ich jawne wyłączenie.

Opcje: "auto" (domyślne), "summarized", "omitted"

  • "auto" — LibreChat decyduje: włącza "summarized" dla modeli, które domyślnie pomijają myślenie (Opus 4.7+ oraz klasy Fable/Mythos), a dla starszych modeli pozostawia to pole puste
  • "summarized" — zawsze żądaj podsumowania rozumowania post-hoc
  • "omitted" — zawsze pomijaj treść rozumowania (nieco mniejsze opóźnienie)

Domyślnie: "auto"

Przykład:

preset:
  thinkingDisplay: 'summarized'

thinking

Obsługiwane przez: google, anthropic, bedrock (modele Anthropic)

KeyTypeDescriptionExample
thinkingBooleanWskazuje, czy model powinien poświęcić czas na myślenie przed wygenerowaniem odpowiedzi.

Domyślnie: true

Przykład:

preset:
  thinking: true

region

Obsługiwane przez: bedrock
(Używane do określenia regionu AWS dla Amazon Bedrock)

KeyTypeDescriptionExample
regionStringRegion AWS dla endpointów Amazon Bedrock.

Przykład:

preset:
  region: 'us-east-1'

maxTokens

Obsługiwane przez: bedrock
(Używane zamiast max_tokens)

KeyTypeDescriptionExample
maxTokensNumberMaksymalna liczba tokenów wyjściowych dla endpointów Amazon Bedrock.

Przykład:

preset:
  maxTokens: 1024

Jaka jest ta instrukcja?