Подключение
Базовый URL, учётные данные и доступный сервер.
Выберите JSON или обычный текст по уже разобранным диапазонам Accept.
Базовый URL, учётные данные и доступный сервер.
Модель, которую предоставляет настроенный endpoint.
Объём контекста и поддержка инструментов определяются моделью и сервером.
def choose_media(ranges):
offered = ["application/json", "text/plain"]
if not ranges:
return offered[0]
choices = []
for i, media in enumerate(offered):
family = media.split("/")[0] + "/*"
matches = [(2 if p == media else 1 if p == family else 0, q)
for p, q in ranges if p in (media, family, "*/*")]
quality = max(matches, default=(-1, 0))[1]
if quality > 0:
choices.append((quality, -i, media))
return max(choices)[2] if choices else None