Tham số tùy chỉnh
Chọn một bộ tham số mặc định
Theo mặc định, khi bạn chỉ định một endpoint tùy chỉnh trong tệp cấu hình librechat.yaml, nó sẽ sử dụng các tham số mặc định của OpenAI API. Tuy nhiên, bạn có thể ghi đè các mặc định này bằng cách chỉ định trường customParams.defaultParamsEndpoint trong phần định nghĩa endpoint tùy chỉnh của mình. Ví dụ, để sử dụng các tham số của Google cho endpoint tùy chỉnh của bạn:
endpoints:
custom:
- name: 'Google Gemini'
apiKey: ...
baseURL: ...
customParams:
defaultParamsEndpoint: 'google'Endpoint "Google Gemini" của bạn giờ đây sẽ hiển thị các tham số cho Google API khi bạn tạo một agent hoặc preset mới.
Ghi đè định nghĩa tham số
Ngoài ra, bạn cũng có thể tinh chỉnh các tham số được cung cấp cho endpoint tùy chỉnh của mình. Ví dụ: tham số temperature cho endpoint google là một thanh trượt với phạm vi từ 0.0 đến 1.0 và giá trị mặc định là 1.0, bạn có thể cập nhật tệp librechat.yaml để ghi đè các giá trị này:
endpoints:
custom:
- name: 'Google Gemini'
apiKey: ...
baseURL: ...
customParams:
defaultParamsEndpoint: 'google'
paramDefinitions:
- key: temperature
range:
min: 0
max: 0.7
step: 0.1
default: 0.5Kết quả là, thanh trượt Temperature sẽ bị giới hạn trong phạm vi từ 0.0 đến 0.7 với bước nhảy là 0.1, và giá trị mặc định là 0.5. Các tham số còn lại sẽ được đặt về giá trị mặc định của chúng.
Thiết lập các giá trị tham số mặc định
Bạn có thể chỉ định các giá trị mặc định cho các tham số sẽ được tự động áp dụng khi thực hiện các yêu cầu API. Điều này rất hữu ích để thiết lập các giá trị tham số cơ sở cho endpoint tùy chỉnh của bạn mà không yêu cầu người dùng phải cấu hình thủ công mỗi lần.
Trường default trong paramDefinitions cho phép bạn thiết lập các giá trị mặc định được áp dụng khi các tham số không được xác định. Các giá trị mặc định này tuân theo thứ tự ưu tiên để đảm bảo hành vi ghi đè chính xác:
Thứ tự ưu tiên (thấp nhất đến cao nhất):
- Các giá trị mặc định từ
paramDefinitions- Được áp dụng đầu tiên khi tham số không được xác định addParams- Có thể ghi đè các giá trị mặc địnhmodelOptionsdo người dùng cấu hình - Ưu tiên cao nhất, ghi đè lên mọi thứ khác
endpoints:
custom:
- name: 'My Custom LLM'
apiKey: ...
baseURL: ...
customParams:
defaultParamsEndpoint: 'openAI'
paramDefinitions:
- key: temperature
default: 0.7
- key: topP
default: 0.9
- key: maxTokens
default: 2000Trong ví dụ này:
- Nếu người dùng không chỉ định
temperature, giá trị mặc định sẽ là0.7 - Nếu người dùng đặt
temperaturethành0.5một cách rõ ràng, giá trị của họ (0.5) sẽ được ưu tiên. - Trường
addParams(nếu được cấu hình) có thể ghi đè các giá trị mặc định này - Các lựa chọn của người dùng trong giao diện người dùng luôn có mức độ ưu tiên cao nhất
Anthropic
Có hai chế độ endpoint tùy chỉnh liên quan đến Anthropic:
provider: 'anthropic'trên endpoint tùy chỉnh sử dụng client/v1/messagesgốc của Anthropic. Hãy sử dụng tùy chọn này cho chính Anthropic hoặc các gateway hỗ trợ Anthropic Messages API.customParams.defaultParamsEndpoint: 'anthropic'giữ endpoint tùy chỉnh trên đường dẫn tương thích với OpenAI trong khi áp dụng siêu dữ liệu tham số và điều chỉnh yêu cầu theo kiểu Anthropic.
Khi sử dụng defaultParamsEndpoint: 'anthropic', hệ thống cung cấp cơ chế xử lý đặc biệt vượt xa việc chỉ hiển thị và sử dụng các bộ tham số của Anthropic:
Khả năng tương thích với Anthropic API
Việc thiết lập defaultParamsEndpoint: 'anthropic' sẽ điều chỉnh các tham số, tiêu đề và định dạng payload cho các yêu cầu theo cấu trúc của Anthropic trên đường dẫn endpoint tùy chỉnh:
- Các tham số được gửi đến endpoint tùy chỉnh của bạn chính xác theo cách mà Anthropic API yêu cầu
- Điều này rất cần thiết cho các dịch vụ proxy như LiteLLM, vốn chuyển trực tiếp các tham số không thuộc chuẩn OpenAI đến nhà cung cấp cơ sở.
- Các tham số đặc thù của Anthropic như
thinkingđược định dạng đúng cách - Payload
messagesđược định dạng theo các yêu cầu của Anthropic (các khối thinking và bộ nhớ đệm prompt) - Các tiêu đề beta thích hợp sẽ được tự động thêm vào dựa trên model giống như khi sử dụng trực tiếp Anthropic
Điều này chủ yếu là cần thiết để định dạng đúng tham số thinking, vốn không tương thích với OpenAI:
{
"thinking": {
"type": "enabled",
"budget_tokens": 10000
}
}Ngoài ra, hệ thống tự động thêm các tiêu đề beta Anthropic dành riêng cho model như:
anthropic-beta: prompt-caching-2024-07-31để hỗ trợ tính năng prompt cachinganthropic-beta: context-1m-2025-08-07cho các mô hình có ngữ cảnh mở rộng- Các cờ tính năng dành riêng cho model dựa trên model Claude đang được sử dụng
Đối với các endpoint tương thích với Anthropic gốc, hãy ưu tiên sử dụng provider: 'anthropic' trên endpoint tùy chỉnh. Cấu hình này sẽ định tuyến các tác nhân (agents), tóm tắt, quản lý token/ngữ cảnh và các tham số mặc định thông qua đường dẫn nhà cung cấp Anthropic.
Phát lại suy luận
Một số cổng kết nối suy luận tương thích với OpenAI yêu cầu reasoning_content của nhà cung cấp phải được phát lại trong các lượt gọi công cụ (tool-call) của trợ lý. Sử dụng các cờ endpoint tùy chỉnh để chỉ chọn tham gia cho các nhà cung cấp cần hành vi này:
customParams:
reasoningFormat: reasoning_object
reasoningKey: reasoning_content
includeReasoningContent: trueChỉ đặt includeReasoningHistory: true khi nhà cung cấp cũng yêu cầu LibreChat tái tạo reasoning_content từ lịch sử hội thoại đã lưu trong các lượt phản hồi sau đó. Điều này ngụ ý includeReasoningContent.
Trạng thái triển khai
Hiện tại, việc xử lý tham số và tiêu đề tự động này đã được triển khai đầy đủ cho các endpoint tùy chỉnh theo kiểu Anthropic. Hành vi tương tự cho các giá trị defaultParamsEndpoint khác (ví dụ: google, bedrock) đã được lên kế hoạch cho các bản cập nhật trong tương lai.
Hướng dẫn này thế nào?