# Для получения дополнительной информации см. Руководство по настройке:
# https://www.librechat.ai/docs/configuration/librechat_yaml

# Версия конфигурации (обязательно)
version: 1.2.1

# Настройки кэша: установите значение true, чтобы включить кэширование.
cache: true

# Стратегия файла s3/firebase
# fileStrategy: "s3"

# Пользовательская конфигурация интерфейса
interface:
  customWelcome: "Welcome to LibreChat! Enjoy your experience."
  # Настройки политики конфиденциальности
  privacyPolicy:
    externalUrl: 'https://librechat.ai/privacy-policy'
    openNewTab: true

  endpointsMenu: true
  modelSelect: true
  parameters: true
  sidePanel: true
  presets: true
  prompts: true
  bookmarks: true
  multiConvo: true
  agents: true

# Пример турникета Cloudflare (опционально)
#турникет:
#  Ключ сайта: "your-site-key-here"
#  параметры:
#    language: "auto"       # "auto" или код языка ISO 639-1 (например, en)
#    size: "normal"         # Опции: "normal", "compact", "flexible" или "invisible".

# Пример структуры объекта регистрации (необязательно)
registration:
  socialLogins: ['github', 'google', 'discord', 'openid', 'facebook', 'apple', 'saml']
  # разрешенные домены:
  # - "gmail.com"


# Пример настроек баланса
# баланс:
#   enabled: false
#   startBalance: 20000
#   autoRefillEnabled: false
#   refillIntervalValue: 30
#   refillIntervalUnit: 'days'
#   refillAmount: 10000

# речь:
#   ттс:
#     опенай:
#       url: ''
#       apiKey: '${TTS_API_KEY}'
#       model: ''
#       voices: ['']

#
#   вт:
#     опенай:
#       url: ''
#       apiKey: '${STT_API_KEY}'
#       model: ''

# Ограничения скорости:
#   файлЗагрузки:
#     ipMax: 100
#     ipWindowInMinutes: 60     # Окно ограничения скорости загрузки файлов по IP
#     userMax: 50
#     userWindowInMinutes: 60     # Окно ограничения скорости загрузки файлов на пользователя
#   разговорыИмпорт:
#     ipMax: 100
#     ipWindowInMinutes: 60     # Окно ограничения скорости для импорта разговоров по IP
#     userMax: 50
#     userWindowInMinutes: 60     # Окно ограничения скорости импорта разговоров на пользователя

# Пример структуры объекта действий
actions:
  allowedDomains:
    - "swapi.dev"
    - "librechat.ai"
    - "google.com"

# Пример структуры объекта серверов MCP
# mcpServers:
#   все:
#     # тип: sse # тип может быть опущен
#     url: http://localhost:3001/sse
#     timeout: 60000     # Тайм-аут для этого сервера составляет 1 минуту, это тайм-аут по умолчанию для серверов MCP.
#   кукольник:
#     type: stdio
#     command: npx
#     аргументы:
#       - -у
#       - "@modelcontextprotocol/server-puppeteer"
#     timeout: 300000     # Таймаут 5 минут для этого сервера
#   файловая система:
#     # тип: stdio
#     command: npx
#     аргументы:
#       - -у
#       - "@modelcontextprotocol/server-filesystem"
#       - /home/user/LibreChat/
#     iconPath: /home/user/LibreChat/client/public/assets/logo.svg
#   mcp-обсидиан:
#     command: npx
#     аргументы:
#       - -у
#       - "mcp-obsidian"
#       - /path/to/obsidian/vault

