Собственная интеграция¶
Граница совместимости¶
Собственная интеграция совместима с Nexus, если она умеет задать:
https://api.nexus-hub.ru/v1для OpenAI Chat или Responses;https://api.nexus-hub.ruдля Anthropic Messages;https://api.nexus-hub.ru/v1betaдля Gemini-compatible;- Bearer или другой поддерживаемый API-key header;
- модель из
GET /v1/models; - JSON и, если нужно, SSE streaming.
OpenAI Python SDK¶
Официальный SDK позволяет задать base_url и api_key:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NEXUS_API_KEY"],
base_url="https://api.nexus-hub.ru/v1",
)
response = client.responses.create(
model=os.environ["NEXUS_MODEL"],
input="Reply exactly OK.",
max_output_tokens=16,
)
print(response.output_text)
Передайте NEXUS_MODEL значением из GET /v1/models. Для Chat Completions
используйте client.chat.completions.create и соответствующий лимит вывода.
Anthropic Python SDK¶
Для Messages задайте base_url без /v1:
import os
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ["NEXUS_API_KEY"],
base_url="https://api.nexus-hub.ru",
)
message = client.messages.create(
model=os.environ["NEXUS_MODEL"],
max_tokens=16,
messages=[{"role": "user", "content": "Reply exactly OK."}],
)
print(message.content)
Retries, timeouts и streaming¶
Задайте timeout явно и повторяйте запрос только для ошибок, которые безопасно
повторять в вашей бизнес-логике. Не повторяйте запрос с тем же x-request-id.
Для streaming обрабатывайте SSE до terminal event и закрывайте соединение при
ошибке; не записывайте body в логи.
Ключи и эксплуатация¶
- Храните key в переменной окружения или менеджере секретов.
- Не коммитьте его и не включайте в исключения, traces, screenshots или prompt.
- После компрометации отзовите key и создайте новый.
- В поддержку отправляйте только метод, маршрут, код ошибки, версию SDK и
x-request-id.
Официальные SDK: openai-python и anthropic-sdk-python. Поля маршрутов описаны в справочнике API Nexus.