OpenAI-совместимый API через LiteLLM. Если у тебя уже есть код под OpenAI — переключишь одной строкой.
LiteLLM — прокси-сервер, который принимает запросы в формате OpenAI и маршрутизирует их к нужной модели (Qwen, Gemini, Grok, DeepSeek и другим). Для тебя это выглядит как обычный OpenAI API — только бесплатный и с другими моделями.
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://api.mpa.ru.net/v1';
$data = [
'model' => 'qwen3.5-flash',
'messages' => [
['role' => 'user', 'content' => 'Привет! Что такое нейросеть?']
],
];
$ch = curl_init($baseUrl . '/chat/completions');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
],
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
echo $response['choices'][0]['message']['content'];
<?php
function chat(array $messages, string $apiKey): string {
$data = [
'model' => 'qwen3.5-flash',
'messages' => $messages,
];
$ch = curl_init('https://api.mpa.ru.net/v1/chat/completions');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
],
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
return $response['choices'][0]['message']['content'];
}
$history = [
['role' => 'system', 'content' => 'Ты помощник программиста.'],
['role' => 'user', 'content' => 'Как написать цикл for в PHP?'],
];
$answer = chat($history, 'YOUR_API_KEY');
$history[] = ['role' => 'assistant', 'content' => $answer];
$history[] = ['role' => 'user', 'content' => 'А while?'];
$answer2 = chat($history, 'YOUR_API_KEY');
echo $answer2;
<?php
$apiKey = 'YOUR_API_KEY';
$data = [
'model' => 'qwen3.5-flash',
'stream' => true,
'messages' => [
['role' => 'user', 'content' => 'Напиши короткое стихотворение про PHP']
],
];
header('Content-Type: text/event-stream');
header('X-Accel-Buffering: no');
$ch = curl_init('https://api.mpa.ru.net/v1/chat/completions');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
],
CURLOPT_WRITEFUNCTION => function ($ch, $chunk) {
$lines = explode("\n", $chunk);
foreach ($lines as $line) {
if (str_starts_with($line, 'data: ')) {
$json = substr($line, 6);
if ($json === '[DONE]') break;
$data = json_decode($json, true);
$token = $data['choices'][0]['delta']['content'] ?? '';
echo $token;
ob_flush(); flush();
}
}
return strlen($chunk);
},
]);
curl_exec($ch);
curl_close($ch);
В личку @ManyuninPA или в Telegram-группу
Выдадим API-ключ и лимиты токенов
Base URL: https://api.mpa.ru.net/v1
Полный список зависит от выданного ключа. Уточни при получении.