As an LLM developer, you likely care about what inputs exactly go to the model. Utilize LM Studio's CLI to see the fully formatted prompt before it goes to the model.
LM Studio accepts requests on several OpenAI endpoints and returns OpenAI-like response objects.
Supported endpoints
GET /v1/models
POST /v1/chat/completions
POST /v1/embeddings
POST /v1/completions
See below for more info about each endpoint
Re-using an existing OpenAI client
Pro Tip
You can reuse existing OpenAI clients (in Python, JS, C#, etc) by switching up the "base URL" property to point to your LM Studio instead of OpenAI's servers.
Switching up the base url to point to LM Studio
Note: The following examples assume the server port is 1234
Python
from openai import OpenAI
client = OpenAI(
+ base_url="http://localhost:1234/v1"
)
# ... the rest of your code ...
Typescript
import OpenAI from 'openai';
const client = new OpenAI({
+ baseUrl: "http://localhost:1234/v1"
});
// ... the rest of your code ...
cURL
- curl https://api.openai.com/v1/chat/completions \+ curl http://localhost:1234/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
- "model": "gpt-4o-mini",+ "model": "use the model identifier from LM Studio here",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
}'
Endpoints overview
/v1/models
GET request
Lists the currently loaded models.
cURL example
curl http://localhost:1234/v1/models
/v1/chat/completions
POST request
Send a chat history and receive the assistant's response
Prompt template is applied automatically
You can provide inference parameters such as temperature in the payload. See supported parameters
# Make sure to `pip install openai` firstfrom openai import OpenAI
client = OpenAI(base_url="http://localhost:1234/v1", api_key="lm-studio")
defget_embedding(text, model="model-identifier"):
text = text.replace("\n", " ")
return client.embeddings.create(input = [text], model=model).data[0].embedding
print(get_embedding("Once upon a time, there was a cat."))
/v1/completions
Heads Up
This OpenAI-like endpoint is no longer supported by OpenAI. LM Studio continues to support it.
Using this endpoint with chat-tuned models might result in unexpected behavior such as extraneous role tokens being emitted by the model.
For best results, utilize a base model.
POST request
Send a string and get the model's continuation of that string