[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-nav-zh":3,"docs-zh-models\u002Fchat\u002Fopenai":163,"$f5G-W5pbZXaBL-tapeTlB9kzAJ5U7Brc5g5gu3AoucWU":851},[4,52,69,92,142,155,159],{"title":5,"path":6,"stem":7,"children":8,"page":-1},"快速开始","\u002Fgetting-started","1.getting-started",[9,12,30,44,48],{"title":10,"path":6,"stem":11},"关于 SilvaMux","1.getting-started\u002Findex",{"title":13,"path":14,"stem":15,"children":16,"page":-1},"首次调用千木 API","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F1.quick-start\u002Findex",[17,18,22,26],{"title":13,"path":14,"stem":15},{"title":19,"path":20,"stem":21},"项目和账户设置","\u002Fgetting-started\u002Fquick-start\u002Fproject-and-account","1.getting-started\u002F1.quick-start\u002F2.project-and-account",{"title":23,"path":24,"stem":25},"获取 API Key","\u002Fgetting-started\u002Fquick-start\u002Fapi-key","1.getting-started\u002F1.quick-start\u002F3.api-key",{"title":27,"path":28,"stem":29},"第一个请求","\u002Fgetting-started\u002Fquick-start\u002Ffirst-request","1.getting-started\u002F1.quick-start\u002F4.first-request",{"title":31,"path":32,"stem":33,"children":34,"page":43},"模型与体验","\u002Fgetting-started\u002Fmodels-and-experience","1.getting-started\u002F2.models-and-experience",[35,39],{"title":36,"path":37,"stem":38},"模型选择","\u002Fgetting-started\u002Fmodels-and-experience\u002Fmodel-selection","1.getting-started\u002F2.models-and-experience\u002F1.model-selection",{"title":40,"path":41,"stem":42},"在线体验","\u002Fgetting-started\u002Fmodels-and-experience\u002Fplayground","1.getting-started\u002F2.models-and-experience\u002F2.playground",false,{"title":45,"path":46,"stem":47},"限流","\u002Fgetting-started\u002Frate-limits","1.getting-started\u002F3.rate-limits",{"title":49,"path":50,"stem":51},"常见问题","\u002Fgetting-started\u002Ffaq","1.getting-started\u002F4.faq",{"title":53,"path":54,"stem":55,"children":56,"page":43},"产品计费","\u002Fbilling","2.billing",[57,61,65],{"title":58,"path":59,"stem":60},"计费说明","\u002Fbilling\u002Foverview","2.billing\u002F1.overview",{"title":62,"path":63,"stem":64},"在线充值","\u002Fbilling\u002Frecharge","2.billing\u002F2.recharge",{"title":66,"path":67,"stem":68},"账单、用量与导出","\u002Fbilling\u002Fusage-export","2.billing\u002F3.usage-export",{"title":70,"path":71,"stem":72,"children":73,"page":43},"Coding Plan","\u002Fcoding-plan","3.coding-plan",[74,78],{"title":75,"path":76,"stem":77},"Coding Plan 概述","\u002Fcoding-plan\u002Foverview","3.coding-plan\u002F1.overview",{"title":79,"path":80,"stem":81,"children":82,"page":-1},"个人版","\u002Fcoding-plan\u002Fpersonal","3.coding-plan\u002F2.personal\u002Findex",[83,85,89],{"title":84,"path":80,"stem":81},"价格和权益",{"title":86,"path":87,"stem":88},"快速接入","\u002Fcoding-plan\u002Fpersonal\u002Fquick-start","3.coding-plan\u002F2.personal\u002F2.quick-start",{"title":49,"path":90,"stem":91},"\u002Fcoding-plan\u002Fpersonal\u002Ffaq","3.coding-plan\u002F2.personal\u002F3.faq",{"title":93,"path":94,"stem":95,"children":96,"page":43},"模型接口","\u002Fmodels","4.models",[97,130],{"title":98,"path":99,"stem":100,"children":101,"page":43},"文本生成","\u002Fmodels\u002Fchat","4.models\u002F1.chat",[102,106,110,114,118,122,126],{"title":103,"path":104,"stem":105},"概述","\u002Fmodels\u002Fchat\u002Foverview","4.models\u002F1.chat\u002F1.overview",{"title":107,"path":108,"stem":109},"OpenAI 兼容接口","\u002Fmodels\u002Fchat\u002Fopenai","4.models\u002F1.chat\u002F2.openai",{"title":111,"path":112,"stem":113},"Anthropic 兼容","\u002Fmodels\u002Fchat\u002Fanthropic","4.models\u002F1.chat\u002F3.anthropic",{"title":115,"path":116,"stem":117},"Volcengine 兼容","\u002Fmodels\u002Fchat\u002Fvolcengine","4.models\u002F1.chat\u002F4.volcengine",{"title":119,"path":120,"stem":121},"智谱兼容","\u002Fmodels\u002Fchat\u002Fzhipu","4.models\u002F1.chat\u002F5.zhipu",{"title":123,"path":124,"stem":125},"SilvaMux 统一入口","\u002Fmodels\u002Fchat\u002Funified","4.models\u002F1.chat\u002F6.unified",{"title":127,"path":128,"stem":129},"多模态输入","\u002Fmodels\u002Fchat\u002Fmultimodal","4.models\u002F1.chat\u002F7.multimodal",{"title":131,"path":132,"stem":133,"children":134,"page":43},"图片生成","\u002Fmodels\u002Fimages","4.models\u002F2.images",[135,138],{"title":103,"path":136,"stem":137},"\u002Fmodels\u002Fimages\u002Foverview","4.models\u002F2.images\u002F1.overview",{"title":139,"path":140,"stem":141},"图片生成接口","\u002Fmodels\u002Fimages\u002Fgeneration","4.models\u002F2.images\u002F2.generation",{"title":143,"path":144,"stem":145,"children":146,"page":43},"用量与余额","\u002Fusage-and-balance","5.usage-and-balance",[147,151],{"title":148,"path":149,"stem":150},"查询余额","\u002Fusage-and-balance\u002Fbalance","5.usage-and-balance\u002F1.balance",{"title":152,"path":153,"stem":154},"查询用量","\u002Fusage-and-balance\u002Fusage","5.usage-and-balance\u002F2.usage",{"title":156,"path":157,"stem":158},"错误码参考","\u002Ferrors","6.errors",{"title":160,"path":161,"stem":162},"文档首页","\u002F","index",{"id":164,"title":107,"body":165,"description":844,"extension":845,"meta":846,"navigation":327,"path":108,"rawbody":847,"requiredFlags":848,"seo":849,"stem":109,"__hash__":850},"docs\u002F4.models\u002F1.chat\u002F2.openai.md",{"type":166,"value":167,"toc":841},"minimark",[168,172,176,181,185,698,701,829,837],[169,170,107],"h1",{"id":171},"openai-兼容接口",[173,174,175],"p",{},"接收 OpenAI Chat Completions 请求格式，保持相应的响应、SSE 和错误结构。推荐给使用 OpenAI SDK 的项目和大多数新项目——已有 OpenAI SDK 代码只需修改 Base URL 和 API Key。",[177,178],"api-endpoint",{"method":179,"path":180},"POST","\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions",[182,183,184],"h2",{"id":184},"示例",[186,187,188,298,402,493],"code-tabs",{},[189,190,192],"code-tab",{"label":191},"cURL",[193,194,199],"pre",{"className":195,"code":196,"language":197,"meta":198,"style":198},"language-bash shiki shiki-themes github-light github-dark","curl https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"minimax-m2.5\",\n    \"messages\": [\n      {\"role\": \"system\", \"content\": \"你是一个有帮助的助手\"},\n      {\"role\": \"user\", \"content\": \"你好\"}\n    ],\n    \"stream\": false\n  }'\n","bash","",[200,201,202,219,237,247,256,262,268,274,280,286,292],"code",{"__ignoreMap":198},[203,204,207,211,215],"span",{"class":205,"line":206},"line",1,[203,208,210],{"class":209},"sScJk","curl",[203,212,214],{"class":213},"sZZnC"," https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions",[203,216,218],{"class":217},"sj4cs"," \\\n",[203,220,222,225,228,232,235],{"class":205,"line":221},2,[203,223,224],{"class":217},"  -H",[203,226,227],{"class":213}," \"Authorization: Bearer ",[203,229,231],{"class":230},"sVt8B","$SILVAMUX_API_KEY",[203,233,234],{"class":213},"\"",[203,236,218],{"class":217},[203,238,240,242,245],{"class":205,"line":239},3,[203,241,224],{"class":217},[203,243,244],{"class":213}," \"Content-Type: application\u002Fjson\"",[203,246,218],{"class":217},[203,248,250,253],{"class":205,"line":249},4,[203,251,252],{"class":217},"  -d",[203,254,255],{"class":213}," '{\n",[203,257,259],{"class":205,"line":258},5,[203,260,261],{"class":213},"    \"model\": \"minimax-m2.5\",\n",[203,263,265],{"class":205,"line":264},6,[203,266,267],{"class":213},"    \"messages\": [\n",[203,269,271],{"class":205,"line":270},7,[203,272,273],{"class":213},"      {\"role\": \"system\", \"content\": \"你是一个有帮助的助手\"},\n",[203,275,277],{"class":205,"line":276},8,[203,278,279],{"class":213},"      {\"role\": \"user\", \"content\": \"你好\"}\n",[203,281,283],{"class":205,"line":282},9,[203,284,285],{"class":213},"    ],\n",[203,287,289],{"class":205,"line":288},10,[203,290,291],{"class":213},"    \"stream\": false\n",[203,293,295],{"class":205,"line":294},11,[203,296,297],{"class":213},"  }'\n",[189,299,301],{"label":300},"Python",[193,302,306],{"className":303,"code":304,"language":305,"meta":198,"style":198},"language-python shiki shiki-themes github-light github-dark","# pip install openai\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=os.environ[\"SILVAMUX_API_KEY\"],\n    base_url=\"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\",\n)\n\nresponse = client.chat.completions.create(\n    model=\"minimax-m2.5\",\n    messages=[\n        {\"role\": \"system\", \"content\": \"你是一个有帮助的助手\"},\n        {\"role\": \"user\", \"content\": \"你好\"},\n    ],\n)\n\nprint(response.choices[0].message.content)\n","python",[200,307,308,313,318,323,329,334,339,344,349,353,358,363,369,375,381,386,391,396],{"__ignoreMap":198},[203,309,310],{"class":205,"line":206},[203,311,312],{},"# pip install openai\n",[203,314,315],{"class":205,"line":221},[203,316,317],{},"import os\n",[203,319,320],{"class":205,"line":239},[203,321,322],{},"from openai import OpenAI\n",[203,324,325],{"class":205,"line":249},[203,326,328],{"emptyLinePlaceholder":327},true,"\n",[203,330,331],{"class":205,"line":258},[203,332,333],{},"client = OpenAI(\n",[203,335,336],{"class":205,"line":264},[203,337,338],{},"    api_key=os.environ[\"SILVAMUX_API_KEY\"],\n",[203,340,341],{"class":205,"line":270},[203,342,343],{},"    base_url=\"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\",\n",[203,345,346],{"class":205,"line":276},[203,347,348],{},")\n",[203,350,351],{"class":205,"line":282},[203,352,328],{"emptyLinePlaceholder":327},[203,354,355],{"class":205,"line":288},[203,356,357],{},"response = client.chat.completions.create(\n",[203,359,360],{"class":205,"line":294},[203,361,362],{},"    model=\"minimax-m2.5\",\n",[203,364,366],{"class":205,"line":365},12,[203,367,368],{},"    messages=[\n",[203,370,372],{"class":205,"line":371},13,[203,373,374],{},"        {\"role\": \"system\", \"content\": \"你是一个有帮助的助手\"},\n",[203,376,378],{"class":205,"line":377},14,[203,379,380],{},"        {\"role\": \"user\", \"content\": \"你好\"},\n",[203,382,384],{"class":205,"line":383},15,[203,385,285],{},[203,387,389],{"class":205,"line":388},16,[203,390,348],{},[203,392,394],{"class":205,"line":393},17,[203,395,328],{"emptyLinePlaceholder":327},[203,397,399],{"class":205,"line":398},18,[203,400,401],{},"print(response.choices[0].message.content)\n",[189,403,405],{"label":404},"JavaScript",[193,406,410],{"className":407,"code":408,"language":409,"meta":198,"style":198},"language-javascript shiki shiki-themes github-light github-dark","\u002F\u002F npm install openai\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  apiKey: process.env.SILVAMUX_API_KEY,\n  baseURL: \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\",\n});\n\nconst response = await client.chat.completions.create({\n  model: \"minimax-m2.5\",\n  messages: [\n    { role: \"system\", content: \"你是一个有帮助的助手\" },\n    { role: \"user\", content: \"你好\" },\n  ],\n});\n\nconsole.log(response.choices[0].message.content);\n","javascript",[200,411,412,417,422,426,431,436,441,446,450,455,460,465,470,475,480,484,488],{"__ignoreMap":198},[203,413,414],{"class":205,"line":206},[203,415,416],{},"\u002F\u002F npm install openai\n",[203,418,419],{"class":205,"line":221},[203,420,421],{},"import OpenAI from \"openai\";\n",[203,423,424],{"class":205,"line":239},[203,425,328],{"emptyLinePlaceholder":327},[203,427,428],{"class":205,"line":249},[203,429,430],{},"const client = new OpenAI({\n",[203,432,433],{"class":205,"line":258},[203,434,435],{},"  apiKey: process.env.SILVAMUX_API_KEY,\n",[203,437,438],{"class":205,"line":264},[203,439,440],{},"  baseURL: \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\",\n",[203,442,443],{"class":205,"line":270},[203,444,445],{},"});\n",[203,447,448],{"class":205,"line":276},[203,449,328],{"emptyLinePlaceholder":327},[203,451,452],{"class":205,"line":282},[203,453,454],{},"const response = await client.chat.completions.create({\n",[203,456,457],{"class":205,"line":288},[203,458,459],{},"  model: \"minimax-m2.5\",\n",[203,461,462],{"class":205,"line":294},[203,463,464],{},"  messages: [\n",[203,466,467],{"class":205,"line":365},[203,468,469],{},"    { role: \"system\", content: \"你是一个有帮助的助手\" },\n",[203,471,472],{"class":205,"line":371},[203,473,474],{},"    { role: \"user\", content: \"你好\" },\n",[203,476,477],{"class":205,"line":377},[203,478,479],{},"  ],\n",[203,481,482],{"class":205,"line":383},[203,483,445],{},[203,485,486],{"class":205,"line":388},[203,487,328],{"emptyLinePlaceholder":327},[203,489,490],{"class":205,"line":393},[203,491,492],{},"console.log(response.choices[0].message.content);\n",[189,494,496],{"label":495},"Go",[193,497,501],{"className":498,"code":499,"language":500,"meta":198,"style":198},"language-go shiki shiki-themes github-light github-dark","\u002F\u002F 仅依赖标准库\npackage main\n\nimport (\n    \"bytes\"\n    \"fmt\"\n    \"io\"\n    \"net\u002Fhttp\"\n    \"os\"\n)\n\nfunc main() {\n    payload := []byte(`{\n        \"model\": \"minimax-m2.5\",\n        \"messages\": [\n            {\"role\": \"system\", \"content\": \"你是一个有帮助的助手\"},\n            {\"role\": \"user\", \"content\": \"你好\"}\n        ],\n        \"stream\": false\n    }`)\n\n    req, err := http.NewRequest(\"POST\", \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions\", bytes.NewReader(payload))\n    if err != nil {\n        panic(err)\n    }\n    req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_API_KEY\"))\n    req.Header.Set(\"Content-Type\", \"application\u002Fjson\")\n\n    resp, err := http.DefaultClient.Do(req)\n    if err != nil {\n        panic(err)\n    }\n    defer resp.Body.Close()\n\n    body, _ := io.ReadAll(resp.Body)\n    fmt.Println(string(body))\n}\n","go",[200,502,503,508,513,517,522,527,532,537,542,547,551,555,560,565,570,575,580,585,590,596,602,607,613,619,625,631,637,643,648,654,659,664,669,675,680,686,692],{"__ignoreMap":198},[203,504,505],{"class":205,"line":206},[203,506,507],{},"\u002F\u002F 仅依赖标准库\n",[203,509,510],{"class":205,"line":221},[203,511,512],{},"package main\n",[203,514,515],{"class":205,"line":239},[203,516,328],{"emptyLinePlaceholder":327},[203,518,519],{"class":205,"line":249},[203,520,521],{},"import (\n",[203,523,524],{"class":205,"line":258},[203,525,526],{},"    \"bytes\"\n",[203,528,529],{"class":205,"line":264},[203,530,531],{},"    \"fmt\"\n",[203,533,534],{"class":205,"line":270},[203,535,536],{},"    \"io\"\n",[203,538,539],{"class":205,"line":276},[203,540,541],{},"    \"net\u002Fhttp\"\n",[203,543,544],{"class":205,"line":282},[203,545,546],{},"    \"os\"\n",[203,548,549],{"class":205,"line":288},[203,550,348],{},[203,552,553],{"class":205,"line":294},[203,554,328],{"emptyLinePlaceholder":327},[203,556,557],{"class":205,"line":365},[203,558,559],{},"func main() {\n",[203,561,562],{"class":205,"line":371},[203,563,564],{},"    payload := []byte(`{\n",[203,566,567],{"class":205,"line":377},[203,568,569],{},"        \"model\": \"minimax-m2.5\",\n",[203,571,572],{"class":205,"line":383},[203,573,574],{},"        \"messages\": [\n",[203,576,577],{"class":205,"line":388},[203,578,579],{},"            {\"role\": \"system\", \"content\": \"你是一个有帮助的助手\"},\n",[203,581,582],{"class":205,"line":393},[203,583,584],{},"            {\"role\": \"user\", \"content\": \"你好\"}\n",[203,586,587],{"class":205,"line":398},[203,588,589],{},"        ],\n",[203,591,593],{"class":205,"line":592},19,[203,594,595],{},"        \"stream\": false\n",[203,597,599],{"class":205,"line":598},20,[203,600,601],{},"    }`)\n",[203,603,605],{"class":205,"line":604},21,[203,606,328],{"emptyLinePlaceholder":327},[203,608,610],{"class":205,"line":609},22,[203,611,612],{},"    req, err := http.NewRequest(\"POST\", \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions\", bytes.NewReader(payload))\n",[203,614,616],{"class":205,"line":615},23,[203,617,618],{},"    if err != nil {\n",[203,620,622],{"class":205,"line":621},24,[203,623,624],{},"        panic(err)\n",[203,626,628],{"class":205,"line":627},25,[203,629,630],{},"    }\n",[203,632,634],{"class":205,"line":633},26,[203,635,636],{},"    req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_API_KEY\"))\n",[203,638,640],{"class":205,"line":639},27,[203,641,642],{},"    req.Header.Set(\"Content-Type\", \"application\u002Fjson\")\n",[203,644,646],{"class":205,"line":645},28,[203,647,328],{"emptyLinePlaceholder":327},[203,649,651],{"class":205,"line":650},29,[203,652,653],{},"    resp, err := http.DefaultClient.Do(req)\n",[203,655,657],{"class":205,"line":656},30,[203,658,618],{},[203,660,662],{"class":205,"line":661},31,[203,663,624],{},[203,665,667],{"class":205,"line":666},32,[203,668,630],{},[203,670,672],{"class":205,"line":671},33,[203,673,674],{},"    defer resp.Body.Close()\n",[203,676,678],{"class":205,"line":677},34,[203,679,328],{"emptyLinePlaceholder":327},[203,681,683],{"class":205,"line":682},35,[203,684,685],{},"    body, _ := io.ReadAll(resp.Body)\n",[203,687,689],{"class":205,"line":688},36,[203,690,691],{},"    fmt.Println(string(body))\n",[203,693,695],{"class":205,"line":694},37,[203,696,697],{},"}\n",[173,699,700],{},"响应（OpenAI 格式）：",[193,702,706],{"className":703,"code":704,"language":705,"meta":198,"style":198},"language-json shiki shiki-themes github-light github-dark","{\n  \"id\": \"chatcmpl-xxxx\",\n  \"choices\": [\n    {\n      \"message\": {\"role\": \"assistant\", \"content\": \"你好！有什么可以帮你的吗？\"},\n      \"finish_reason\": \"stop\"\n    }\n  ],\n  \"usage\": {\"prompt_tokens\": 20, \"completion_tokens\": 15, \"total_tokens\": 35}\n}\n","json",[200,707,708,713,727,735,740,770,780,784,788,825],{"__ignoreMap":198},[203,709,710],{"class":205,"line":206},[203,711,712],{"class":230},"{\n",[203,714,715,718,721,724],{"class":205,"line":221},[203,716,717],{"class":217},"  \"id\"",[203,719,720],{"class":230},": ",[203,722,723],{"class":213},"\"chatcmpl-xxxx\"",[203,725,726],{"class":230},",\n",[203,728,729,732],{"class":205,"line":239},[203,730,731],{"class":217},"  \"choices\"",[203,733,734],{"class":230},": [\n",[203,736,737],{"class":205,"line":249},[203,738,739],{"class":230},"    {\n",[203,741,742,745,748,751,753,756,759,762,764,767],{"class":205,"line":258},[203,743,744],{"class":217},"      \"message\"",[203,746,747],{"class":230},": {",[203,749,750],{"class":217},"\"role\"",[203,752,720],{"class":230},[203,754,755],{"class":213},"\"assistant\"",[203,757,758],{"class":230},", ",[203,760,761],{"class":217},"\"content\"",[203,763,720],{"class":230},[203,765,766],{"class":213},"\"你好！有什么可以帮你的吗？\"",[203,768,769],{"class":230},"},\n",[203,771,772,775,777],{"class":205,"line":264},[203,773,774],{"class":217},"      \"finish_reason\"",[203,776,720],{"class":230},[203,778,779],{"class":213},"\"stop\"\n",[203,781,782],{"class":205,"line":270},[203,783,630],{"class":230},[203,785,786],{"class":205,"line":276},[203,787,479],{"class":230},[203,789,790,793,795,798,800,803,805,808,810,813,815,818,820,823],{"class":205,"line":282},[203,791,792],{"class":217},"  \"usage\"",[203,794,747],{"class":230},[203,796,797],{"class":217},"\"prompt_tokens\"",[203,799,720],{"class":230},[203,801,802],{"class":217},"20",[203,804,758],{"class":230},[203,806,807],{"class":217},"\"completion_tokens\"",[203,809,720],{"class":230},[203,811,812],{"class":217},"15",[203,814,758],{"class":230},[203,816,817],{"class":217},"\"total_tokens\"",[203,819,720],{"class":230},[203,821,822],{"class":217},"35",[203,824,697],{"class":230},[203,826,827],{"class":205,"line":288},[203,828,697],{"class":230},[173,830,831,832,836],{},"兼容入口允许透传对应协议的额外字段。流式输出与多模态输入见",[833,834,103],"a",{"href":835},"\u002Fzh-cn\u002Fdocs\u002Fmodels\u002Fchat\u002Foverview","。",[838,839,840],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":198,"searchDepth":221,"depth":221,"links":842},[843],{"id":184,"depth":221,"text":184},"OpenAI Chat Completions 兼容入口，推荐给 OpenAI SDK 和大多数新项目。","md",{},"---\ntitle: OpenAI 兼容接口\ndescription: OpenAI Chat Completions 兼容入口，推荐给 OpenAI SDK 和大多数新项目。\n---\n\n# OpenAI 兼容接口\n\n接收 OpenAI Chat Completions 请求格式，保持相应的响应、SSE 和错误结构。推荐给使用 OpenAI SDK 的项目和大多数新项目——已有 OpenAI SDK 代码只需修改 Base URL 和 API Key。\n\n::api-endpoint{path=\"\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions\" method=\"POST\"}\n::\n\n## 示例\n\n::code-tabs\n:::code-tab{label=\"cURL\"}\n```bash\ncurl https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"minimax-m2.5\",\n    \"messages\": [\n      {\"role\": \"system\", \"content\": \"你是一个有帮助的助手\"},\n      {\"role\": \"user\", \"content\": \"你好\"}\n    ],\n    \"stream\": false\n  }'\n```\n:::\n:::code-tab{label=\"Python\"}\n```python\n# pip install openai\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=os.environ[\"SILVAMUX_API_KEY\"],\n    base_url=\"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\",\n)\n\nresponse = client.chat.completions.create(\n    model=\"minimax-m2.5\",\n    messages=[\n        {\"role\": \"system\", \"content\": \"你是一个有帮助的助手\"},\n        {\"role\": \"user\", \"content\": \"你好\"},\n    ],\n)\n\nprint(response.choices[0].message.content)\n```\n:::\n:::code-tab{label=\"JavaScript\"}\n```javascript\n\u002F\u002F npm install openai\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  apiKey: process.env.SILVAMUX_API_KEY,\n  baseURL: \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\",\n});\n\nconst response = await client.chat.completions.create({\n  model: \"minimax-m2.5\",\n  messages: [\n    { role: \"system\", content: \"你是一个有帮助的助手\" },\n    { role: \"user\", content: \"你好\" },\n  ],\n});\n\nconsole.log(response.choices[0].message.content);\n```\n:::\n:::code-tab{label=\"Go\"}\n```go\n\u002F\u002F 仅依赖标准库\npackage main\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\u002Fhttp\"\n\t\"os\"\n)\n\nfunc main() {\n\tpayload := []byte(`{\n\t\t\"model\": \"minimax-m2.5\",\n\t\t\"messages\": [\n\t\t\t{\"role\": \"system\", \"content\": \"你是一个有帮助的助手\"},\n\t\t\t{\"role\": \"user\", \"content\": \"你好\"}\n\t\t],\n\t\t\"stream\": false\n\t}`)\n\n\treq, err := http.NewRequest(\"POST\", \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions\", bytes.NewReader(payload))\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_API_KEY\"))\n\treq.Header.Set(\"Content-Type\", \"application\u002Fjson\")\n\n\tresp, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer resp.Body.Close()\n\n\tbody, _ := io.ReadAll(resp.Body)\n\tfmt.Println(string(body))\n}\n```\n:::\n::\n\n响应（OpenAI 格式）：\n\n```json\n{\n  \"id\": \"chatcmpl-xxxx\",\n  \"choices\": [\n    {\n      \"message\": {\"role\": \"assistant\", \"content\": \"你好！有什么可以帮你的吗？\"},\n      \"finish_reason\": \"stop\"\n    }\n  ],\n  \"usage\": {\"prompt_tokens\": 20, \"completion_tokens\": 15, \"total_tokens\": 35}\n}\n```\n\n兼容入口允许透传对应协议的额外字段。流式输出与多模态输入见[概述](\u002Fzh-cn\u002Fdocs\u002Fmodels\u002Fchat\u002Foverview)。\n",[],{"title":107,"description":844},"nf4N5REQS3U1q6LwPJ9MXFKDbIYuOXsVmo9XW8rKprY",{"found":327,"operationId":852,"summary":853,"description":854,"method":179,"path":180,"publiclyDiscoverable":327,"security":855,"parameters":859,"requestBody":860,"responses":891},"createOpenAIChatCompletion","OpenAI Chat Completions","OpenAI Chat Completions 兼容入口，额外字段按模型能力透传。",{"schemes":856,"optional":43},[857,858],"BearerAuth","ApiKeyAuth",[],{"present":327,"required":327,"description":198,"contentType":861,"type":862,"fields":863,"variants":890},"application\u002Fjson","OpenAIChatRequest",[864,867,870,873,876,880,884,887],{"name":865,"type":866,"required":43,"description":198},"max_tokens","integer",{"name":868,"type":869,"required":327,"description":198},"messages","array\u003CMessage>",{"name":871,"type":872,"required":327,"description":198},"messages.content","string | array\u003CFreeFormObject>",{"name":874,"type":875,"required":327,"description":198},"messages.role","string (system | user | assistant | tool)",{"name":877,"type":878,"required":327,"description":879},"model","string","SilvaMux 模型 id 或 alias。",{"name":881,"type":882,"required":43,"description":198,"defaultValue":883},"stream","boolean","false",{"name":885,"type":886,"required":43,"description":198},"temperature","number",{"name":888,"type":889,"required":43,"description":198},"tools","array\u003CFreeFormObject>",[],[892,907],{"status":893,"description":894,"contentType":861,"type":895,"fields":896},"200","OpenAI Chat JSON 或 SSE 响应。","OpenAIChatResponse",[897,899,901,902,904],{"name":898,"type":889,"required":327,"description":198},"choices",{"name":900,"type":878,"required":327,"description":198},"id",{"name":877,"type":878,"required":43,"description":198},{"name":903,"type":878,"required":43,"description":198},"object",{"name":905,"type":906,"required":43,"description":198},"usage","FreeFormObject",{"status":908,"description":909,"contentType":861,"type":910,"fields":911},"default","OpenAI 兼容错误。","OpenAIError",[912,914,917,919],{"name":913,"type":903,"required":327,"description":198},"error",{"name":915,"type":916,"required":43,"description":198},"error.code","string | integer",{"name":918,"type":878,"required":327,"description":198},"error.message",{"name":920,"type":878,"required":43,"description":198},"error.type"]