Skip to content

API-ключи

Каждая модель в llms.toml ссылается на свой ключ по имени; откуда берётся значение — решает подключённый бэкенд секретов. По умолчанию — переменные окружения и .env:

llmbroker env llms.toml > .env

Команда печатает заготовку с подсказкой над каждым ключом, где его получить. Те же подсказки доступны программно — Registry.key_info().

Модель без ключа просто остаётся неактивной — пул работает на тех ключах, что есть.

Ключи из кода

secrets = llmbroker.DictSecrets({"GROQ_API_KEY": "gsk_..."})

secrets= брокера принимает и обычную функцию (имя) -> значение, синхронную или асинхронную — минимальный способ подключить любое своё хранилище.

AWS Secrets Manager

Установите extra llmbroker[aws] (Установка):

from llmbroker.aws import Secrets as AwsSecrets

async with llmbroker.AsyncBroker(
    registry=llmbroker.Registry("llms.toml"),
    secrets=AwsSecrets(region_name="us-east-1"),
) as llms:
    reply = await llms.ask("Привет")

Имена секретов — llmbroker/{имя ключа}; префикс настраивается.

HashiCorp Vault

Установите extra llmbroker[vault]:

from llmbroker.vault import Secrets as VaultSecrets

secrets = VaultSecrets(url="https://vault.example.com", token="s.xxx")

KV v2, путь llmbroker/{имя ключа}; точка монтирования настраивается через mount_point=.

Ключи в БД

Брокер, созданный из БД (Broker("broker.db"), Postgres, MongoDB), хранит ключи в той же БД — см. Серверы и кластеры. Любую комбинацию можно собрать явно:

# БД для всего, но ключи из окружения
llmbroker.AsyncBroker("postgresql://host/db", secrets=llmbroker.Secrets())

Свой ключ на пользователя

В многопользовательском приложении ключ ищется сначала по пользователю, потом общий — см. scope.