发送请求到聊天补全(文本和图像)、补全和嵌入端点。
类似 OpenAI 的 API 端点
LM Studio 接受多个 OpenAI 端点的请求并返回类似 OpenAI 的响应对象。
支持的端点
GET /v1/models
POST /v1/chat/completions
POST /v1/embeddings
POST /v1/completions
请参见以下关于每个端点的更多信息
重用现有的 OpenAI 客户端
您可以重用现有的 OpenAI 客户端(在 Python、JS、C# 等中),通过更改“基本 URL”属性使其指向您的 LM Studio,而不是 OpenAI 的服务器。
将基本 URL
更改为指向 LM Studio
注意:以下示例假设服务器端口为1234
Python
from openai import OpenAI
client = OpenAI(
+ base_url="https://127.0.0.1:1234/v1"
)
# ... the rest of your code ...
Typescript
import OpenAI from 'openai';
const client = new OpenAI({
+ baseUrl: "https://127.0.0.1:1234/v1"
});
// ... the rest of your code ...
cURL
- curl https://api.openai.com/v1/chat/completions \
+ curl https://127.0.0.1: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
}'
端点概述
/v1/models
cURL 示例
curl https://127.0.0.1:1234/v1/models
/v1/chat/completions
Python 示例
from openai import OpenAI
client = OpenAI(base_url="https://127.0.0.1:1234/v1" , api_key="lm-studio" )
completion = client.chat.completions.create(
model="model-identifier" ,
messages=[
{"role" : "system" , "content" : "Always answer in rhymes." },
{"role" : "user" , "content" : "Introduce yourself." }
],
temperature=0.7 ,
)
print (completion.choices[0 ].message)
/v1/embeddings
POST
请求
发送字符串或字符串数组,并获取文本嵌入数组(整数令牌 ID)
请参见OpenAI 的文档 了解更多信息
Python 示例
from openai import OpenAI
client = OpenAI(base_url="https://127.0.0.1:1234/v1" , api_key="lm-studio" )
def get_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
OpenAI 不再支持此类似 OpenAI 的端点。LM Studio 继续支持它。
使用此端点与经过微调的聊天模型可能会导致意外行为,例如模型发出多余的角色标记。
为了获得最佳效果,请使用基础模型。
支持的有效负载参数
有关每个参数的说明,请参见https://platform.openai.com/docs/api-reference/chat/create 。
model
top_p
top_k
messages
temperature
max_tokens
stream
stop
presence_penalty
frequency_penalty
logit_bias
repeat_penalty
seed
在LM Studio Discord 服务器 上与其他 LM Studio 开发人员聊天,讨论 LLMs、硬件等。