09 - Локальный сервер
LM Studio может запускать локальный HTTP-сервер, который предоставляет OpenAI-совместимый API для взаимодействия с вашими локальными моделями. Это позволяет использовать любые инструменты, SDK или приложения, совместимые с OpenAI API, с вашими локальными моделями.
Запуск сервера
Через графический интерфейс
- Перейдите на вкладку Локальный сервер (Local Server), нажав
⌘+3на Mac илиCtrl+3на Windows/Linux - Выберите модель из выпадающего списка (Select a model to load)
- Нажмите кнопку Запустить сервер (Start Server)
- Сервер будет доступен по адресу
http://localhost:1234
Через CLI (lms)
Вы также можете запустить сервер из командной строки:
lms server start
Или загрузить конкретную модель и запустить сервер:
lms load openai/gpt-oss-20b lms server start
Доступные эндпоинты
Локальный сервер LM Studio предоставляет следующие эндпоинты:
OpenAI-совместимые эндпоинты
Chat Completions (Завершения чата)
POST /v1/chat/completions
Completions (Завершения)
POST /v1/completions
Embeddings (Эмбеддинги)
POST /v1/embeddings
Models (Модели)
GET /v1/models
Нативные эндпоинты LM Studio (бета)
Загрузка модели
POST /api/v0/load
Выгрузка модели
POST /api/v0/unload
Статус модели
GET /api/v0/model
Конфигурация
POST /api/v0/config
Примеры использования
Использование с curl
Простой запрос к эндпоинту Chat Completions:
curl http://localhost:1234/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "loaded-model",
"messages": [
{"role": "user", "content": "Привет, как дела?"}
]
}'
Использование с Python (OpenAI SDK)
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:1234/v1",
api_key="not-needed"
)
response = client.chat.completions.create(
model="loaded-model",
messages=[
{"role": "user", "content": "Привет, как дела?"}
]
)
print(response.choices[0].message.content)
Использование с JavaScript/TypeScript
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'http://localhost:1234/v1',
apiKey: 'not-needed'
});
const response = await client.chat.completions.create({
model: 'loaded-model',
messages: [
{ role: 'user', content: 'Привет, как дела?' }
]
});
console.log(response.choices[0].message.content);
Настройки сервера
Вы можете настроить параметры сервера в интерфейсе Локальный сервер (Local Server):
Порт (Port)
По умолчанию сервер слушает на порту 1234. Вы можете изменить его в настройках.
CORS
По умолчанию CORS включён, что позволяет веб-приложениям обращаться к серверу. Вы можете отключить его в настройках безопасности.
Загрузка модели при запуске
Вы можете настроить автоматическую загрузку определённой модели при запуске сервера.
Параллельные запросы
Сервер может обрабатывать несколько запросов параллельно, но это зависит от доступных ресурсов (RAM, GPU).
Использование в локальной сети
По умолчанию сервер слушает только на localhost. Если вы хотите сделать сервер доступным для других устройств в вашей локальной сети:
- Откройте настройки сервера (Server Settings)
- Измените хост с
localhostна0.0.0.0 - Перезапустите сервер
- Теперь сервер доступен по адресу
http://YOUR_LOCAL_IP:1234
Узнать ваш локальный IP-адрес:
Mac / Linux:
ifconfig | grep "inet " | grep -v 127.0.0.1
Windows:
ipconfig | findstr /i "IPv4"
Остановка сервера
Через графический интерфейс
Нажмите кнопку Остановить сервер (Stop Server) на вкладке Локальный сервер (Local Server).
Через CLI
lms server stop
Устранение неполадок
Сервер не запускается
- Проверьте, что порт 1234 не занят другим приложением
- Убедитесь, что модель успешно загружена в память
- Проверьте логи LM Studio для получения подробной информации об ошибке
Модель не отвечает
- Убедитесь, что модель загружена (проверьте статус на вкладке Локальный сервер)
- Проверьте, что у вас достаточно RAM для модели
- Попробуйте перезапустить сервер
Ошибки CORS
- Убедитесь, что CORS включён в настройках сервера
- Проверьте, что ваше веб-приложение отправляет правильные заголовки
Медленные ответы
- Используйте меньшую модель или более агрессивное квантование
- Уменьшите размер контекста (context length)
- Закройте другие приложения, использующие много ресурсов
- Если есть GPU, убедитесь, что он используется для ускорения
>