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