MLC-MiniCPM API参考:把OpenAI兼容REST接口接入你自己的App(附示例)

📅 2026/8/24 9:29:55
MLC-MiniCPM API参考:把OpenAI兼容REST接口接入你自己的App(附示例)
MLC-MiniCPM API参考把OpenAI兼容REST接口接入你自己的App附示例【免费下载链接】mlc-MiniCPMMiniCPM on Android platform.项目地址: https://gitcode.com/gh_mirrors/ml/mlc-MiniCPMMLC-MiniCPM 是一款支持本地部署大语言模型的开源项目其内置的OpenAI 兼容 REST API让你无需重写业务代码就能把 MiniCPM 等本地模型接入自己的 App、脚本或 Agent 系统。本文将带你快速启动 MLC-MiniCPM 的 REST 服务并给出 Python 与 OpenAI SDK 两种接入方式的完整示例。为什么选择 MLC-MiniCPM 的 REST 接口大多数开发者都熟悉 OpenAI 的chat/completions协议。MLC-MiniCPM 的 rest.py 基于 FastAPI 实现了一个协议完全对齐的本地服务端意味着零改造把base_url从 OpenAI 换成http://127.0.0.1:8000/v1即可本地推理数据不出本机隐私敏感场景医疗、法务、金融友好多语言统一REST 是统一接口Python、Node.js、Go 甚至移动端 App 都能直接调用。一键启动 MLC-MiniCPM REST 服务安装mlc_chat包后可pip install mlc-ai-nightly mlc-chat-nightly或克隆仓库https://gitcode.com/gh_mirrors/ml/mlc-MiniCPM后按文档构建一条命令即可启动python -m mlc_chat.rest --model MODEL [--device auto] [--host 127.0.0.1] [--port 8000]常用启动参数定义于 RestAPIArgs参数说明默认值--model模型文件夹名或路径如Llama-2-7b-chat-hf-q4f16_1必填--lib-path模型库文件.so完整路径自动查找--device运行设备cuda、metal、vulkan、rocm、opencl、autoauto--host服务绑定地址127.0.0.1--port服务端口8000启动后访问http://127.0.0.1:8000/docs可以看到交互式 API 文档页面方便在线调试。MLC-MiniCPM REST API 端点速查端点方法作用/v1/chat/completionsPOSTOpenAI 风格对话补全支持流式与 Function Calling/v1/completionsPOST传统 prompt 补全/v1/embeddingsPOST文本向量化可用于 RAG 检索/chat/resetPOST重置会话历史/stats//verbose_statsGET获取推理性能统计encode/decode 速度/v1/llm-vscode/completionsPOST代码补全面向编辑器集成OpenAI 兼容参数说明/v1/chat/completions请求体与 OpenAI 协议保持一致定义见 openai_api.py常用字段model必填模型名与服务端启动时一致即可messages必填消息列表role为user或assistant最后一条应为userstream设为true时以 SSE 流式返回temperature/top_p采样温度与核采样阈值repetition_penalty/presence_penalty/frequency_penalty重复抑制参数max_gen_len生成长度上限对应 OpenAI 的max_tokensstop遇指定字符串立即停止tools/tool_choiceFunction Calling支持auto、none或强制指定函数。用 requests 三行代码接入 MLC-MiniCPM最轻量的接入方式直接 POST JSON完整示例见 sample_client.pyimport requests payload { model: vicuna-v1-7b, messages: [{role: user, content: 写一首俳句}], stream: False } r requests.post(http://127.0.0.1:8000/v1/chat/completions, jsonpayload) print(r.json()[choices][0][message][content])用 OpenAI SDK 无缝替换 API 地址如果项目里已经在用 OpenAI 官方 SDK只需改一行配置即可迁移到本地模型import openai openai.api_key None openai.api_base http://127.0.0.1:8000/v1 completion openai.ChatCompletion.create( modelvicuna-v1-7b, messages[{role: user, content: 写一首关于春天的诗}] ) print(completion.choices[0].message.content)Node.js 侧同理把 SDK 的basePath指向http://127.0.0.1:8000/v1参考 sample_openai.js。流式输出边生成边推送将请求中的stream设为true服务端会以text/event-stream逐块返回每块以data:前缀开头结束标志为data: [DONE]。消费端只需剥掉前缀后解析choices[0].delta.contentwith requests.post(url, jsonpayload, streamTrue) as r: for chunk in r: line chunk[6:].decode(utf-8).strip() if line [DONE]: break import json print(json.loads(line)[choices][0][delta].get(content, ), end)这种模式适合做聊天界面打字机效果用户体验接近云端 API。进阶Embeddings 与 LangChain 集成/v1/embeddings端点可对文本生成归一化向量配合 MLCEmbeddings 可以零成本搭建本地 RAG 问答系统——对话链、问答链、向量检索的完整示例见 sample_langchain.py。此外/stats端点可实时监控 token 生成速度方便你做性能调优。常见问题Q连接被拒绝确认服务已启动且端口一致默认只监听127.0.0.1跨机器访问需加--host 0.0.0.0并注意防火墙。Qmodel字段填错会怎样请求体中的model需与启动服务时加载的模型对应否则可能报错。Q支持并发吗当前为单会话模型多次chat/completions调用间用statelessTrue重置上下文适合独立请求多轮对话请在messages中自行携带历史。小结MLC-MiniCPM 的 REST 接口与 OpenAI 协议高度兼容——启动服务、改一行base_url、复用现有 SDK三步即可把本地大模型能力注入你的应用。完整端点细节可参考官方文档 rest.rst。【免费下载链接】mlc-MiniCPMMiniCPM on Android platform.项目地址: https://gitcode.com/gh_mirrors/ml/mlc-MiniCPM创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考