27 lines
1.7 KiB
Kotlin
27 lines
1.7 KiB
Kotlin
package pw.binom.llmproxy
|
|
|
|
import kotlin.time.Duration
|
|
import kotlin.time.Duration.Companion.seconds
|
|
|
|
/** Предел времени на весь запрос к апстриму, мс: от отправки до приёма всего ответа (включая стриминг). */
|
|
const val UPSTREAM_REQUEST_TIMEOUT_MS: Long = 5 * 60_000L
|
|
|
|
/**
|
|
* Default «watchdog» на первый байт тела стрим-ответа: если апстрим не прислал
|
|
* ни одного байта за это время, прокси считает это сбоем апстрима и
|
|
* фейловерит (освобождает слот конкурентности, считает ошибку в backoff и
|
|
* идёт к следующему апстриму модели). Применяется ТОЛЬКО к stream=true
|
|
* запросам; для non-stream работает общий [UPSTREAM_REQUEST_TIMEOUT_MS].
|
|
* Отключается явным `first_byte_timeout: PT0S` на апстриме или провайдере.
|
|
*/
|
|
val DEFAULT_FIRST_BYTE_TIMEOUT: Duration = 30.seconds
|
|
|
|
/**
|
|
* Default интервал фоновой проверки («пинга») апстрима, который сейчас в
|
|
* backoff-откате: пока апстрим молчит, HealthProber шлёт ему минимальный
|
|
* запрос (2+2=?, max_tokens=4) каждые [DEFAULT_PROBE_INTERVAL], и как только
|
|
* он отвечает — снимает его с отката раньше, чем истечёт интервал бэкоффа.
|
|
* Отключается явным `probe_interval: PT0S` на апстриме или провайдере.
|
|
*/
|
|
val DEFAULT_PROBE_INTERVAL: Duration = 1.seconds
|