Автентикация
Две удостоверения — API ключ за машини, сесия за конзолата — и правилата, които ги разделят.
Два вида удостоверения
API приема API ключ. Конзолата приема сесийна бисквитка. Те не са взаимозаменяеми и API налага това, вместо да решава за всяка заявка дали бисквитка е трябвало да присъства.
Заявка, удостоверена със сесийна бисквитка, получава 403 api_key_required със съобщение, което сочи към страницата с ключове в конзолата. Това е умишлено: без път към API, удостоверен с бисквитка, няма нищо, което междусайтова заявка да подправи.
Заглавката
Изпратете ключа като bearer token. Ключът е префикс, точка и тайна; префиксът идентифицира реда, така че отнемането е незабавно и струва едно търсене.
curl https://api.llmeu.com/v1/chat/completions \
-H "Authorization: Bearer llmeu_live_xxxxxxxx.your-secret" \
-H "Content-Type: application/json" \
-d '{"model":"llmeu-auto","messages":[{"role":"user","content":"Hello"}]}'
Обхвати
Ключът носи един или повече обхвати. Заявка, чийто ключ няма обхвата, който изисква дадена крайна точка, се отказва с 403 insufficient_scope, преди тялото да бъде анализирано.
| Обхват | Отключва |
|---|---|
| inference | Завършвания на чат, вграждания и крайните точки за списък и подробности за модели. |
| platform_read | Четене на вашата организация: профил, ключове, използване, проследявания и политики. |
| platform_write | Създаване и отнемане на ключове и създаване или редактиране на политики. Това е обхватът, който променя кой какво може да прави, затова го издавайте внимателно. |
Обхватите се проверяват за всяка крайна точка, не за всеки ключ. Ключ с platform_read не може да харчи кредит през площадката за тестване.
Създаване на ключ
В конзолата или през platform API с ключ, който вече носи platform_write. Тайната се показва веднъж, при създаването: съхранява се само scrypt хеш, така че никой — включително ние — не може да я прочете обратно.
curl -X POST https://api.llmeu.com/platform/v1/api-keys \
-H "Authorization: Bearer llmeu_live_xxxxxxxx.a-platform-write-key" \
-H "Content-Type: application/json" \
-d '{"name":"ci","scopes":["inference"]}'
Административните действия в конзолата — политики, екип, настройки, кредит, отнемане на ключове — са само за собственик или администратор, независимо какви обхвати носи даден ключ.
Отнемане и какво ключът не е
Ключът принадлежи на организация и организацията се определя от самия ключ — никога от поле в тялото на заявката, така че извикващият не може да се обърне към друг наемател с учтива молба. Отнемането влиза в сила при следващата заявка. Ротацията означава създаване на втори ключ, преместване на трафика и след това отнемане на първия; няма прозорец за застъпване, който да се конфигурира.
Вместо това за конзолата
Влизането, възстановяването на парола и потвърждаването на адрес са документирани с конзолата. Няма OAuth, нито SAML, нито персонален токен за достъп: конзолата използва сесийна бисквитка, API използва ключове.