# Определение пользовательских конечных точек
endpoints:
  # помощники:
  #   disableBuilder: false    # Отключите интерфейс Assistants Builder, установив значение `true`.
  #   pollIntervalMs: 3000     # Интервал опроса для проверки обновлений Ассистента
  #   timeoutMs: 180000     # Тайм-аут для операций помощника
  #   # Должно быть только одно или другое: `supportedIds` или `excludedIds`
  #   supportedIds: ["asst_supportedAssistantId1", "asst_supportedAssistantId2"]
  #   # исключенных идентификаторов: ["asst_excludedAssistantId"]
  #   # Показывать только помощников, созданных пользователем или созданных извне (например, на игровой площадке «Помощники»).
  #   # PrivateAssistants: false # Не работает с `supportedIds` или `excludedIds`
  #   # (необязательно) Для моделей, поддерживающих извлечение, по умолчанию будут использоваться последние известные модели OpenAI, поддерживающие эту функцию.
  #   retrievalModels: ["gpt-4-turbo-preview"]
  #   # (необязательно) Возможности помощника доступны всем пользователям. Опустите те, которые вы хотите исключить. По умолчанию список приведен ниже.
  #   capabilities: ["code_interpreter", "retrieval", "actions", "tools", "image_vision"]
  # агенты:
  #   # (необязательно) Глубина рекурсии по умолчанию для агентов, по умолчанию 25
  #   recursionLimit: 50
  #   # (необязательно) Максимальная глубина рекурсии для агентов, по умолчанию 25.
  #   maxRecursionLimit: 100
  #   # (необязательно) Отключить интерфейс конструктора для агентов
  #   disableBuilder: false
  #   # (необязательно) Возможности агента доступны всем пользователям. Опустите те, которые вы хотите исключить. По умолчанию список приведен ниже.
  #   capabilities: ["execute_code", "file_search", "actions", "tools"]
  custom:
    # Пример Олламы
    - name: "Ollama"
      apiKey: "ollama"
      # используйте 'host.docker.internal' вместо localhost, если LibreChat запущен в контейнере докера
      baseURL: "http://ollama_ollama_1:11434/v1/"
      models:
        default:
          [
            'llama3.2'
          ]
        # поддерживается получение списка моделей, но поле `name` должно начинаться
        # с `ollama` (без учета регистра), как в этом примере.
        fetch: false
      titleConvo: true
      titleModel: "current_model"
      summarize: false
      summaryModel: "current_model"
      forcePrompt: false
      modelDisplayLabel: "Ollama"
    # Пример Грока
    # - имя: 'groq'
    #   apiKey: '${GROQ_API_KEY}'
    #   baseURL: 'https://api.groq.com/openai/v1/'
    #   модели:
    #     по умолчанию:
    #       [
    #         'llama3-70b-8192',
    #         'llama3-8b-8192',
    #         'llama2-70b-4096',
    #         'mixtral-8x7b-32768',
    #         'gemma-7b-it',
    #       ]
    #     fetch: false
    #   titleConvo: true
    #   titleModel: 'mixtral-8x7b-32768'
    #   modelDisplayLabel: 'groq'

    # # Мистраль AI Пример
    # - name: 'Mistral' # Уникальное имя конечной точки
    #   # Для `apiKey` и `baseURL` вы можете использовать определенные вами переменные среды.
    #   # рекомендуемые переменные среды:
    #   apiKey: '${MISTRAL_API_KEY}'
    #   baseURL: 'https://api.mistral.ai/v1'

    #   # Конфигурация моделей
    #   модели:
    #     # Список моделей по умолчанию для использования. Требуется хотя бы одно значение.
    #     default: ['mistral-tiny', 'mistral-small', 'mistral-medium']
    #     # Опция выборки: установите значение true для извлечения моделей из API.
    #     fetch: true    # По умолчанию ложь.

    #   # Дополнительные конфигурации

    #   # Настройка диалога по заголовку
    #   titleConvo: true    # Установите значение true, чтобы включить диалог заголовка

    #   # Метод заголовка: выберите "completion" или "functions".
    #   # titleMethod: "completion" # По умолчанию "completion", если он опущен.

    #   # Модель заголовка: укажите модель, которая будет использоваться для заголовков.
    #   titleModel: 'mistral-tiny'    # По умолчанию используется "gpt-3.5-turbo", если опущено.

    #   # Параметр суммирования: установите значение true, чтобы включить суммирование.
    #   # суммировать: ложь

    #   # Модель сводки: укажите модель, которая будет использоваться, если включено суммирование.
    #   # summaryModel: "mistral-tiny" # По умолчанию "gpt-3.5-turbo", если опущено.

    #   # Настройка принудительного запроса: если true, вместо `messages` отправляется параметр `prompt`.
    #   # ForcePrompt: ложь

    #   # Метка, отображаемая для модели AI в сообщениях.
    #   modelDisplayLabel: 'Mistral'    # По умолчанию — "AI", если не установлено.

    #   # Добавляем в запрос дополнительные параметры. Параметры по умолчанию будут перезаписаны.
    #   # добавитьПарамсы:
    #   # Safe_prompt: true # Это поле характерно для Mistral AI: https://docs.mistral.ai/api/

    #   # Удалить параметры параметров по умолчанию из запроса. См. параметры по умолчанию в руководстве, указанном ниже.
    #   # NOTE: Для Mistral необходимо сбросить следующие параметры, иначе вы столкнетесь с ошибкой 422:
    #   dropParams: ['stop', 'user', 'frequency_penalty', 'presence_penalty']

    # # OpenRouter Пример
    # - имя: 'OpenRouter'
    #   # Для `apiKey` и `baseURL` вы можете использовать определенные вами переменные среды.
    #   # рекомендуемые переменные среды:
    #   apiKey: '${OPENROUTER_KEY}'
    #   baseURL: 'https://openrouter.ai/api/v1'
    #   модели:
    #     default: ['meta-llama/llama-3-70b-instruct']
    #     fetch: true
    #   titleConvo: true
    #   titleModel: 'meta-llama/llama-3-70b-instruct'
    #   # Рекомендуется: удалить параметр остановки из запроса, поскольку модели Openrouter используют различные токены остановки.
    #   dropParams: ['stop']
    #   modelDisplayLabel: 'OpenRouter'

    # # Портключ AI Пример
    # - имя: "Portkey"
    #   apiKey: "dummy"
    #   baseURL: 'https://api.portkey.ai/v1'
    #   заголовки:
    #       x-portkey-api-key: '${PORTKEY_API_KEY}'
    #       x-portkey-virtual-key: '${PORTKEY_OPENAI_VIRTUAL_KEY}'
    #   модели:
    #       default: ['gpt-4o-mini', 'gpt-4o', 'chatgpt-4o-latest']
    #       fetch: true
    #   titleConvo: true
    #   titleModel: 'current_model'
    #   summarize: false
    #   summaryModel: 'current_model'
    #   forcePrompt: false
    #   modelDisplayLabel: 'Portkey'
    #   iconURL: https://images.crunchbase.com/image/upload/c_pad,f_auto,q_auto:eco,dpr_1/rjqy7ghvjoiu4cd1xjbf
# файлконфигурация:
#   конечные точки:
#     помощники:
#       fileLimit: 5
#       fileSizeLimit: 10     # Максимальный размер отдельного файла в MB
#       totalSizeLimit: 50     # Максимальный общий размер всех файлов в одном запросе в MB
#       поддерживаемыеMimeTypes:
#         - "image/.*"
#         - "application/pdf"
#     опенАИ:
#       disabled: true     # Отключает загрузку файлов на конечную точку OpenAI.
#     по умолчанию:
#       totalSizeLimit: 20
#     ВашеCustomEndpointName:
#       fileLimit: 2
#       fileSizeLimit: 5
#   serverFileSizeLimit: 100     # Ограничение размера файла глобального сервера в MB
#   avatarSizeLimit: 2     # Ограничение размера изображения аватара пользователя в MB
#   imageGeneration: # Image Gen settings, either percentage or px
#     percentage: 100
#     px: 1024
# # Дополнительную информацию о конфигурации помощников см. в Руководстве по пользовательской настройке:
# #https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/assistants_endpoint
