LM Studio может запускать локальный HTTP-сервер, который предоставляет OpenAI-совместимый API для взаимодействия с вашими локальными моделями. Это позволяет использовать любые инструменты, SDK или приложения, совместимые с OpenAI API, с вашими локальными моделями.

Запуск сервера

Через графический интерфейс

  1. Перейдите на вкладку Локальный сервер (Local Server), нажав + 3 на Mac или Ctrl + 3 на Windows/Linux
  2. Выберите модель из выпадающего списка (Select a model to load)
  3. Нажмите кнопку Запустить сервер (Start Server)
  4. Сервер будет доступен по адресу 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. Если вы хотите сделать сервер доступным для других устройств в вашей локальной сети:

  1. Откройте настройки сервера (Server Settings)
  2. Измените хост с localhost на 0.0.0.0
  3. Перезапустите сервер
  4. Теперь сервер доступен по адресу 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, убедитесь, что он используется для ускорения

>


Оригинал страницы