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