{"id":1680,"date":"2026-10-31T14:49:01","date_gmt":"2026-10-31T05:49:01","guid":{"rendered":"https:\/\/cg-method.com\/ai\/?p=1680"},"modified":"2026-10-31T14:49:01","modified_gmt":"2026-10-31T05:49:01","slug":"lm-studio-api-guide","status":"publish","type":"post","link":"https:\/\/cg-method.com\/ai\/lm-studio-api-guide\/","title":{"rendered":"LM Studio API\u306e\u4f7f\u3044\u65b9\uff5cPython\u3068\u30e2\u30c7\u30ebID"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u7d50\u8ad6\u304b\u3089\u66f8\u304f\u3068\u3001LM Studio\u306eAPI\u306f\u3001\u30b5\u30fc\u30d0\u30fc\u3092\u8d77\u52d5\u3057\u3066 <code>http:\/\/127.0.0.1:1234\/v1<\/code> \u306b\u3001<code>\/v1\/models<\/code> \u3067\u8fd4\u3063\u305fid\u3092\u6307\u5b9a\u3057\u3066\u9001\u308c\u3070\u3001Python\u304b\u3089\u4f7f\u3048\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8a8d\u8a3c\u306f\u65e2\u5b9a\u3067\u7121\u52b9\u306a\u306e\u3067\u3001API\u30ad\u30fc\u304c\u8981\u308b\u306e\u306f\u3001Server Settings\u3067\u8a8d\u8a3c\u3092\u6709\u52b9\u306b\u3057\u305f\u3068\u304d\u3060\u3051\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Windows 11\u3068LM Studio 0.4.27\u3067\u3001lms\u30b3\u30de\u30f3\u30c9\u304b\u3089\u30b5\u30fc\u30d0\u30fc\u3092\u8d77\u52d5\u3057\u3001Llama 3.2 3B\u306bPython\u304b\u3089\u9001\u308b\u307e\u3067\u3092\u5b9f\u6a5f\u3067\u78ba\u304b\u3081\u307e\u3057\u305f\uff082026\u5e7410\u670831\u65e5\uff09\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8a8d\u8a3c\u306e\u6709\u52b9\u5316\u306a\u3069\u753b\u9762\u3067\u3057\u304b\u3067\u304d\u306a\u3044\u64cd\u4f5c\u306f\u3001\u516c\u5f0f\u8cc7\u6599\u306e\u8a18\u8f09\u3068\u3057\u3066\u5206\u3051\u3066\u66f8\u3044\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table class=\"has-fixed-layout\"><thead><tr><th style=\"min-width:8em !important\">\u6c7a\u3081\u308b\u3053\u3068<\/th><th>\u5f53\u65b9\u306e\u5024<\/th><th>\u78ba\u304b\u3081\u65b9<\/th><\/tr><\/thead><tbody><tr><td>\u63a5\u7d9a\u5148\uff08Base URL\uff09<\/td><td>http:\/\/127.0.0.1:1234\/v1<\/td><td>lms server status \u3067\u30dd\u30fc\u30c8\u3092\u898b\u308b<\/td><\/tr><tr><td>\u30e2\u30c7\u30ebID<\/td><td>llama-3.2-3b-instruct<\/td><td>GET \/v1\/models \u306e data[].id<\/td><\/tr><tr><td>API\u30ad\u30fc<\/td><td>\u4e0d\u8981\uff08\u8a8d\u8a3c\u306f\u65e2\u5b9a\u3067\u7121\u52b9\uff09<\/td><td>\u8a8d\u8a3c\u3092\u6709\u52b9\u306b\u3057\u305f\u3068\u304d\u3060\u3051\u30c8\u30fc\u30af\u30f3\u3092\u9001\u308b<\/td><\/tr><tr><td>\u9001\u308a\u5148<\/td><td>POST \/v1\/chat\/completions<\/td><td>\u8fd4\u4e8b\u306e model \u6b04\u3067\u7b54\u3048\u305f\u30e2\u30c7\u30eb\u3092\u78ba\u304b\u3081\u308b<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">LM Studio API\u3067\u6700\u521d\u306b\u305d\u308d\u3048\u308b4\u3064\uff082026\u5e7410\u670831\u65e5\u3001LM Studio 0.4.27\u3067\u78ba\u8a8d\uff09<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u2192 \u95a2\u9023\uff1a<a href=\"https:\/\/cg-method.com\/ai\/lm-studio-guide\/\">LM Studio\u306e\u4f7f\u3044\u65b9<\/a>\uff08\u5c0e\u5165\u3068\u30e2\u30c7\u30eb\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304b\u3089\u59cb\u3081\u308b\u3068\u304d\uff09<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u78ba\u304b\u3081\u305f\u74b0\u5883<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>OS\uff1aWindows 11 Pro\uff0810.0.26200\uff09<\/li>\n\n\n<li>LM Studio\uff1a0.4.27\uff08winget \u306e ElementLabs.LMStudio \u3067\u5c0e\u5165\uff09<\/li>\n\n\n<li>lms\uff1aLM Studio\u306b\u4ed8\u5c5e\u306eCLI<\/li>\n\n\n<li>\u30e2\u30c7\u30eb\uff1almstudio-community\/Llama-3.2-3B-Instruct-GGUF \u306e Q4_K_M\uff082.02GB\uff09<\/li>\n\n\n<li>PC\uff1aRyzen 5 7530U\u30fb\u30e1\u30e2\u30ea16GB\u30fb\u5c02\u7528GPU\u306a\u3057\uff08\u5185\u8535GPU\u306eVulkan\u304c\u9078\u3070\u308c\u3066\u3044\u305f\uff09<\/li>\n\n\n<li>Python\uff1a3.13\uff08\u8ffd\u52a0\u30d1\u30c3\u30b1\u30fc\u30b8\u306a\u3057\uff09<\/li>\n\n\n<li>\u78ba\u8a8d\u65e5\uff1a2026\u5e7410\u670831\u65e5<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u51fa\u529b\u306b\u51fa\u305f\u30e6\u30fc\u30b6\u30fc\u540d\u5165\u308a\u306e\u30d1\u30b9\u306f\u3001&lt;\u30e6\u30fc\u30b6\u30fc\u540d&gt;\u306b\u7f6e\u304d\u63db\u3048\u3066\u8f09\u305b\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30b5\u30fc\u30d0\u30fc\u3092\u8d77\u52d5\u3059\u308b\uff1alms server start \u3068\u5f85\u3061\u53d7\u3051\u5148<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">lms \u306f\u4e00\u5ea6LM Studio\u3092\u8d77\u52d5\u3057\u3066\u304b\u3089\u4f7f\u3046\uff08\u5b9f\u6a5f\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5c0e\u5165\u3057\u305f\u76f4\u5f8c\u306b\u4ed8\u5c5e\u306e lms \u304b\u3089\u8d77\u52d5\u3057\u3088\u3046\u3068\u3059\u308b\u3068\u3001\u6b21\u306e\u30a8\u30e9\u30fc\u3067\u6b62\u307e\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>Error: No running LM Studio or Bionic app, and no valid installation was found.\nError: Failed to start or connect to a local LM Studio or Bionic API server.<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">LM Studio\u3092\u4e00\u5ea6\u8d77\u52d5\u3059\u308b\u3068\u3001<code>C:\\Users\\&lt;\u30e6\u30fc\u30b6\u30fc\u540d&gt;\\.lmstudio<\/code> \u304c\u4f5c\u3089\u308c\u3001\u305d\u306e\u4e2d\u306e bin \u3092LM Studio\u304c\u30e6\u30fc\u30b6\u30fc\u306ePATH\u306b\u8db3\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u305d\u306e\u3042\u3068\u306f\u3001\u65b0\u3057\u3044\u30bf\u30fc\u30df\u30ca\u30eb\u3067 lms \u304c\u305d\u306e\u307e\u307e\u4f7f\u3048\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u8d77\u52d5\u3068\u30dd\u30fc\u30c8\u306e\u78ba\u8a8d<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-powershell\"><code>lms server start\nlms server status<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>Success! Server is now running on port 1234\nThe server is running on port 1234.<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u30dd\u30fc\u30c8\u3092\u6307\u5b9a\u3057\u306a\u3044\u3068\u524d\u56de\u3068\u540c\u3058\u756a\u53f7\u3067\u8d77\u52d5\u3059\u308b\u3001\u3068\u30d8\u30eb\u30d7\u306b\u66f8\u304b\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u756a\u53f7\u306f\u6bce\u56de\u3053\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3067\u78ba\u304b\u3081\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u753b\u9762\u304b\u3089\u8d77\u52d5\u3059\u308b\u5834\u5408\u306f\u3001Developer\u306e\u30da\u30fc\u30b8\u3067Start server\u3092\u6709\u52b9\u306b\u3059\u308b\u3001\u3068\u516c\u5f0f\u306b\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\uff08\u753b\u9762\u3067\u306e\u64cd\u4f5c\u306f\u672a\u78ba\u8a8d\uff09\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u51fa\u5178\uff1a<a href=\"https:\/\/lmstudio.ai\/docs\/developer\/core\/server\" target=\"_blank\" rel=\"noopener\">LM Studio \u516c\u5f0f Local Server\uff082026\u5e7410\u670831\u65e5\u78ba\u8a8d\uff09<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5f85\u3061\u53d7\u3051\u306f127.0.0.1\u3060\u3051\u3001localhost\u306f\u5c11\u3057\u9045\u308c\u308b<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Get-NetTCPConnection \u3067\u898b\u308b\u3068\u30011234\u756a\u306f127.0.0.1\u3060\u3051\u3067\u5f85\u3061\u53d7\u3051\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>LocalAddress LocalPort\n------------ ---------\n127.0.0.1         1234<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">localhost\u3067\u547c\u3076\u3068\u3001\u5148\u306bIPv6\u306e [::1] \u3092\u8a66\u3057\u3066\u304b\u3089127.0.0.1\u306b\u3064\u306a\u3050\u305f\u3081\u3001\/v1\/models \u306e\u5fdc\u7b54\u304c0.004\u79d2\u304b\u30890.22\u79d2\u306b\u5ef6\u3073\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6570\u5024\u3067\u66f8\u3044\u3066\u304a\u3051\u3070\u9060\u56de\u308a\u3057\u306a\u3044\u306e\u3067\u3001\u63a5\u7d9a\u5148\u306f127.0.0.1\u306b\u3057\u3066\u304a\u304f\u306e\u304c\u304a\u3059\u3059\u3081\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u3058\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u307b\u304b\u306e\u6a5f\u5668\u304b\u3089\u4f7f\u3046\u306b\u306f <code>lms server start --bind 0.0.0.0<\/code> \u3068\u3044\u3046\u6307\u5b9a\u304c\u30d8\u30eb\u30d7\u306b\u3042\u308a\u307e\u3059\u304c\u3001\u3053\u306e\u8a18\u4e8b\u3067\u306f\u8a66\u3057\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30e2\u30c7\u30ebID\u3092\u8abf\u3079\u308b\uff1a\/v1\/models \u306e id \u3092\u4f7f\u3046<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u30e2\u30c7\u30eb\u3092\u53d6\u3063\u3066\u4e00\u89a7\u3092\u898b\u308b\uff08\u5b9f\u6a5f\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30e2\u30c7\u30eb\u306f lms get \u306bHugging Face\u306eURL\u3092\u6e21\u3057\u3066\u53d6\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-powershell\"><code>lms get \"https:\/\/huggingface.co\/lmstudio-community\/Llama-3.2-3B-Instruct-GGUF\" --gguf -y\nlms ls<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>You have 2 models, taking up 2.10 GB of disk space.\n\nLLM                      PARAMS    ARCH     SIZE       DEVICE\nllama-3.2-3b-instruct    3B        Llama    2.02 GB    Local\n\nEMBEDDING                               PARAMS    ARCH          SIZE        DEVICE\ntext-embedding-nomic-embed-text-v1.5              Nomic BERT    84.11 MB    Local<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u4fdd\u5b58\u5148\u306f <code>C:\\Users\\&lt;\u30e6\u30fc\u30b6\u30fc\u540d&gt;\\.lmstudio\\models\\lmstudio-community\\Llama-3.2-3B-Instruct-GGUF<\/code> \u3067\u3001\u30d5\u30a1\u30a4\u30eb\u306f2,019,377,440\u30d0\u30a4\u30c8\u3067\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u691c\u7d22\u8a9e\u3060\u3051\u306e lms get llama-3.2-3b \u306f\u300cNo staff picks found\u300d\u3067\u6b62\u307e\u3063\u305f\u306e\u3067\u3001\u898b\u3064\u304b\u3089\u306a\u3044\u3068\u304d\u306fURL\u3067\u6e21\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e00\u89a7\u306e2\u3064\u76ee\u306e\u57cb\u3081\u8fbc\u307f\u30e2\u30c7\u30eb\u306f\u3001\u81ea\u5206\u3067\u306f\u5165\u308c\u3066\u304a\u3089\u305a\u3001\u6700\u521d\u304b\u3089\u5165\u3063\u3066\u3044\u305f\u3082\u306e\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\/v1\/models \u306e\u8fd4\u4e8b\u3068\u3001\u8aad\u307f\u8fbc\u307f\u524d\u3067\u3082\u4e26\u3076\u3053\u3068<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-powershell\"><code>curl.exe http:\/\/127.0.0.1:1234\/v1\/models<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>{\n  \"data\": [\n    {\n      \"id\": \"llama-3.2-3b-instruct\",\n      \"object\": \"model\",\n      \"owned_by\": \"organization_owner\"\n    },\n    {\n      \"id\": \"text-embedding-nomic-embed-text-v1.5\",\n      \"object\": \"model\",\n      \"owned_by\": \"organization_owner\"\n    }\n  ],\n  \"object\": \"list\"\n}<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u6642\u70b9\u306e lms ps \u306f\u300cNo models are currently loaded.\u300d\u3067\u3001\u30e1\u30e2\u30ea\u306b\u8aad\u307f\u8fbc\u3080\u524d\u304b\u3089\u4e00\u89a7\u306b\u4e26\u3093\u3067\u3044\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u516c\u5f0f\u306eList Models\u306b\u3082\u3001Just-In-Time\u8aad\u307f\u8fbc\u307f\u304c\u6709\u52b9\u306a\u3089\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u6e08\u307f\u306e\u30e2\u30c7\u30eb\u304c\u3059\u3079\u3066\u4e26\u3076\u3053\u3068\u304c\u3042\u308b\u3068\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u57cb\u3081\u8fbc\u307f\u7528\u306e\u30e2\u30c7\u30eb\u3082\u540c\u3058\u4e00\u89a7\u306b\u6df7\u3056\u308b\u306e\u3067\u3001\u30c1\u30e3\u30c3\u30c8\u306b\u4f7f\u3046\u306e\u306f\u7a2e\u985e\u304cLLM\u306eid\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7a2e\u985e\u307e\u3067\u898b\u305f\u3044\u3068\u304d\u306f\u3001\u72ec\u81eaAPI\u306e <code>\/api\/v1\/models<\/code> \u304c type\uff08embedding \u306a\u3069\uff09\u3084 size_bytes\u3001loaded_instances \u3092\u8fd4\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u51fa\u5178\uff1a<a href=\"https:\/\/lmstudio.ai\/docs\/developer\/openai-compat\/models\" target=\"_blank\" rel=\"noopener\">LM Studio \u516c\u5f0f List Models\uff082026\u5e7410\u670831\u65e5\u78ba\u8a8d\uff09<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ID\u3092\u9593\u9055\u3048\u3066\u3082\u3001\u8aad\u307f\u8fbc\u307f\u6e08\u307f\u306e\u30e2\u30c7\u30eb\u304c\u7b54\u3048\u308b\u3053\u3068\u304c\u3042\u308b\uff08\u5b9f\u6a5f\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">llama-3.2-3b-instruct \u3092\u8aad\u307f\u8fbc\u3093\u3060\u72b6\u614b\u3067\u3001\u308f\u3056\u3068 llama-3.2-3b \u3084 no-such-model \u3068\u9001\u308b\u3068\u3001\u3069\u3061\u3089\u3082HTTP 200\u3067\u7b54\u3048\u304c\u8fd4\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>  \"model\": \"llama-3.2-3b-instruct\",\n        \"content\": \"Hello from you!\",\nHTTP 200<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd4\u4e8b\u306e model \u6b04\u306f llama-3.2-3b-instruct \u3067\u3001\u7b54\u3048\u305f\u306e\u306f\u9001\u3063\u305fID\u3067\u306f\u306a\u304f\u8aad\u307f\u8fbc\u307f\u6e08\u307f\u306e\u30e2\u30c7\u30eb\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">lms unload &#8211;all \u3067\u5916\u3057\u3066\u304b\u3089\u540c\u3058\u3088\u3046\u306b\u9001\u308b\u3068\u3001\u4eca\u5ea6\u306fHTTP 400\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>\"message\": \"No models loaded. Please load a model in the developer page or use the 'lms load' command.\",\n\"type\": \"invalid_request_error\",\n\"param\": \"model\"\nHTTP 400<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3064\u307e\u308a\u3001\u7b54\u3048\u304c\u8fd4\u3063\u305f\u3053\u3068\u306f\u3001\u6307\u5b9a\u3057\u305f\u30e2\u30c7\u30eb\u304c\u52d5\u3044\u305f\u8a3c\u62e0\u306b\u306a\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8907\u6570\u306e\u30e2\u30c7\u30eb\u3092\u4f7f\u3044\u5206\u3051\u308b\u3068\u304d\u306f\u3001\u8fd4\u4e8b\u306e model \u6b04\u304c\u9001\u3063\u305fID\u3068\u540c\u3058\u304b\u3092\u78ba\u304b\u3081\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Python\u304b\u3089\u9001\u308b\uff1a\u8ffd\u52a0\u30d1\u30c3\u30b1\u30fc\u30b8\u306a\u3057\u306e\u6700\u5c0f\u30b3\u30fc\u30c9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b21\u306e\u30b3\u30fc\u30c9\u3092 lmstudio_chat.py \u3068\u3044\u3046\u540d\u524d\u3067\u3001UTF-8\u3067\u4fdd\u5b58\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f15\u6570\u306a\u3057\u306a\u3089\u30e2\u30c7\u30ebID\u306e\u4e00\u89a7\u3001ID\u3092\u6e21\u3059\u3068\u305d\u306e\u30e2\u30c7\u30eb\u306b\u77ed\u3044\u3042\u3044\u3055\u3064\u3092\u983c\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\"><code>import argparse\nimport json\nimport os\nimport urllib.error\nimport urllib.request\n\nparser = argparse.ArgumentParser(description=\"LM Studio\u306e\u30ed\u30fc\u30ab\u30ebAPI\u3092\u78ba\u8a8d\")\nparser.add_argument(\"model\", nargs=\"?\", help=\"\u4e00\u89a7\u306b\u8868\u793a\u3055\u308c\u305f\u30c1\u30e3\u30c3\u30c8\u30e2\u30c7\u30eb\u306eID\")\nargs = parser.parse_args()\n\nbase_url = \"http:\/\/127.0.0.1:1234\/v1\"\nheaders = {\"Content-Type\": \"application\/json\"}\ntoken = os.environ.get(\"LM_API_TOKEN\")\nif token:\n    headers[\"Authorization\"] = \"Bearer \" + token\n\ndef request(path, payload=None):\n    body = None if payload is None else json.dumps(payload).encode(\"utf-8\")\n    req = urllib.request.Request(base_url + path, data=body, headers=headers)\n    with urllib.request.urlopen(req, timeout=120) as response:\n        return json.load(response)\n\ntry:\n    if args.model is None:\n        result = request(\"\/models\")\n        for item in result.get(\"data\", []):\n            print(item[\"id\"])\n        if not result.get(\"data\"):\n            print(\"\u30e2\u30c7\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002LM Studio\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30fb\u8aad\u307f\u8fbc\u307f\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\")\n    else:\n        result = request(\"\/chat\/completions\", {\n            \"model\": args.model,\n            \"messages\": [{\"role\": \"user\", \"content\": \"\u65e5\u672c\u8a9e\u3067\u77ed\u3044\u6328\u62f6\u30921\u6587\u3060\u3051\u8fd4\u3057\u3066\u304f\u3060\u3055\u3044\u3002\"}],\n            \"stream\": False,\n            \"max_tokens\": 256\n        })\n        print(result[\"choices\"][0][\"message\"][\"content\"])\nexcept urllib.error.HTTPError as error:\n    print(\"HTTP\", error.code)\n    print(error.read().decode(\"utf-8\", errors=\"replace\"))\n    raise SystemExit(1)\nexcept urllib.error.URLError as error:\n    print(\"\u63a5\u7d9a\u30a8\u30e9\u30fc:\", error.reason)\n    raise SystemExit(1)\nexcept TimeoutError:\n    print(\"\u6642\u9593\u5185\u306b\u5fdc\u7b54\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30b5\u30fc\u30d0\u30fc\u30ed\u30b0\u3068\u30e2\u30c7\u30eb\u306e\u8aad\u307f\u8fbc\u307f\u72b6\u614b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\")\n    raise SystemExit(1)<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b9f\u884c\u3057\u305f\u7d50\u679c\u3068\u3001\u304b\u304b\u3063\u305f\u6642\u9593<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-powershell\"><code>py lmstudio_chat.py\npy lmstudio_chat.py \"llama-3.2-3b-instruct\"<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>llama-3.2-3b-instruct\ntext-embedding-nomic-embed-text-v1.5\n\n\u304a\u65e5\u5f53\u308a\u3067\u3059\u3002<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">1\u56de\u76ee\u306f\u30e2\u30c7\u30eb\u306e\u8aad\u307f\u8fbc\u307f\u304b\u3089\u59cb\u307e\u308b\u306e\u306732.18\u79d2\u304b\u304b\u308a\u3001\u3059\u3050\u7d9a\u3051\u305f2\u56de\u76ee\u306f6.6\u79d2\u3067\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1\u56de\u76ee\u306e\u3042\u3068\u306e lms ps \u3067\u306f\u3001\u30e2\u30c7\u30eb\u304c\u8aad\u307f\u8fbc\u307e\u308c\u300160\u5206\u4f7f\u308f\u306a\u3051\u308c\u3070\u5916\u308c\u308b\u8a2d\u5b9a\uff08TTL 60m\uff09\u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>IDENTIFIER               MODEL                    STATUS    SIZE       CONTEXT    PARALLEL    LOAD CONFIG    DEVICE    TTL\nllama-3.2-3b-instruct    llama-3.2-3b-instruct    IDLE      2.02 GB    8192       4           LM Studio      Local     60m \/ 1h<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u7b54\u3048\u306e\u300c\u304a\u65e5\u5f53\u308a\u3067\u3059\u3002\u300d\u306e\u3068\u304a\u308a\u30013B\u306e\u30e2\u30c7\u30eb\u306f\u65e5\u672c\u8a9e\u304c\u4e0d\u81ea\u7136\u3067\u3001\u3053\u3053\u3067\u78ba\u304b\u3081\u305f\u306e\u306f\u901a\u4fe1\u306e\u6d41\u308c\u3060\u3051\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u65e5\u672c\u8a9e\u3067\u4f7f\u3046\u30e2\u30c7\u30eb\u306e\u9078\u3073\u65b9\u306f\u3001<a href=\"https:\/\/cg-method.com\/ai\/local-llm-recommended-models\/\">\u30ed\u30fc\u30ab\u30ebLLM\u306e\u304a\u3059\u3059\u3081\u30e2\u30c7\u30eb<\/a>\u306b\u307e\u3068\u3081\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u8fd4\u4e8b\u306eJSON\u306e\u3069\u3053\u3092\u8aad\u3080\u304b<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u3058\u9001\u308a\u5148\u3092curl\u3067\u547c\u3093\u3060\u3068\u304d\u306e\u8fd4\u4e8b\u306f\u3001\u6b21\u306e\u5f62\u3067\u3057\u305f\uff08\u82f1\u8a9e\u3067\u983c\u3093\u3060\u4f8b\uff09\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>{\n  \"object\": \"chat.completion\",\n  \"model\": \"llama-3.2-3b-instruct\",\n  \"choices\": [\n    {\n      \"index\": 0,\n      \"message\": {\n        \"role\": \"assistant\",\n        \"content\": \"Hello, how are you?\",\n        \"reasoning_content\": \"\",\n        \"tool_calls\": []\n      },\n      \"finish_reason\": \"stop\"\n    }\n  ],\n  \"usage\": {\n    \"prompt_tokens\": 44,\n    \"completion_tokens\": 7,\n    \"total_tokens\": 51\n  }\n}<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u6587\u306f <code>choices[0].message.content<\/code>\u3001\u7b54\u3048\u305f\u30e2\u30c7\u30eb\u306f <code>model<\/code>\u3001\u4f7f\u3063\u305f\u30c8\u30fc\u30af\u30f3\u6570\u306f <code>usage<\/code> \u3067\u8aad\u3081\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u516c\u5f0f\u306eChat Completions\u306e\u4f8b\u306f openai \u306ePython\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u3053\u306e\u8a18\u4e8b\u3067\u306f\u305d\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u306f\u5165\u308c\u3066\u8a66\u3057\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u51fa\u5178\uff1a<a href=\"https:\/\/lmstudio.ai\/docs\/developer\/openai-compat\/chat-completions\" target=\"_blank\" rel=\"noopener\">LM Studio \u516c\u5f0f Chat Completions\uff082026\u5e7410\u670831\u65e5\u78ba\u8a8d\uff09<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">API\u30ad\u30fc\u306f\u8981\u308b\uff1f\u8a8d\u8a3c\u3092\u6709\u52b9\u306b\u3057\u305f\u3068\u304d\u3060\u3051\u30c8\u30fc\u30af\u30f3\u3092\u9001\u308b<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u516c\u5f0f\u306e\u8a8d\u8a3c\u306e\u30da\u30fc\u30b8\u306b\u306f\u3001\u65e2\u5b9a\u3067\u306fAPI\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u8a8d\u8a3c\u306f\u8981\u3089\u306a\u3044\u3001\u3068\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8a8d\u8a3c\u306fLM Studio 0.4.0\u4ee5\u964d\u306e\u6a5f\u80fd\u3067\u3001\u6709\u52b9\u306b\u3059\u308b\u624b\u9806\u306f\u516c\u5f0f\u3067\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li>Developers\u306e\u30da\u30fc\u30b8\u3092\u958b\u304d\u3001Server Settings\u3067\u8a8d\u8a3c\u306e\u5207\u308a\u66ff\u3048\u3092\u30aa\u30f3\u306b\u3059\u308b<\/li>\n\n\n<li>Manage Tokens \u304b\u3089 Create Token \u3092\u62bc\u3057\u3001\u540d\u524d\u3068\u6a29\u9650\u3092\u6c7a\u3081\u308b<\/li>\n\n\n<li>\u8868\u793a\u3055\u308c\u305f\u30c8\u30fc\u30af\u30f3\u3092\u63a7\u3048\u308b\uff08\u3042\u3068\u304b\u3089\u518d\u8868\u793a\u3055\u308c\u306a\u3044\uff09<\/li>\n\n\n<li>\u30ea\u30af\u30a8\u30b9\u30c8\u306e Authorization \u30d8\u30c3\u30c0\u30fc\u306b Bearer \u3068\u30c8\u30fc\u30af\u30f3\u3092\u4ed8\u3051\u3066\u9001\u308b<\/li>\n\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u51fa\u5178\uff1a<a href=\"https:\/\/lmstudio.ai\/docs\/developer\/core\/authentication\" target=\"_blank\" rel=\"noopener\">LM Studio \u516c\u5f0f Authentication\uff082026\u5e7410\u670831\u65e5\u78ba\u8a8d\uff09<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u8a8d\u8a3c\u306e\u5207\u308a\u66ff\u3048\u306f\u753b\u9762\u3067\u3057\u304b\u3067\u304d\u305a\u3001lms \u306e\u30d8\u30eb\u30d7\u306b\u3082\u9805\u76ee\u304c\u7121\u304b\u3063\u305f\u305f\u3081\u3001\u6709\u52b9\u306b\u3057\u305f\u72b6\u614b\u3068401\u306a\u3069\u306e\u8fd4\u4e8b\u306f\u78ba\u304b\u3081\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u8a8d\u8a3c\u304c\u7121\u52b9\u3060\u3068\u3001\u3067\u305f\u3089\u3081\u306a\u30c8\u30fc\u30af\u30f3\u3067\u3082\u901a\u308b\uff08\u5b9f\u6a5f\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u8a8d\u8a3c\u304c\u7121\u52b9\u306e\u307e\u307e\u3001\u5b58\u5728\u3057\u306a\u3044\u30c8\u30fc\u30af\u30f3\u3092\u4ed8\u3051\u3066 \/v1\/models \u3092\u547c\u3076\u3068\u3001HTTP 200\u3067\u4e00\u89a7\u304c\u8fd4\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-powershell\"><code>curl.exe -s -o NUL -w \"HTTP %{http_code}\" -H \"Authorization: Bearer dummy-not-a-token\" http:\/\/127.0.0.1:1234\/v1\/models<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>HTTP 200<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u305f\u3081\u3001\u624b\u5143\u3067\u901a\u3063\u305f\u304b\u3089\u3068\u3044\u3063\u3066\u3001\u30c8\u30fc\u30af\u30f3\u304c\u6b63\u3057\u3044\u3068\u306f\u8a00\u3048\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u300cOpenAI\u4e92\u63db\u300d\u306f\u9001\u308a\u65b9\u306e\u5f62\u306e\u8a71\u3067\u3001LM Studio\u306b\u3064\u306a\u3050\u305f\u3081\u306bOpenAI\u306eAPI\u30ad\u30fc\u3092\u53d6\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u516c\u5f0f\u306e\u4f8b\u306b\u3042\u308b <code>api_key=\"lm-studio\"<\/code> \u306f\u4eee\u306e\u5024\u3067\u3001\u8a8d\u8a3c\u3092\u6709\u52b9\u306b\u3057\u305f\u30b5\u30fc\u30d0\u30fc\u3067\u306f\u3001\u767a\u884c\u3057\u305f\u30c8\u30fc\u30af\u30f3\u306b\u7f6e\u304d\u63db\u3048\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0a\u306e\u30b3\u30fc\u30c9\u306f\u3001\u74b0\u5883\u5909\u6570 LM_API_TOKEN \u304c\u3042\u308c\u3070\u305d\u308c\u3092\u4ed8\u3051\u3066\u9001\u308b\u306e\u3067\u3001\u30c8\u30fc\u30af\u30f3\u3092\u30b3\u30fc\u30c9\u306b\u76f4\u63a5\u66f8\u304b\u305a\u306b\u6e08\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30a8\u30e9\u30fc\u306e\u5207\u308a\u5206\u3051\uff1a\u5b9f\u6a5f\u3067\u51fa\u305f\u8fd4\u4e8b<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u540c\u3058PC\u306ePython\u3068curl\u3067\u3001\u308f\u3056\u3068\u9593\u9055\u3048\u305f\u3068\u304d\u306e\u8fd4\u4e8b\u3092\u307e\u3068\u3081\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table class=\"has-fixed-layout\"><thead><tr><th style=\"min-width:8em !important\">\u3084\u3063\u305f\u3053\u3068<\/th><th>\u8fd4\u4e8b<\/th><th>\u76f4\u3057\u65b9<\/th><\/tr><\/thead><tbody><tr><td>\u30b5\u30fc\u30d0\u30fc\u3092\u6b62\u3081\u3066\u5b9f\u884c<\/td><td>\u63a5\u7d9a\u30a8\u30e9\u30fc: [WinError 10061]\uff08curl\u306f\u7d42\u4e86\u30b3\u30fc\u30c97\uff09<\/td><td>lms server start<\/td><\/tr><tr><td>\/v1 \u3092\u4e8c\u91cd\u306b\u66f8\u3044\u305f<\/td><td>HTTP 200 \u3067 Unexpected endpoint or method<\/td><td>Base URL \u3092 \/v1 \u307e\u3067\u306b\u3059\u308b<\/td><\/tr><tr><td>OpenAI\u5f62\u5f0f\u3092 \/api\/v1\/chat \u3078<\/td><td>HTTP 400\u3001&#8217;input&#8217; is required<\/td><td>\/v1\/chat\/completions \u3078\u9001\u308b<\/td><\/tr><tr><td>\u8aad\u307f\u8fbc\u307f\u524d\u306b\u9055\u3046ID<\/td><td>HTTP 400\u3001No models loaded<\/td><td>\/v1\/models \u306eid\u3092\u5199\u3059<\/td><\/tr><tr><td>\u8aad\u307f\u8fbc\u307f\u6e08\u307f\u3067\u9055\u3046ID<\/td><td>HTTP 200\u3001\u5225\u306e\u30e2\u30c7\u30eb\u304c\u7b54\u3048\u308b<\/td><td>\u8fd4\u4e8b\u306e model \u6b04\u3092\u898b\u308b<\/td><\/tr><tr><td>\u8aad\u307f\u8fbc\u307f\u524d\u306b\u6b63\u3057\u3044ID<\/td><td>32.18\u79d2\u5f8c\u306b\u7b54\u3048\uff082\u56de\u76ee\u306f6.6\u79d2\uff09<\/td><td>\u6700\u521d\u306e1\u56de\u306f\u8aad\u307f\u8fbc\u307f\u5f85\u3061<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">LM Studio 0.4.27\u3067\u8d77\u3053\u3057\u305f\u9593\u9055\u3044\u3068\u8fd4\u4e8b\uff082026\u5e7410\u670831\u65e5\uff09<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u3068\u304f\u306b\u6ce8\u610f\u3057\u305f\u3044\u306e\u306f \/v1 \u306e\u4e8c\u91cd\u3067\u3001HTTP\u306e\u756a\u53f7\u306f200\u306a\u306e\u306b\u3001\u672c\u6587\u304c error \u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>{\"error\":\"Unexpected endpoint or method. (GET \/v1\/v1\/models)\"}\nHTTP 200<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u756a\u53f7\u3060\u3051\u3067\u6210\u5426\u3092\u898b\u308b\u30a2\u30d7\u30ea\u3067\u306f\u3001\u3064\u306a\u304c\u3063\u305f\u3088\u3046\u306b\u898b\u3048\u3066\u7b54\u3048\u304c\u7a7a\u306b\u306a\u308b\u306e\u3067\u3001\u672c\u6587\u306e error \u3082\u8aad\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30b5\u30fc\u30d0\u30fc\u3092\u6b62\u3081\u305f\u3068\u304d\u306ePython\u306e\u8868\u793a\u306f\u3001\u6b21\u306e1\u884c\u3067\u3057\u305f\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>\u63a5\u7d9a\u30a8\u30e9\u30fc: [WinError 10061] \u5bfe\u8c61\u306e\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30fc\u306b\u3088\u3063\u3066\u62d2\u5426\u3055\u308c\u305f\u305f\u3081\u3001\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Ollama\u3067\u3082\u540c\u3058\u5207\u308a\u5206\u3051\u304c\u4f7f\u3048\u308b\u306e\u3067\u3001<a href=\"https:\/\/cg-method.com\/ai\/ollama-connection-refused\/\">Ollama\u306b\u63a5\u7d9a\u3067\u304d\u306a\u3044\u539f\u56e0\u3068\u5bfe\u51e6<\/a>\u3082\u53c2\u8003\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\/v1 \u3068 \/api\/v1 \u306f\u5225\u306eAPI<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">LM Studio\u306b\u306f\u3001\u3053\u3053\u3067\u4f7f\u3063\u305fOpenAI\u4e92\u63db\u306e \/v1 \u306e\u307b\u304b\u306b\u3001\u72ec\u81ea\u306eREST API\u304c \/api\/v1 \u306b\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table class=\"has-fixed-layout\"><thead><tr><th style=\"min-width:8em !important\">\u9805\u76ee<\/th><th>OpenAI\u4e92\u63db\uff08\/v1\uff09<\/th><th>\u72ec\u81eaREST\uff08\/api\/v1\uff09<\/th><\/tr><\/thead><tbody><tr><td>\u30c1\u30e3\u30c3\u30c8<\/td><td>\/v1\/chat\/completions<\/td><td>\/api\/v1\/chat<\/td><\/tr><tr><td>\u30e2\u30c7\u30eb\u4e00\u89a7<\/td><td>\/v1\/models<\/td><td>\/api\/v1\/models<\/td><\/tr><tr><td>\u8aad\u307f\u8fbc\u307f\u30fb\u53d6\u5f97<\/td><td>\u306a\u3057<\/td><td>models\/load\u30fbunload\u30fbdownload<\/td><\/tr><tr><td>\u5411\u3044\u3066\u3044\u308b\u7528\u9014<\/td><td>\u65e2\u5b58\u306e\u4e92\u63db\u30af\u30e9\u30a4\u30a2\u30f3\u30c8<\/td><td>\u30e2\u30c7\u30eb\u306e\u7ba1\u7406\u30fb\u72b6\u614b\u3092\u6301\u3064\u4f1a\u8a71<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">\u516c\u5f0f\u306eREST API\u306e\u8aac\u660e\u304b\u3089\uff082026\u5e7410\u670831\u65e5\u78ba\u8a8d\uff09<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u6587\u306e\u5f62\u3082\u9055\u3044\u3001OpenAI\u5f62\u5f0f\u306eJSON\u3092 \/api\/v1\/chat \u306b\u9001\u308b\u3068\u3001\u4e0a\u306e\u8868\u306e\u3068\u304a\u308aHTTP 400\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u51fa\u5178\uff1a<a href=\"https:\/\/lmstudio.ai\/docs\/developer\/rest\" target=\"_blank\" rel=\"noopener\">LM Studio \u516c\u5f0f REST API\uff082026\u5e7410\u670831\u65e5\u78ba\u8a8d\uff09<\/a>\u3001<a href=\"https:\/\/lmstudio.ai\/docs\/developer\/openai-compat\" target=\"_blank\" rel=\"noopener\">OpenAI Compatibility Endpoints\uff08\u540c\uff09<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4f7f\u3044\u7d42\u308f\u3063\u305f\u3089\u6b62\u3081\u308b<\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-powershell\"><code>lms unload --all\nlms server stop<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>Unloading \"llama-3.2-3b-instruct\"...\nUnloaded 1 model.\nStopped the server on port 1234.<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u30b5\u30fc\u30d0\u30fc\u3092\u6b62\u3081\u3066\u3082\u3001LM Studio\u672c\u4f53\u306f\u88cf\u3067\u52d5\u3044\u305f\u307e\u307e\u3060\u3063\u305f\u306e\u3067\u3001\u4f7f\u308f\u306a\u3044\u3068\u304d\u306f\u30a2\u30d7\u30ea\u3082\u7d42\u4e86\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30e2\u30c7\u30eb\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u6b8b\u308b\u306e\u3067\u3001\u6b21\u306f lms server start \u304b\u3089\u3059\u3050\u518d\u958b\u3067\u304d\u308b\u72b6\u614b\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u307e\u3068\u3081\u3068\u6b21\u306b\u3084\u308b\u3053\u3068<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li>lms server start \u3067\u8d77\u52d5\u3057\u3001\u8868\u793a\u3055\u308c\u305f\u30dd\u30fc\u30c8\u3092\u63a7\u3048\u308b<\/li>\n\n\n<li>\u63a5\u7d9a\u5148\u306f http:\/\/127.0.0.1:1234\/v1 \u3068\u6570\u5b57\u3067\u66f8\u304f<\/li>\n\n\n<li>\/v1\/models \u306e\u3046\u3061\u3001\u7a2e\u985e\u304cLLM\u306eid\u3092\u305d\u306e\u307e\u307e\u5199\u3059<\/li>\n\n\n<li>Python\u30671\u56de\u9001\u308a\u3001\u8fd4\u4e8b\u306e model \u6b04\u3068\u672c\u6587\u3092\u78ba\u304b\u3081\u308b<\/li>\n\n\n<li>\u8a8d\u8a3c\u3092\u6709\u52b9\u306b\u3057\u305f\u3068\u304d\u3060\u3051\u3001\u30c8\u30fc\u30af\u30f3\u3092\u74b0\u5883\u5909\u6570\u304b\u3089\u4ed8\u3051\u308b<\/li>\n\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u3064\u306a\u304c\u3063\u305f\u3042\u3068\u306f\u3001\u6b21\u306e\u8a18\u4e8b\u304c\u7d9a\u304d\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>\u30e2\u30c7\u30eb\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3068\u753b\u9762\u306e\u4f7f\u3044\u65b9\uff1a<a href=\"https:\/\/cg-method.com\/ai\/lm-studio-guide\/\">LM Studio\u306e\u4f7f\u3044\u65b9<\/a><\/li>\n\n\n<li>\u65e5\u672c\u8a9e\u3067\u4f7f\u3046\u30e2\u30c7\u30eb\u3092\u9078\u3076\uff1a<a href=\"https:\/\/cg-method.com\/ai\/local-llm-recommended-models\/\">\u30ed\u30fc\u30ab\u30ebLLM\u306e\u304a\u3059\u3059\u3081\u30e2\u30c7\u30eb<\/a><\/li>\n\n\n<li>\u8aad\u307f\u8fbc\u307f\u3067\u843d\u3061\u308b\uff1a<a href=\"https:\/\/cg-method.com\/ai\/local-llm-out-of-memory\/\">\u30ed\u30fc\u30ab\u30ebLLM\u306e\u30e1\u30e2\u30ea\u4e0d\u8db3\u306e\u5207\u308a\u5206\u3051<\/a><\/li>\n\n\n<li>PC\u3067\u6271\u3048\u308b\u898f\u6a21\u3092\u77e5\u308b\uff1a<a href=\"https:\/\/cg-method.com\/ai\/local-llm-required-specs\/\">\u30ed\u30fc\u30ab\u30ebLLM\u306b\u5fc5\u8981\u306a\u30b9\u30da\u30c3\u30af<\/a><\/li>\n\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>LM Studio\u306eAPI\u306f\u3001\u30b5\u30fc\u30d0\u30fc\u3092\u8d77\u52d5\u3057\u3066 http:\/\/127.0.0.1:1234\/v1 \u306b \/v1\/models \u3067\u8fd4\u3063\u305fid\u3092\u6307\u5b9a\u3059\u308c\u3070\u3001API\u30ad\u30fc\u306a\u3057\u3067Python\u304b\u3089\u4f7f\u3048\u307e\u3059\u3002LM Studio 0.4.27\u3068Llama 3.2 3B\u3067\u3001\u8d77\u52d5\u30fb\u30e2\u30c7\u30ebID\u30fb\u5fdc\u7b54\u30fb\u30a8\u30e9\u30fc\u306e\u51fa\u65b9\u3092\u5b9f\u6a5f\u3067\u78ba\u304b\u3081\u307e\u3057\u305f\u3002<\/p>\n","protected":false},"author":1,"featured_media":2370,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":"","book_review_data":"","footnotes":"","ssp_meta_title":"LM Studio API\u306e\u4f7f\u3044\u65b9\uff5cPython\u63a5\u7d9a\u3068\u30e2\u30c7\u30ebID","ssp_meta_description":"LM Studio API\u306e\u4f7f\u3044\u65b9\u3092\u3001lms\u3067\u30b5\u30fc\u30d0\u30fc\u3092\u8d77\u52d5\u3057Python\u304b\u3089\u9001\u308b\u307e\u3067Windows 11\u5b9f\u6a5f\u3067\u89e3\u8aac\u3002\u7d50\u8ad6\u306f127.0.0.1:1234\/v1\u306b\/v1\/models\u306eid\u3092\u9001\u308b\u3053\u3068\u3002API\u30ad\u30fc\u306f\u8a8d\u8a3c\u3092\u6709\u52b9\u306b\u3057\u305f\u3068\u304d\u3060\u3051\u3067\u3059\u3002"},"categories":[29],"tags":[],"class_list":["post-1680","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-local-llm"],"_links":{"self":[{"href":"https:\/\/cg-method.com\/ai\/wp-json\/wp\/v2\/posts\/1680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cg-method.com\/ai\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cg-method.com\/ai\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cg-method.com\/ai\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cg-method.com\/ai\/wp-json\/wp\/v2\/comments?post=1680"}],"version-history":[{"count":2,"href":"https:\/\/cg-method.com\/ai\/wp-json\/wp\/v2\/posts\/1680\/revisions"}],"predecessor-version":[{"id":2644,"href":"https:\/\/cg-method.com\/ai\/wp-json\/wp\/v2\/posts\/1680\/revisions\/2644"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cg-method.com\/ai\/wp-json\/wp\/v2\/media\/2370"}],"wp:attachment":[{"href":"https:\/\/cg-method.com\/ai\/wp-json\/wp\/v2\/media?parent=1680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cg-method.com\/ai\/wp-json\/wp\/v2\/categories?post=1680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cg-method.com\/ai\/wp-json\/wp\/v2\/tags?post=1680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}