FOCUS AI API Documentation

Добро пожаловать в документацию FOCUS AI API. Наш API предоставляет доступ к мощной языковой модели для создания интеллектуальных приложений.

Совместимость с OpenAI: FOCUS AI API полностью совместим с OpenAI API, что позволяет легко интегрировать его в существующие проекты.

Аутентификация

Для доступа к API используйте API ключ в заголовке Authorization:

Authorization: Bearer fai-YOUR_API_KEY

Получить API ключ можно в личном кабинете.

Быстрый старт

1. Получите API ключ

Зарегистрируйтесь и создайте API ключ в личном кабинете.

2. Установите библиотеку OpenAI

pip install openai

3. Отправьте первый запрос

from openai import OpenAI

client = OpenAI(
    api_key="fai-YOUR_API_KEY",
    base_url="https://focusapi.ru"
)

response = client.chat.completions.create(
    model="focus-ai",
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)

print(response.choices[0].message.content)

Chat Completions

POST /chat/completions

Создает ответ модели на основе списка сообщений.

Параметры запроса

Параметр Тип Обязательный Описание
model string Да ID модели для использования (например: focus-ai)
messages array Да Список сообщений в формате chat
stream boolean Нет Включить потоковую передачу (по умолчанию: false)
temperature number Нет Температура сэмплирования (0.0 - 2.0, по умолчанию: 0.7)
max_tokens integer Нет Максимальное количество токенов (по умолчанию: 2000)
top_p number Нет Nucleus sampling (0.0 - 1.0, по умолчанию: 0.95)

Формат сообщений

{
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant."
    },
    {
      "role": "user",
      "content": "Hello!"
    }
  ]
}

Доступные роли:

Пример ответа

{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "focus-ai",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 9,
    "total_tokens": 19
  }
}

Модели

focus-ai

Основная модель FOCUS AI на базе Qwen3.

Обработка ошибок

Коды ошибок

Код Описание
401 Неверный или отсутствующий API ключ
403 Нет активной подписки
429 Превышен лимит запросов
500 Внутренняя ошибка сервера

Формат ошибки

{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}

Примеры: cURL

Простой запрос

curl https://focusapi.ru/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fai-YOUR_API_KEY" \
  -d '{
    "model": "focus-ai",
    "messages": [
      {"role": "user", "content": "Hello!"}
    ]
  }'

Streaming запрос

curl https://focusapi.ru/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fai-YOUR_API_KEY" \
  -d '{
    "model": "focus-ai",
    "messages": [
      {"role": "user", "content": "Tell me a story"}
    ],
    "stream": true
  }'

Примеры: Python

Простой запрос

from openai import OpenAI

client = OpenAI(
    api_key="fai-YOUR_API_KEY",
    base_url="https://focusapi.ru"
)

response = client.chat.completions.create(
    model="focus-ai",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Explain quantum computing"}
    ]
)

print(response.choices[0].message.content)

Streaming запрос

from openai import OpenAI

client = OpenAI(
    api_key="fai-YOUR_API_KEY",
    base_url="https://focusapi.ru"
)

stream = client.chat.completions.create(
    model="focus-ai",
    messages=[
        {"role": "user", "content": "Write a poem about AI"}
    ],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Примеры: Node.js

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'fai-YOUR_API_KEY',
  baseURL: 'http://focusapi.ru'
});

async function main() {
  const completion = await client.chat.completions.create({
    model: 'focus-ai',
    messages: [
      { role: 'user', content: 'Hello!' }
    ]
  });

  console.log(completion.choices[0].message.content);
}

main();

Примеры: PHP

$apiKey = 'fai-YOUR_API_KEY';
$url = 'http://focusapi.ru/chat/completions';

$data = [
    'model' => 'focus-ai',
    'messages' => [
        ['role' => 'user', 'content' => 'Hello!']
    ]
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer ' . $apiKey
]);

$response = curl_exec($ch);
$result = json_decode($response, true);

echo $result['choices'][0]['message']['content'];

curl_close($ch);
Совет: Используйте примеры кода выше для быстрой проверки API перед интеграцией.